共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
我要赚赏金
