Hallo,
ich habe 2 Module mit je einem SN751768 RS485 Treiber. Ich versuche mit folgenden Codes ein Byte von einem zum anderen Modul zu übertragen:
Empfänger :
Sender :Code:'----------------- CPU Config --------------------------- $regfile = "m16def.dat" $crystal = 8000000 $baud = 1200 '--------------- Portdefinition ------------------------ Config Porta = Output Config Portb = Output Config Portd.7 = Input Config Portd.6 = Input Config Portc = Output Config Portd.2 = Output '---------------------------------------- LCD ---------------------------------- Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5 '----------------------------------- Timer -------------------- Enable Interrupts '-------------- Alias ----------------------------------- Led1 Alias Porta.7 Led2 Alias Porta.6 Led3 Alias Porta.5 Led4 Alias Porta.4 Backlight Alias Portb.4 Rs485 Alias Portd.2 '-------------------------- RS485 ----------------------- Rs485 = 0 On Urxc Onrxd Enable Urxc '-------------------- Dims --------------------------- Dim Wert As Byte '------------------- Main ------------------------------- Cls Cursor Off Noblink Backlight = 1 Led2 = 1 Led3 = 1 Led4 = 1 '-------------------- Hauptprogramm --------------- _start: nop Goto _start '---------- Einlesen ---------- Onrxd: Inputbin Wert Locate 1 , 1 Lcd Wert Return
Nur leider zeigt mein Display beim Empfänger nur "105" egal was ich mache, werden nur 3 Zeichen angezeigt. Könnte bitte mal jemand drüber schauen, ob ich einen Fehler gemacht habe ?Code:'------------------------ CPU Config ------------------------- $regfile = "m8def.dat" $crystal = 8000000 $baud = 1200 '------------------------ Port Config -------------------------- Config Portb = Output Config Portd.2 = Output '------------------------ Alias ---------------------------------- Rs485 Alias Portd.2 '-------------------------- Subs ------------------------------- '--------------------------- RS485 ------------------------------- Rs485 = 0 Enable Interrupts '----------------------------- Dims ------------------------------ Dim I As Byte I = &B11111111 '---------------------------------- Mainprogramm ------------------ Main: Rs485 = 1 Print I Do Loop Until Ucsra.txc = 1 Set Ucsra.txc Rs485 = 0 Wait 1 Goto Main
mfg BlaueLed
PS: Abschlusswiderstände von je 160 Ohm habe ich an A und B







Zitieren

Lesezeichen