So, nun habe ich alles was ich brauche ersteinmal hardewaremäßig aufgebaut, ich glaube da dürften nun keine fehler mehr vorhanden sein, allerdings funktioniert die funkübertragung nicht.
Code:
; ldi senden, '+' ;Konfigurationsmodus starten
; rcall RT868F5_Senden
; rcall RT868F5_Senden
; rcall RT868F5_Senden
;
; sbi PortD,6
;
; rcall RT868F5_Antwort_OK
;
; ldi senden, 'A' ;Register 5 = 0 (19200 Baud), EEPROM abspeichern, beenden
; rcall RT868F5_Senden
; ldi senden, 'T'
; rcall RT868F5_Senden
; ldi senden, 'S'
; rcall RT868F5_Senden
; ldi senden, '5'
; rcall RT868F5_Senden
; ldi senden, '='
; rcall RT868F5_Senden
; ldi senden, '0'
; rcall RT868F5_Senden
; ldi senden, ','
; rcall RT868F5_Senden
; ldi senden, 'W'
; rcall RT868F5_Senden
; ldi senden, 'R'
; rcall RT868F5_Senden
; ldi senden, ','
; rcall RT868F5_Senden
; ldi senden, 'C'
; rcall RT868F5_Senden
; ldi senden, 'C'
; rcall RT868F5_Senden
; rcall RT868F5_Antwort_OK
cbi PortD, 6
ret
;..............................
;... RT868F5 Antwort OK ...
;..............................
RT868F5_Antwort_OK:
empfangen_OK1: ;Antwort OK<CRLF>
sbis UCSRA, RXC
rjmp empfangen_OK1
in temp, UDR
cpi temp, 'O'
brne Fehler_RT868F5
empfangen_OK2:
sbis UCSRA, RXC
rjmp empfangen_OK2
in temp, UDR
cpi temp, 'K'
brne Fehler_RT868F5
empfangen_OK3:
sbis UCSRA, RXC
rjmp empfangen_OK3
in temp, UDR
cpi temp, 13
brne Fehler_RT868F5
empfangen_OK4:
sbis UCSRA, RXC
rjmp empfangen_OK4
in temp, UDR
cpi temp, 10
brne Fehler_RT868F5
ret
;..........................
;... RT868F5 Fehler ...
;..........................
Fehler_RT868F5:
sbi PortD, 6
rjmp Ende
;..........................
;... RT868F5 Senden ...
;..........................
RT868F5_Senden:
sbi PortD,6
sbis UCSRA,UDRE ; Warten bis UDR für das nächste Byte bereit ist
rjmp RT868F5_Senden ; Ruft Senderoutine auf
out UDR, Senden ; Nachricht absenden
cbi PortD,6
ret
Kurze erklärung was gemacht werden soll bei der initialisierung des funkmoduls:
Senden von "+++" ... wechselt in den Konfigurationsmodus
Funkmodul antwortet mit "OK<CRLF>"
Senden von "ATS5=0,WR,CC" ... stellt alles ein
Funkmodul antwortet mit "OK<CRLF>" und verlässt den konfigurationsmodus.
Weil der Controller allerdings nicht OK empfängt, sondern in dieser schleife immer hängen bleibt, weil er einfach nichts erhält, dachte ich mir ich wechsle auf 9600 baud, denn bei dieser baudrate muss ich nicht in den konfigurationsmodus. Allerdings funktioniert der Funk trotzdem nicht.
Weiß irgendjemand noch einen trick wie man feststellen kann was jetzt nicht funktioniert?
Lesezeichen