OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1410|回复: 3

STM32F407探索者HAL库,例程中 Can 发送一段时间后出现失败

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2022-11-2
在线时间
10 小时
发表于 2023-11-15 21:08:04 | 显示全部楼层 |阅读模式
1金钱
调用HAL_CAN_AddTxMessage 发送 返回失败,定位是tsr = READ_REG(hcan->Instance->TSR),    if (((tsr & CAN_TSR_TME0) != 0U) ||        ((tsr & CAN_TSR_TME1) != 0U) ||
        ((tsr & CAN_TSR_TME2) != 0U)){

}else{
//跳到这里了,意味着3个邮箱都满了,这个问题怎么解决呀?
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2023-11-19 11:32:34 | 显示全部楼层
是标准例程么, 第一次发送成功?
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2023-1-30
在线时间
3 小时
发表于 2023-12-5 14:30:40 | 显示全部楼层
        while (!HAL_FDCAN_GetTxFifoFreeLevel(hfdcan))
        {
        bsp_DelayUS(10);//H750也是一直卡在这里,一直满,求大神指导
        }
HAL_FDCAN_AddMessageToTxFifoQ( hfdcan, &TxHeader, _DataBuf
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2023-1-30
在线时间
3 小时
发表于 2023-12-5 14:34:29 | 显示全部楼层
13032079110 发表于 2023-12-5 14:30
while (!HAL_FDCAN_GetTxFifoFreeLevel(hfdcan))
        {
        bsp_DelayUS(10);//H750也是 ...

想问下H7只能通过HAL_FDCAN_GetTxFifoFreeLevel(hfdccan)这个函数去判断邮箱满不满吗,有类似楼上F4这种寄存器去检查邮箱满不满吗,求救求救 while(!(((CANx->TSR)&CAN_TSR_TME0)&&((CANx->TSR)&CAN_TSR_TME1) &&((CANx->TSR)&CAN_TSR_TME2)))
    {
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 03:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表