硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2443|回复: 5
收起左侧

[其它] 发送数据问题

[复制链接]

20

主题

72

回帖

132

积分

初级会员

积分
132
发表于 2018-10-22 10:12:45 | 显示全部楼层 |阅读模式
使用can发送数据,考虑到发送过程中有可能出现硬件错误,(比如数据线断开了),请问,程序里应该怎么处理能使can发送的代码更强壮一些?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2018-10-22 10:53:52 | 显示全部楼层
CAN有发送状态标志的,各种错误都有提示。
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2018-10-22 11:37:28 | 显示全部楼层
我使用        flag=CAN_GetFlagStatus(CAN1,CAN_FLAG_BOF); 指令,查看离线标志位,
发现返回值flag在任何情况下都没有改变,进一步进入到CAN_GetFlagStatus函数中,发现这个库函数(3.5)里没有对CAN_FLAG_BOF这个标志位的判断代码,但是库函数手册里介绍的用法是这样用的
请问,是我理解的不正确还是库函数本身的一个bug?或者是我用错了函数?
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2018-10-22 11:42:06 | 显示全部楼层
eric2013 发表于 2018-10-22 10:53
CAN有发送状态标志的,各种错误都有提示。

我使用        flag=CAN_GetFlagStatus(CAN1,CAN_FLAG_BOF); 指令,查看离线标志位,
发现返回值flag在任何情况下都没有改变,进一步进入到CAN_GetFlagStatus函数中,发现这个库函数(3.5)里没有对CAN_FLAG_BOF这个标志位的判断代码,但是库函数手册里介绍的用法是这样用的
请问,是我理解的不正确还是库函数本身的一个bug?或者是我用错了函数?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2018-10-22 13:31:52 | 显示全部楼层
502398542 发表于 2018-10-22 11:42
我使用        flag=CAN_GetFlagStatus(CAN1,CAN_FLAG_BOF); 指令,查看离线标志位,
发现返回值flag在 ...

看参考手册,直接调用寄存器操作。
回复

使用道具 举报

20

主题

72

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2018-10-22 13:51:20 | 显示全部楼层
eric2013 发表于 2018-10-22 13:31
看参考手册,直接调用寄存器操作。

好,谢谢。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 01:59 , Processed in 0.270905 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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