Hallo, ich will an meinen Mikrocontroller auf dem STK500 eine dezimale 1 oder 0 schicken. Dazu verwende ich den PC und ein Terminal-Programm, welches über eine RS232-Schnittstelle mit dem STK500 verbunden ist. Wie kann ich kontrollieren ob diese Daten auch wirklich an dem RX Pin auf dem STK500 ankommen? Gruß
Nunja, entweder mit dem angeschlossenen Controller oder einem Oszi. Allerdings wirst du mit dem Oszi nicht erkennen können, was wirklich ankommt, nur ob etwas ankommt (Es sei denn hast ein DSO und kannst es entsprechend triggern).
Hallo, gibt doch viele Möglichkeiten. -- die Daten vom Mikrocontroller wieder zurück schicken (=> ECHO) -- auf LCD anzeigen lassen (falls vorhanden) -- Empfangsregister mit ensprechenden Referenzwert vergleichen und dann Port setzen (z.B. LED) -- oder einfach messen, z.B. Speicheroszi (wahrscheinlich nicht vorhanden) usw. Gruß
Hi, zum testen habe ich ein Programm geschrieben welches die empfangenen Daten (1 oder 0) an die LED's ausgibt(an bzw. ausschaltet). Doch das hat nicht funktioniert. Jetzt habe ich gerade mit nem Osc. den RXD Pin auf dem STK500 gegen Masse gemessen, um zu schauen ob dort überhaupt etwas ankommt. Doch dort liegt die ganze Zeit ein Pegel von 5V an. Im Maual des STK500 ist zwar irgendwie beschrieben, das ein 5V Converter zwischen dem RS232(SPARE) und den TXD/RXD Pins sitzt, aber so ganz kapier ich das nicht. Wenn ich direkt am Kabel Messe passt das Signal.... Warum kommt das da nicht so an? Muss ich irgendwas am Board umstellen? Jumper? Gruß
hast du denn auch die RS232 Spare mit einem 2pol. Kabel an den richtigen Port deines Controllers angeschlossen? Für einen Mega16/32 z.B. muss das Kabel RXD an PD0 und TXT an PD1 verbunden werden. Der Pegelwandler ist nötig weil die RS232 ja nicht mit den Spannungen arbeitet die der Controller verträgt.
Da sitzt in der Tat ein Max202. Hast du die Rx und Tx von der Spare-Schnittstelle an die RxTx Pins des Mikrocontrollers angeschlossen?
hi, ich würde versuchen erst was von uC zum PC zu schicken, wenn das geht ists vielleicht einfacher, da man sich sicher ist das wenigstes etwas funktioniert (z.b. der richtige Takt im STK 500 verwendet wird, da kann man ja zwischen internem Takt des uC und externen Takt vom Board usw. wählen ..... chris
Sind auch die richtigen Pins, hab ich noch mal im Datenblatt nachgeschaut. Vielleicht liegt es aber auch an meinem Programm.... Hab es mal angehängt.....
Hi #define UBRR ((FOSC/16*(BAUD))-1) muss heißen #define UBRR ((FOSC / (BAUD * 16L)) - 1) oder #define UBRR (FOSC / ( 16L*BAUD) - 1) UCSR0C = (1<<USBS0) | (3<<UCSZ00); Muss ins UCSRC = (1<<URSEL)| (1<<USBS) | (3<<UCSZ0); Geändert werden, wegen der URSEL siehe dein Datenblatt zum Controller Ich hoffe des steht bei allen so drinnen. Nach dem if (UCSR0A & (1 << RXC0)) { solltest du die empfangenen Daten auch mal an den buffer geben. buffer = UDR; Deine Registernamen solltest du wieder anpassen. Gruß MISZOU
Hi MISZOU, du bist der beste! Vielen Dank! Jetzt funktioniert alles! Hab schon echt verzweifelt! Vielen vielen Dank euch allen für die Hilfe.....!!! Gruß
hallo,leute ich möchte euch alle begrüßen als Neuankommende ;) verzweifelt habe ich ältere Einträge durchgesucht nach der Beschreibung meines Stefans-ähnlichen Problem.Ich benutze auch stk500 mit atmega8515 und programmiere mittels Assembler in Avr studio. Es funktioniert alles bis auf UART/receive/transmit Sache.Ich kann es nicht die "rs232 spare" zum receive/transmit bringen :( Ich benutze nullmodem kabel um pc mit stk500 zu verbinden,auch "serial port terminal" programm,das mir erlaubt "connect the port" und binären code zu schicken, es kommt auch etwas an der rs232sp. an. Ich hab auch die Rx und Tx von der Spare-Schnittstelle an die RxTx Pins des Mikrocontrollers angeschlossen. Kann es vielleicht an der Einstellung der Avr studio liegen oder an Assebler code? Ich werd euch sehr dankbar wenn jemand die Zeit opfert,um die Fehler zu finden und darauf zu deuten code als Dateianhang,mfg danke
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.