Hallo! Ich möchte Messwerte, die ich mit Hilfe des internen ADC ermittelt habe, über die serielle Schnittstelle an einen Computer weitersenden. Ich verwende einen PIC 16f877, weiß aber nicht wie ich das Problem am besten angehen soll. Kann mir bitte jemand ein paar Tips u. Trick bzw. ein Beispiel posten! Ich wäre echt dankbar!!!
Wenn du noch bis über das WE warten kannst, weiss ich bestimmt auch mehr. Habe gerade ein Dev. Board mit dem 16F877 und werdfe mich damit Beschäftigen.
Hallo, lies dir mal im Datenblatt Kapitel 10.1 und 10.2 durch. Dort ist sehr gut verständlich erklärt, wie der UART initialisiert werden muß. Sollte eigentlich keine Probleme bereiten. Hilft dir das weiter ? Thorsten
Mit dem Datenblatt habe ich mich soweit schon auseinandergesetzt, das ist aber leider nur graue Theorie... Bis jetzt funktioniert die Kommunikation (Übertragung eines fixen, fiktiven Wertes) auf den Comp. noch nicht. @Marcel: wäre echt super! Danke für die Antwort!!!
So viel Theorie ist das nun auch nicht. Eher reine Praxis. UART (TXSTA,RCSTA,BRG,TRISC) nach Datenblatt initialisieren, zu sendenden Wert in TXREG laden, TXEN=1 und ab geht die Post. Ein Beispiel in Assembler findest Du in der Codesammlung unter Minniterminal mit Nokia 3310 Display. Ist zwar für einen 16F628 aber das Prinzip ist identisch. Steffen
Ich hoffe, das hilft dir. Gruß, Dirk. #define FOSC D'4000000' #define BAUDRATE D'19200' #define BAUDRELOAD (FOSC/(D'16'*BAUDRATE))-1 USART_INIT BANK_0 movlw B'10010000' movwf RCSTA BANK_1 movlw B'10100100' movwf TXSTA movlw BAUDRELOAD ; Wird in "CONST.H" definiert... movwf SPBRG BANK_0
Das brauchst du auch noch:) Parameterübergabe über´s Wreg... SEND_CHAR btfss PIR1,TXIF ; Letzte Übertragung fertig? goto $-1 ; Nein... movwf TXREG RETURN
danke für euere hilfe! ich bin dem ganzen jetzt ein schritt näher gekommen.
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.