完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我在一个线程中调用了CAN发送,如果CAN和外部设备连接正常,那这个线程可以正常运行,如果我把CAN和外部设备断开连接,那这个线程就卡在CAN发送那儿了,请问这样正常吗?有没有办法,在断开CAN和外部设备后,这个线程的CAN发送虽然失败,但是不会卡住线程,可以让线程继续运行?谢谢! |
|
相关推荐
1个回答
|
|
我刚找到解决办法了,关了CAN的自动重发功能就不会卡住了。原来我这里设置的是ENABLE,现在改成了DISABLE。
static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg) { struct stm32_can *drv_can; rt_uint32_t baud_index; RT_ASSERT(can); RT_ASSERT(cfg); drv_can = (struct stm32_can *)can->parent.user_data; RT_ASSERT(drv_can); drv_can->CanHandle.Init.TimeTriggeredMode = DISABLE; drv_can->CanHandle.Init.AutoBusOff = ENABLE; drv_can->CanHandle.Init.AutoWakeUp = DISABLE; drv_can->CanHandle.Init.AutoRetransmission = DISABLE; //ENABLE drv_can->CanHandle.Init.ReceiveFifoLocked = DISABLE; drv_can->CanHandle.Init.TransmitFifoPriority = ENABLE; ... } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
1858 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
11689 浏览 11 评论
2032 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
3433 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1228 浏览 0 评论
68540 浏览 21 评论
嵌入式热门DIY项目:智能机器人开源资料合集(原理图、代码、论文)
68752 浏览 22 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-18 01:25 , Processed in 0.582780 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号