Hallo. Ich bin auf der suche nach Hilfe :) Hab einen µC 8051 und will die Serielle Schnittstelle ansprechen. Ich hab es geschafft das ich senden kann aber naja es kommen nur kommische Zeichen Raus. Less den Port mit einem VB Programm aus. Ich will nur ein Zeichen senden und es soll auch dieses Zeichen übertragen werden. Hat jemand eine Idee oder einen kleinen Quellcode ? grüße J
Gast
#783087
Wenn schon etwas ankommt, ist es immerhin nicht der falsche Timer (ein Fehler, den ich mal an dieser Stelle gemacht habe). Ich würde mir eher um die Quarzfrequenz sorgen machen. Wieviel Abweichung hat die Baudrate, rechnerisch? Und ist der Pegelwandler (MAX232 o.ä.) in Ordnung?
Gast
#783089
Ein Test mit Terminalprogramm kann auch nicht schaden. Wenn's kein ASCII ist: Es gibt auch binäre Terminalprogramme. Hatte mal eines, habe aber leider den Namen vergessen.
Gast
#783102
Hallo! Sind die Baudraten von µC und dem VB-Programm gleich eingestellt? Ich habe die serielle Schnittstelle bei meine AT89C51ED2 immer so initialisert (in C!):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Die Berechnung der Baudraten ist im Datenblatt zu finden. Welche Entwicklungsumgebung verwendest du? Bei Keil µVision2 (oft reicht die Freeware- Version aus) können Daten formatiert per printf() über die serielle Schnittstelle gesendet werden. Sonst probiers mal mit dem Terminalprogramm hterm (da kannst du dir die Übertragenen Binärdaten anschauen...) lg markus
Gast
#783108
Hallo Jan hier ein Link für ein Terminalprogramm. http://www.docklight.de/ die Demo reicht gruß hans
Ich danke euch schon mal :) Werd mal schauen wie ich das ändern kann :) Im mom kommt nur datenmüll hehe und die baudraten sind alle auf 9600 eingestellt. werd mich nun mal dran setzten und alles überprüfen :)
Hi Hab es gehschafft zu senden :). es lag an der Baudrate. Nun hab ich aber noch ein Problem. Würd gerne ein einzelnes Bit eines Registers Ansprechen wie z.B. R0.1 und R0.2 Nun meine Software sagt das es nicht geht. Wie könnte ich das realisieren ??
Jan Stiels wrote: > Hi > Hab es gehschafft zu senden :). es lag an der Baudrate. > > Nun hab ich aber noch ein Problem. > Würd gerne ein einzelnes Bit eines Registers Ansprechen wie z.B. R0.1 > und R0.2 > Nun meine Software sagt das es nicht geht. > Wie könnte ich das realisieren ?? Du kannst Register auch nicht bitweise adressieren. Das geht nur im Akku sowie in dem speziellen, dafür ausgelegten RAM-Bereich. Ansonsten noch mit maskieren und schieben, aber das macht auf dem 8051 keinen Sinn, wenn man eh bitadressieren kann.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.