[ZLG-ARM] 请教关于SPI转CAN的延时问题

[复制链接]
4127|0
 楼主| jlsong1983 发表于 2008-9-9 09:06 | 显示全部楼层 |阅读模式
请教关于SPI转CAN的延时问题。我们在使用CAN总线时,选择的CAN控制器是具有SPI接口的MCP2510,编写了利用SPI发送的函数SendOut()和中断接收函数Receive(),二者都是通过SPI操作CAN控制器的寄存器,从而实现数据的收发。时钟节拍设为1ms,其他节点收到数据后立即返回响应帧。在连续两次发送时,SendOut()之间加入一小段延时,如果采用操作系统的延时函数OSTimeDlyHMSM(0,0,0,1)就会出现接收丢数的现象,即使加长延时时间,也仍然会丢。而如果采用for循环进行延时,例如:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />for(k=0;k&lt1500;k++)<br />{;}<br />则不丢数。而且for循环的延时时间是短于OSTimeDlyHMSM(0,0,0,1)的。请问为什么两个延时会有不同的效果?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

90

帖子

1

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