44b0 IIC24cXX读问题分析

    貌似有一部分人在IIC的读部分碰到问题,或许是有BUG你没发现。也许这些问题只有我这个菜鸟才会碰见,不过我还是要说说,希望能帮到像我一样的菜鸟。这一部分属于裸奔,干操作系统的同志可以避开了。 44b0的IIC控制器感觉跟其他片子有点不同。因为在读的时候需要对IICCDS读两次才能读出有效的数据。至于第一次读出的数据是什么呢? 仿真了多次,的确就是写在IICDS的24Cxx的器件地址。需要首先将他读出之后,再读一次才能接收到有效数据。这种解释正好符合了三星的官方例程。而有些书上则省略了第一次读,所以在仿真的时候第一次读出的数据往往是错误的。 这个问题困扰了我很久,因为开始我写的代码只读了一次IICDS就结束了,所以怎么也得不到有效的数据,总么弄都是错误,IIC搞了很久,直接有点绝望的感觉,没想到就因这个。

   对于IIC控制器的操作感觉44B0已经优化到一定程度了,ACK,NOACK完全可以通过判断中断标志位来实现。够简便了啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值