Problem mit pic16f87 mikroBASIC

Z

zkt

Guest
Der folgende Code läuft gut, wenn der Wert der Biss in die Sub-Prozedur I2C_send_byte eingestellt ist. Aber wenn vor dem Aufruf setzen Sie die sub, sda nicht ändert, wenn der Code ausgeführt wird in der Sub. Und scl Änderungen ordnungsgemäß innerhalb und außerhalb der Sub. Von den zwei Arten des Schreibens der IF line weder das eine funktioniert. Ich bin fest. Jede Hilfe willkommen.
Code:
-Programm am Sonntag pic 16F87 dim beißen, bit, tmp als byte 'dim const tda_adr als Byte =% 10001000 sub Verfahren I2C_send_byte "Biss =% 10101010 ohne diese Linie verursacht sda nicht für etwas zu ändern = 0 bis 7 trisb = 0 delay_us (50) 'If ((Biss und 128) = 128) Dann, wenn beißen und 128 = 128 dann TRISA = 128' gesetzt tda hoch, wenn aktuelle tda_data etwas hoch sonst TRISA = 0 'else gesetzt tda unteren Ende ist wenn bite = beißen portb ausgegeben. seit portb = 0 portb.7 = logisch 0 TRISA = 128 delay_us (50) TRISA = 0 'trisb = 128 => portb.7 eingegeben wird. mit nichts, um die Spannung zu niedrig delay_us (50) 'pull Rpu werden wird ziehen die Spannung hoch und portb.7 = high trisb = 0 return i2c_stop: delay_us (50) trisb = 1 TRISA = 0 delay_us (50) TRISA = 128 delay_us ( 50) return end.
 
Es keine Lösung bisher. Kampf bereit, schreiben Sie es in asm und schreiben mikroBASIC off für eine gute
 

Welcome to EDABoard.com

Sponsor

Back
Top