| 我刚刚也遇到了一样的问题,经过检查是在读取AD转换结果的函数中,发送了地址和读控制之后,不可以立刻进行读取,而是先WaitACK()等待应答(也就是楼主代码的162行和163行中间),等SDA总线拉高之后再开始读取,否则读回来最大值只会是01111111,而不是11111111,希望可以帮助到大家。 |
| 我天我也遇到了一样的问题 |
|
本帖最后由 zl2168 于 2018-8-17 22:05 编辑 实例85 PCF8591 I2C串行A-D(1602显示) 先Proteus仿真一下,确认有效。
实例85 PCF8591 I2C串行A-D.rar
(57.96 KB, 下载次数: 29)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1书中电路和程序设计有详细说明,程序语句条条有注解。 |
|
开发板上也是这样 |
| 头很大啊 开发板上面也是这个情况 |