共2条
1/1 1 跳转至页
i2c,pcf8563 求助:i2c器件pcf8563
问
output_data后,将sda置1后,设置为输入方向
1,我写器件地址0xa2,可以获得ack=0(sda为低),然后再写寄存器地址(0x00,0x02,0x03都试过),得到ack=1
2,写器件地址0xa3,获得ack=0,调用input_data读一个数据,得到的是0xff
output_data后,将sda置0后,设置为输入方向
3,写器件地址0xa3,获得ack=0,每次读一个数据,读得的数据有0xff,0xef,0xdf,0xbf,0x7f,出现的顺序和次数好像没什么规律
我用循环从0x00到0xff试过器件地址,只有0xa2,0xa3得ack=0,因此可以得出结论器件是工作的
也试过寄存器地址,没有一个得ack=0
电路我也做过两块,情况都是一样的
估计真的要高手才能解答了,我打电话问过技术支持,他们所从来没有碰到过这种情况
答 1: 楼主没说用的什么单片机呢?要求发电路图、PCB连接部分的截图和程序流程图,可以帮你分析。不可能有这么奇怪的问题出来。 答 2: 给个小提醒IIC总线发数据过去时,从器件(你的就是pcf8563)不一定每次都会回应一个低的ACK信号。一般这里设个纠错机制,发数据过去,开始等ACk信号,如果一定时间内等不到,说明数据没正确接收,此时重发,再等,不行再来,就这样搞就得。
1,我写器件地址0xa2,可以获得ack=0(sda为低),然后再写寄存器地址(0x00,0x02,0x03都试过),得到ack=1
2,写器件地址0xa3,获得ack=0,调用input_data读一个数据,得到的是0xff
output_data后,将sda置0后,设置为输入方向
3,写器件地址0xa3,获得ack=0,每次读一个数据,读得的数据有0xff,0xef,0xdf,0xbf,0x7f,出现的顺序和次数好像没什么规律
我用循环从0x00到0xff试过器件地址,只有0xa2,0xa3得ack=0,因此可以得出结论器件是工作的
也试过寄存器地址,没有一个得ack=0
电路我也做过两块,情况都是一样的
估计真的要高手才能解答了,我打电话问过技术支持,他们所从来没有碰到过这种情况
答 1: 楼主没说用的什么单片机呢?要求发电路图、PCB连接部分的截图和程序流程图,可以帮你分析。不可能有这么奇怪的问题出来。 答 2: 给个小提醒IIC总线发数据过去时,从器件(你的就是pcf8563)不一定每次都会回应一个低的ACK信号。一般这里设个纠错机制,发数据过去,开始等ACk信号,如果一定时间内等不到,说明数据没正确接收,此时重发,再等,不行再来,就这样搞就得。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
| 传感器LSM6DSO及LIS3MDL的功能检测被打赏¥18元 | |
| LPS25HB气压传感器及其检测被打赏¥18元 | |
| HTS221温湿度传感器及其检测被打赏¥18元 | |
| 【S32K3XX】HSE FW 版本更新被打赏¥21元 | |
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
我要赚赏金
