历史上的今天
今天是:2025年04月08日(星期二)
2019年04月08日 | 标准IIC和IO口模拟IIC之间的主从机通信区别
2019-04-08 来源:eefocus
主机用的是标准IIC发送及接受数据,从机用的是IO口模拟的IIC两者之间的通信需要注意的地方:
1.主机使用标准IIC发送数据时,发送函数几乎不用改动,直接按照芯片给的标准IIC发送函数。但是接收函数有几点需要注意的地方,因为标准IIC发送地址是用的是这个函数

I2C_Send7bitAddress(address,IEC_DIRECTION_RX);这个函数的特点是发送和接收的发送地址都是用这个函数,但是如何区别它到底是发送时地址还是接收时地址呢?后面的那个参数就是一个标志,RX是接收,TX是发送,其中TX=0X00,RX=0X01;这在IO口模拟时是没有检验的(可见标准IIC还是很大稳定性的,呵呵),通过这个函数校验的时候就可以发现,发送时地址不会发送改变,而接收时地址是发生了改变的,这就需要我们去改变读函数发送地址时的这个函数,直接换成I2C->DR = XX;这样就不需要判别是不是发送或者接收了,其他一切照常即可。
上一篇:单片机硬件IIC和软件IIC区别
下一篇:关于IIC通信协议的理解
史海拾趣
|
我学习模电有一段时间了,向大家推荐几本自认为的\"宝典\",谈下自己使用它们的感受以及在学习模电过程中的体会,供后来者参考: 1. 拉扎维的《模拟CMOS集成电路设计》,我们研二模电课的教材,汪宁老师把这门课讲得可圈可点。当时没意识到有其他 ...… 查看全部问答> |
|
在WinCE6下一个应用程序里,使用RequestPowerNotifications(hPowerNotificationMsgs, POWER_NOTIFY_ALL); 去请求power状态改变的通知。可是从开始菜单进入suspend的时候并没有收到任何power消息,但是按Power Button从suspend状态resume回来的时 ...… 查看全部问答> |
|
提示的是 bad crc or nand 在网上查了下,应该是env的问题!麻烦各位有经验的朋友,说一下具体怎么改! 我用的是mini2440,page size应该是2048的,但是u-boot启动输出的还是512~已经进行过CONFIG_了… 查看全部问答> |
|
为满足各大企业及研发机构对嵌入式操作系统VxWorks人才需求,顺应广大学员学习嵌入式操作系统、获得国际认证证书、增强就业竞争力、取得高薪职位的要求,上海双实科技与上海张江信息技术专修学院继续合作举办VxWorks嵌 ...… 查看全部问答> |
|
$(\'flv_JTZ\').innerHTML=(AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://player.youku.com/player.php/sid/XNTk4NDAwNjQ4/v.swf\', \'qu ...… 查看全部问答> |
|
自从米尔顿布拉德利的第一台使用可更换式游戏卡盒的Microvision掌上游戏机于1979年发布以后,已经过了35年的时间。从那时开始,掌上游戏机演变出了我们今天普遍使用的系统,比如任天堂3DS XL,PlayStation Vista和SNK的Neo-Geo X。之后不久任天堂又 ...… 查看全部问答> |




