完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我继承了一些CAN驱动程序代码,我正在查看错误处理。目前唯一启用的错误是BO(总线关闭)。当看到此错误时,CAN外设将重新初始化,并且IR中的所有错误标志都将被重置。任何人都有任何其他错误标志的经验?我应该启用其他任何一个吗?也许仅仅启用BO就足够了,因为最终任何严重错误都会导致BO跳闸?
谢谢。 麦克风 #ir #bo #can 以上来自于谷歌翻译 以下为原文 I've inherited some CAN driver code and I'm looking at the error handling. Currently the only error that is enabled is BO (Bus Off). When this error is seen the CAN peripheral is reinitialized and all error flags in IR are reset. Anybody have any experience with any of the other error flags? Should I enable any of the others? Maybe it's enough to have just BO enabled because eventually any kind of serious error will trip BO?? Thanks. Mike #ir #bo #can |
|
相关推荐
1个回答
|
|
你好迈克,
总线错误是一个严重的错误。 CAN总线正在进入总线 如果发送错误计数器超过255。 你可以登记入住 ESR字段描述。 (参见RM0045) 有一些有用的 TWRN_INT TWRN_INT - Tx警告中断标志 如果MCR中的WRN_EN位置位,则TX_WRN标志转换时TWRN_INT位置1 从“0”到“1”,意味着Tx错误计数器达到96.如果相应的掩码位在 控制寄存器(TWRN_MSK)置位,产生中断给CPU。该位被清除 把它写成“1”。写作“0”没有效果。 1 = Tx错误计数器从&lt; 96至ï,³96 0 =没有这种情况 RWRN_INT RWRN_INT - Rx警告中断标志 如果MCR中的WRN_EN位置位,则RX_WRN标志转换时RWRN_INT位置1 从“0”到“1”,意味着Rx错误计数器达到96.如果相应的掩码位在 控制寄存器(RWRN_MSK)置位,产生中断给CPU。该位被清除 把它写成“1”。写作“0”没有效果。 1 = Rx错误计数器从&lt; 96至ï,³96 0 =没有这种情况 最好的祝福 二万 以上来自于谷歌翻译 以下为原文 Hello Mike , Bus Error is a serious error. CAN Bus is entering in Bus off if the Transmit Error Counter exceed 255. you can check in ESR field descriptions. (Cf RM0045) There are some useful TWRN_INT TWRN_INT — Tx Warning Interrupt Flag If the WRN_EN bit in MCR is asserted, the TWRN_INT bit is set when the TX_WRN flag transition from ‘0’ to ‘1’, meaning that the Tx error counter reached 96. If the corresponding mask bit in the Control Register (TWRN_MSK) is set, an interrupt is generated to the CPU. This bit is cleared by writing it to ‘1’. Writing ‘0’ has no effect. 1 = The Tx error counter transition from < 96 to  96 0 = No such occurrence RWRN_INT RWRN_INT — Rx Warning Interrupt Flag If the WRN_EN bit in MCR is asserted, the RWRN_INT bit is set when the RX_WRN flag transition from ‘0’ to ‘1’, meaning that the Rx error counters reached 96. If the corresponding mask bit in the Control Register (RWRN_MSK) is set, an interrupt is generated to the CPU. This bit is cleared by writing it to ‘1’. Writing ‘0’ has no effect. 1 = The Rx error counter transition from < 96 to  96 0 = No such occurrence Best regards Erwan |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2730 浏览 1 评论
3239 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1808 浏览 1 评论
3647 浏览 6 评论
6035 浏览 21 评论
1338浏览 4评论
198浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 01:24 , Processed in 1.480882 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号