- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Bascom-Programm in C-Programm übersetzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Hatte gerade etwas Langeweile. Habe aber den Prescaler nicht und eine interne Referenzspannung scheint es beim tiny10 nicht zu geben.
    Habe es auch nicht getestet oder sonstige Änderungen vorgenommen, nur 1:1 in C.

    Code:
    /*
     *
     */ 
    #include <avr/io.h>
    #include <util/delay.h>
    
    
    
    
    void Init(void);
    uint8_t Read_Adc(uint8_t channel);
    void TimerOn(void);
    void TimerOff(void);
    
    
    
    
    int main(void) {
    	uint8_t ret = 0;
    	
    	Init();
    	
    	while(1) {
    		ret = Read_Adc(3);
    		
    		if(ret > 120 && ret < 250) {
    			TimerOn();
    		} else {
    			TimerOff();
    			_delay_ms(1000);
    			
    			TimerOn();
    		}
    		_delay_ms(1000);
    	}
    	
    	return 0;
    }
    
    
    
    
    void Init(void) {
    	// PB1 out
    	DDRB |= (1<<PB3);
    	
    	// Enable ADC
    	ADCSRA |= (1<<ADEN);
    	
    	// Prescaler ?
    	ADCSRA |= (1<<) | (1<<);
    	
    	// no internal ref on tiny10
    }
    
    
    uint8_t Read_Adc(uint8_t channel) {
    	ADMUX = (ADMUX & ~(0x1F)) | (channel & 0x1F);
    	ADCSRA |= (1<<ADSC);            // eine Wandlung "single conversion"
    	while(ADCSRA & (1<<ADSC));    // auf Abschluss der Konvertierung warten
    	
    	return ADCL;
    }
    
    
    void TimerOn(void) {
    	TCCR0A = 0x42;
    	
    	TCCR0B = 0x09;
    	
    	OCR0A = 0x40;
    }
    
    
    void TimerOff(void) {
    	TCCR0A = 0x02;
    }
    mfg

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    03.10.2013
    Beiträge
    11
    Ich danke Dir!
    Da muß ich wohl doch noch einiges ändern...
    Die Referenz ist nicht kritisch, es wird einfach Vcc benutzt. Aber der Timer im Tiny10 ist 16 Bit, im Tiny13 nur 8 Bit. Einen Prescaler gibt es,
    aber nur /8,/64,/256 und /1024. Dafür ist der ADC nur 8 Bit, beim Tiny13 10 Bit. Das ist alles unkritisch, wichtig ist nur die Frequenz
    am Ausgang von ca. 75kHz, +/- 2kHz.
    Allerdings habe ich jetzt ein Grundgerüst auf dem ich aufbauen kann!
    Jetzt muß ich noch einen Compiler suchen, der den Tiny10 kann.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    Zitat Zitat von joho63 Beitrag anzeigen
    Jetzt muß ich noch einen Compiler suchen, der den Tiny10 kann.
    Da bietet sich wohl das Atmel-Studio an...

Ähnliche Themen

  1. SD-Karte programm lässt sich nicht übersetzen - BASCOM-Bug?
    Von Bauteiltöter im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 18.04.2010, 16:33
  2. Hilfe: Programm übersetzen C -> BasCom
    Von samson2 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 22.02.2009, 16:22
  3. Hilfe: Programm übersetzen C -> BasCom [ Oszi Uhr ]
    Von tc-maxx im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 19.02.2009, 18:18
  4. eigenes programm schreiben und übersetzen
    Von proevofreak im Forum Robby RP6
    Antworten: 7
    Letzter Beitrag: 10.02.2008, 13:32
  5. Programm in Visual Basic Programm einbetten
    Von Sven04 im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 17.09.2007, 23:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress