[ZLG-MCU] LM3S IIC多主问题

[复制链接]
2546|2
 楼主| mj2008 发表于 2008-4-10 16:48 | 显示全部楼层 |阅读模式
lm, iic, I2c, tmp, ST
iic多主系统调试时i2cmcs寄存器读出为0x70是怎么回事呢?丢失了仲裁但error位却没有置位,<br />这个寄存器中各个位之间是怎样的制约关系呢?和他资料说的不一样啊:<br />“error位表示.......,或者是由于控制器丢失仲裁而产生。”<br />下面是我的中断服务程序,发送出错的处理对不对?另外问如果这个寄存器读出为0x70的时候我该怎么处理<br />void&nbsp;IIC_ISR_Handler()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;volatile&nbsp;INT32U&nbsp;tmp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/**************************/<br />&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;I2C0_MMIS_R&nbsp;){&nbsp;//&nbsp;主机中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;=&nbsp;I2C0_MCS_R;&nbsp;&nbsp;//&nbsp;第一次进来后这个变量为0x70&nbsp;???<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2CMasterIntClear(I2C0_MASTER_BASE);//&nbsp;清主机中断<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;tmp&nbsp;&&nbsp;0x1E&nbsp;)&nbsp;{&nbsp;//&nbsp;发送出错<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;tmp&nbsp;&&nbsp;0x10&nbsp;){//丢失仲裁,发重复起始条件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C0_MCS_R&nbsp;=&nbsp;0x03;&nbsp;//&nbsp;IICBus.TxdOptStat&nbsp;=&nbsp;IIC_TXD;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C0_MCS_R&nbsp;=&nbsp;0x04;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;这里主机发送停止条件,系统将在定时中断中重新开始发送<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IICBus.TxdOptStat&nbsp;=&nbsp;IIC_FAIL;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;。。。。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 楼主| mj2008 发表于 2008-4-11 13:43 | 显示全部楼层

总算通了

在进入中断后把MCS的内容和ISR中执行路径发送到uart看看,就知道问题的所在了,<br />现在2个设备抢着给第3个设备发送大量数据都没有问题了。剩下的工作就是测一下几十个设备一起抢了,哈哈。
wahahaabc 发表于 2008-4-15 13:02 | 显示全部楼层

不知楼主问题出在哪里,然后又调通了

也让其他人少走些弯路
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

67

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部