Forum: Mikrocontroller und Digitale Elektronik senden über serielle Schnittstelle mit PIC16f877


von Lyric (Gast)


Lesenswert?

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!!!

von Marcel (Gast)


Lesenswert?

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.

von Thorsten (Gast)


Lesenswert?

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

von Lyric (Gast)


Lesenswert?

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!!!

von Steffen (Gast)


Lesenswert?

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

von Dirk Schnitzler (Gast)


Lesenswert?

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

von Dirk Schnitzler (Gast)


Lesenswert?

Das brauchst du auch noch:)
Parameterübergabe über´s Wreg...

SEND_CHAR
  btfss  PIR1,TXIF    ; Letzte Übertragung fertig?
  goto  $-1      ; Nein...
  movwf  TXREG
  RETURN

von Lyric (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.