Hallo zusammen, Hab heute versucht zu meinem UART nur meine ADCs zu initialisieren: Plötzlich funktionierte die UART Schnittstelle nich mehr. Ich versteh nun den Fehler nich. Sobald ich in RFS0 ne 1 reinschreibe, kommt beim senden vom µC an den PC nur noch Müll raus... Setz ich RFS0 auf 0 geht wieder alles einwandfrei. Hat da jemand ne Idee? Was hat denn die externe Referenz über Kondensator oder was haben allgemein die ADCs mit dem UART zu tun, dass diese sich beeinflusen. Hab leider bis jetzt keinen Zusammenhang gefunden... :( Ah nochwas: Benutze momentan das STK500 Board. Würd mich über jede Hilfe freuen! Cheers Carsten
Code? Abgesehen davon hat der ATMega8 nur einen ADC und nicht mehrere...
Stimmt, mit "ADCs" sind bei mir die Känale gemeint. ;)
1 | #ifndef F_CPU
|
2 | #define F_CPU 8000000UL
|
3 | #endif
|
4 | |
5 | /* 9600 baud */
|
6 | #define UART_BAUD_RATE 9600
|
7 | |
8 | void ADC_init() |
9 | {
|
10 | // AD initialisieren
|
11 | |
12 | ADMUX |= (1<<REFS0); |
13 | ADCSRA |= (1<<ADEN)|(1<<ADPS2); |
14 | }
|
15 | |
16 | int main(void) |
17 | {
|
18 | ports_init(); |
19 | ADC_init(); |
20 | uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); |
21 | sei(); |
22 | uart_puts("ATmega8"); |
23 | }
|
Die UART Funktionen sind von Fleury, nachdem ich dachte meine würden Fehler produzieren, aber da passiert dasselbe... Solange REFS0 den Wert 0 hat geht der UART...
...und was ist mit ports_init? Ohne das vollständige Programm kann man alles Mögliche vermuten!
ports init(); kann ich auch auskommentieren und es macht dasselbe. bei 0 gehts und bei 1 nich. Uart geht bis ich ADC_init(); aufrufe!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.