Hi arbeite nicht solange mit uC bis jetzt nur mit 12F675. Wollte lediglich nur eine Bildschirmausbabe(Hello World) mittels Hyperterminal und RS232 erreichen bzw eine komunikation. Meine Vorgenehnweise war: 1.Mit keil ein Hex-file erzeugt. 2.geflasht mit 16W tool. 57.600baud 3. Mit Hyperterminal versucht auszugeben, fehlgeschlagen. es wird zwar was ausgegebn (z.B. ei oder lauter dreiecke sowie eine endlosschleife) ist aber nicht das richtige. den Quellcode hab ich im anhang mit beigefügt. der uC ist übrigens auf einem HD200 von phyton drauf. Danke für jede hilfe MfG Gena
hab auch schon mit dem c167 gespielt. für ausgaben auf den pc hab ich jeweils flashit verwendet (naja sollte ja fisch wie vogel sein)... hast du den grundstock deinen programmes mit DAvE gemacht? Wenn ja, hab da die Funktioin ASC_vSendData verwendet (habs leider nie mit printf probiert). P.S. ich würde mal die einstellungen de seriellen schnittstelle überprüfen, änderst du was bei der initialisierung? (hab mal die bautrate falsch eingestellt, da kamen auch lustige werte an, die jenseits der realität lagen...)
p.s. weiss nicht ob printf das regelt, aber bist du sicher das das senderegister nicht schneller überschrieben wird als gesendet werden kann?
Nein Mit keil uvision3. und mit flashtool W16 geflashed. Die Baudrate beim flashen ist 57600 und beim lesen mit hyperterminal liegt bei 9600. Sind die werte Etwa nicht ok??
Gena wrote: > Die Baudrate beim flashen ist 57600 und beim lesen mit hyperterminal > liegt bei > 9600. Sind die werte Etwa nicht ok?? Woher soll man das wissen? Du schreibst:
1 | S0BG = 0x40; /* set baudrate to 9600 baud */ |
Woher hast Du diese ominöse 0x40? Ich benutze den 8051 und da lasse ich einfach die Baudrate den Compiler selber ausrechnen:
1 | #define XTAL 11.0592e6
|
2 | #define BAUD 19200
|
3 | |
4 | RCAP2W = (unsigned int) -(0.5 + XTAL / 32.0 / BAUD); |
Geht bei Dir auch. Du must nur aus Deinem Datenblatt die Formel für die Baudrate abschreiben und natürlich die Quarzfrequenz definieren, die auf Deinem Board bestückt ist. Peter
Wie schon Peter gesagt hat. Lese erstmal im Datenblatt nach, wie sich der set baudrate Wert zusammensetzt. Dann solltest du das Hyperterminal richtig einstellen -> richtige Baudrate und soweiter... Diese Baudrate hat nichts mit der Baudrate beim Flashen zu tun! Also probiere es nochmal.
Hi hat entlich alles geklappt. hab jetz allerdings ein neues Problem, ich muss über die RS232 schnittstelle ASCII_Werte empfangen und dann weiter ausgeben. Wie mache ich das am besten?? gibt es was fertiges??? danke
Hi sorry bin noch nicht so lange dabei. aber wie bind ich sollche klassen in mein pragramm ein, hab da ein gefunden http://msdn2.microsoft.com/de-de/library/system.io.ports.serialport.aspx. sprich. wie gehe ich jetzt am besten vor?? am besten step by step oder gibt es eine howto?? 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.