hallo mein problem ist das atmega128 wahrscheinlich ungewollt resetet. das programm schaut folgendermassen aus #include <avr/io.h> #include <avr/signal.h> #include <stdlib.h> #include <util/delay.h> void uart_init_0 (void) { UBRR0H = 0; UBRR0L = 25; UCSR0B=(1<<RXEN0)|(1<<TXEN0); /* enable send and recieve */ UCSR0C=(1<<UCSZ01)|(1<<UCSZ00); } int main(void) { uart_init_0(); UDR0=0x20; while(1) { /* Wait for empty transmit buffer */ while ( !( UCSR0A & (1<<UDRE)) ) ; /* Put data into buffer, sends the data */ UDR0 = 0x74; } UDR0=0x21; return 0; } ueber sie serielle empfange ich folgende daten: ttttttttttttttttttô ttttttttttttttttttttttttttttô tttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ttttttttttttttttttttttttttttô ... und so weiter. eigentlich sollte ich ja nur "ttttt" empfangen da leerzeichen (0x20) nur vor der while schleife ausgegeben wird? hat von euch einer ne idee??? bin hier echt am verzweifeln.
@Axel: Eine Funktion vom Typ "void" kann keinen Wert zurückgeben, also darf da auch kein return hin.
Versorgungsspannung? Ist die stabil genug? Lass dir doch mal die letzte Reset-Quelle ausgeben.
danke erstmal fuer die schnellen antworten. bin leider kein profi deshalb weiss ich nicht ob ich alle loesungsvorschlaege richtig verstanden habe. VM-Rauhl hast du mit letzter resetquelle das MCUCSR register gemeint. habe es zuerst mal komplett auf null gesetzt und dann nochmal starten lassen. BIT 1 External Reset und BIT3 Watchdog Reset sind high. External Reset kommt wahrscheinlich vom Programmieren oder ?? Aber watchdog duerfte nicht high sein oder ??? also hattest du johnny.m wahrscheinlich den richtigen riecher. aber wieso ist der an, da muss ich doch in der Firmware register setzen oder ??? ist der vielleicht standartmässig eingeschaltet ??? auf jeden fall schonmal vielen dank bin jetzt schon ein gutes stueck schlauer
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.