Z
zkt
Guest
下面的代码运行时咬的价值是内部子过程I2C_send_byte的罚款。但是,当设置才能调用子,SDA不改变,当代码在子运行。和SCL的变化正确内外之分。写作如果行没有一个工程两种方法。我卡住了。 [代码]任何帮助表示赞赏。星期日方案“PIC 16F87暗淡咬位,TMP字节”昏暗的常量tda_adr字节=%10001000子过程I2C_send_byte“咬=%10101010排除这一行的原因为位不改变SDA = 0到7 TRISB = 0 delay_us(50)“如果((咬和128)= 128),然后,如果咬和128 = 128,那么TRISA = 128'设置TDA高,如果当前tda_data位是其他高TRISA = 0'其他设置TDA低端如果咬咬PORTB输出。自PORTB = 0 portb.7 =逻辑0 TRISA = 128 delay_us(50)TRISA = 0“TRISB = 128 => portb.7输入。没有拉电压低delay_us(50)“RPU将拉电压高和portb.7 =高TRISB = 0返回i2c_stop:delay_us(50)TRISB = 1 TRISA = 0 delay_us(50)TRISA = 128 delay_us( 50)返回结束。[/CODE]