共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |