关于c8051f中的SMbus的问题

[复制链接]
查看11 | 回复1 | 2010-8-31 07:44:11 | 显示全部楼层 |阅读模式
你好,我在做smbus.
while(BUSY); //等待总线空闲
BUSY=1;
//占据数据总线
SMB_RW=0;
//发送数据
STA=1;
//开始传送
在知道里看到你写的上面的这段代码。想问你在调试的过程中有没有遇到BUSY一直为1不清0的情况?并且此时ARBLOST=1。问题困扰了我很久,导致我调试时老是进不去断点。希望给点指点,谢谢啦。

回复

使用道具 举报

千问 | 2010-8-31 07:44:11 | 显示全部楼层
那是我好久以前弄过,好像没有遇到,因为我用了超时检测,所以在一定的时间里,会强行释放总线,如果外设把总线占据了,单片会结束与它通讯,然后权利就不在单片机了,外设如果有损坏,或是通讯线有短路现象,都会造成BUSY一直为一的情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行