STM32 can总线问题 用示波器查看没有信号发出,用环回模式测试是正常的,但改为正常模式时就不能发出信号了

在发送之后加了一个while((CAN_TransmitStatus(TransmitMailbox)!=CANTXOK)&&(i!=0xFF)){i++;}判断是否发出... 在发送之后加了一个
while((CAN_TransmitStatus(TransmitMailbox) != CANTXOK) && (i != 0xFF))
{
i++;
}判断是否发出的语句,得到CAN_TransmitStatus(TransmitMailbox) 始终不等于 CANTXOK说明发送不成功。很着急希望有高手指点一下
展开
 我来答
百度网友26767f2a9
2012-06-19 · TA获得超过151个赞
知道答主
回答量:46
采纳率:0%
帮助的人:44.8万
展开全部
TransmitMailbox可能返回的返回值可能是0.1.2和4,你可以看看你发送完以后收到的这个TransmitMailbox是不是等于4,等于4就没有必要执行你上面的这个循环了,当返回4时表示当前CAN控制器无空闲邮箱。CAN是需要至少两个正常节点才能通信的。
追问
现在主要是我发不出去信号,感觉寄存器啥的设置没问题的,这位仁兄你有这个can正常发送程序嘛?能不能发给我一份,我的邮箱是373334371@qq.com
追答
我也是用例程来发送的,另外,CAN是需要至少两个正常的节点才能发出数据的,否则总线会自动关闭,所以你至少要用两个CAN连在一起才能发送出来。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式