Hi PICture,
welche Software wolltest Du beschrieben haben? PIC oder PC-Seite?
Ich hab die PC Software in VB geschrieben sie ist Allerdings
nicht sehr leistungsfähig, da es nur ein versuch ohne ein 'Ziel'
war. Sie kann Bytes vom PIC empfangen und auch senden. Die
Zustände der Handshake Leitungen anzeigen und Teilweise setzen/löschen.
PIC Seite ist nicht schwer zu prog.. Hier ein bisschen Code. Ist Allerdings
aus mehreren Projekten zusammengestellt.
Bin auch noch nicht lang dabei (mit den PICs) und mache das nur als Hobby wenn ich Zeit hab.
Gruß David
Code:
; Interruptroutine für RS232-Empfang
org 4 ; Interrupt Adresse 4
int
movwf w_temp ; status retten
swapf STATUS,w
movwf status_temp
;RS232-Empfänger-Interupt?
btfss PIR1,RCIF
goto intEnde ; Interrupt kam von wo anders
movfw RCREG ; RS232-Register auslesen
movwf Zeichen ; und in den Speicher nach 'Zeichen' schreiben
movwf PORTD
bsf DatenSindDa,0 ; Kennzeichen für gültige Daten setzen
bcf PIR1,RCIF ; interrupt-Flag löschen
intEnde ; geretteten Status wieder zurückschreiben
swapf status_temp,w
movwf STATUS
swapf w_temp,f
swapf w_temp,w
retfie
; USART initialisieren
BSF STATUS,RP0 ; Bank1
MOVLW 0x20 ; Sender: RS232
MOVWF TXSTA ;
BCF STATUS,RP0 ; Bank 0
MOVLW 0x90 ; Empfänger: RS232
MOVWF RCSTA ;
; USART Baudrate einstellen
BSF STATUS,RP0 ; Bank1
MOVLW D'8' ; Set Baud rate 28800 BPS bei 4 MHz
MOVWF SPBRG
BSF TXSTA, BRGH ; BRGH=1
BCF STATUS,RP0 ; Bank 0
;Interrupts vorbereiten
BSF STATUS,RP0 ; Bank1
BSF PIE1,RCIE ; Enable receive interrupts
BCF STATUS,RP0 ; Bank 0
clrf PIR1 ; alle Interruptflags löschen
clrf PIR2
BSF INTCON,GIE ; generell Interrupts erlauben
BSF INTCON,PEIE ; Interrupts von Peripheriegeräten erlauben
Lesezeichen