Also, was du machst ist praktisch RS232 in Software implementieren.
Wenn du Hardware-UART verwendest, ist es aber deutlich einfacher und du brauchst dich nicht um den Timer zu kümmern.
Du brauchst nur eine Initialisierung für den UART:
und dann ne Routine zum Ausgeben:Code:; USART initialisieren BSF STATUS,RP0 ; Bank 1 MOVLW 0x20 ; MOVWF TXSTA ; MOVLW D'10' ; = 57 kbps bei 10 MHz MOVWF SPBRG BSF TXSTA, BRGH ; BCF STATUS,RP0 ; Bank 0 MOVLW 0x90 ; Empfänger: RS232 MOVWF RCSTA ; return[/code]Code:RS232out btfss PIR1,TXIF ; kann ich senden? goto RS232out movwf TXREG return
bzw. zum Empfangen:
Allerdings bin ich mir bei dem Empfangsabschnitt nicht mehr ganz so sicher, ob ich den noch richtig im Kopf hab (schaff inzwischen hauptsächlich mit C). Am besten einfach mal im Datenblatt nachschaun. Da findest du alles unter dem Begriff USART.Code:RS232in btfss PIR1,RCIF goto RS232in movwf RCREG return







Zitieren

Lesezeichen