最近再用pic普通io口模拟I2C与传感器bh1710进行通信,因为是模拟I2C,有些问题我不是太明白。
就我观察到的,pic模拟i2c主要有两种方式,我下面分别说明一下:
第一种方式,就是把io口数据寄存器初始值设为0,当想输出高电平时,就设为输入状态,引脚在外部上拉电阻的作用下自动拉高;当想输出低电平时,设置为输出状态,数据寄存器上的0就被输出到io口。
第二种方式,就是把io口设置为输出状态,输出0就是0,输出1就是1。
上面两种方式我都见过,不知道究竟哪一种更好,关键是现在我的程序还没有调通,所以也不知道是不是用的方式不对。
大家有什么意见,可以说一下吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不一定。PIC 有一种输出是用了开漏形式的,像 16F628A 的 RA4 脚,就可以使用你提到的第二种方法,不过只限此脚而已。
不好意思啊,时间太长了,程序已经没有了。
不过我有一点经验,就是第一次写的话,最好用示波器一个一个的看,开始,停止,发送一个字节。
等到都没有问题了,再整条命令的尝试
一周热门 更多>