芯课堂 | 华芯微特系列芯片CAN中断配置

​今天小编给大家带来的是华芯微特全系列芯片如何配置CAN中断模块的详细介绍,包括CAN各自中断以及错误处理方式,大家一起来看看吧。

Part 1:CANRX中断

CAN接受和发送模块各有64位深的FIFO用于缓存,如果像上图一样打开了RX非空中断,那FIFO中存在数组时会自动触发CAN中断。在中断中一次读完FIFO所存内容后会清空FIFO,自此结束触发。

读取函数如上图所示,在正常走完读取流程后,FIFO中的缓存内容会被读空,等待下一次消息传来时再次触发RX中断。

Part2:仲裁丢失中断

上图中间ArbitrLostIEn是仲裁丢失中断,此中断比较鸡肋。CAN没有主从概念,所以有可能会同时发出数据,这时候会根据ID来判断优先级,优先级高的会继续发送,优先级低的会停止发送,直到总线再次空闲。如果开了此中断,在停止发送时会触发一次中断。但因为CAN的逻辑,如果仲裁丢失是会自动重发,所以开了这个中断意义也不大。

Part3:错误判断中断

这个中断的作用很大,一般因为CAN总线布线较长,比较容易受到干扰,因此TX和RX模块都各有一个错误计数器,会对自身接收和发送的error存在判断,错误计数器单边最高到127。当总共累计到255时芯片会认为CAN模块失效,会自动把CAN模块挂起,这时候需要重新开启一次。而打开这个中断后,当TX和RX错误单边累计到127时会自动产生一次中断,打开后如果程序识别到错误中断,就可以判断出来基本有一边已经处于计数器计满状态,那可以重新复位计数器将CAN模块恢复正常。

如上图所示,中断中通过ERRPASS中断和ERRWARN中断来共同作用,判断CAN模块是否处于正常运行状态,如果发现并不是在正常运行(BUSOFF被置1)则重新打开CAN模块,恢复正常运行。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/397196.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java面试题之redis篇

1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…

C#||应用框体设计计算器

题目: 设计一个简单计算器 思路: 首先在应用框体中设计自己喜欢的计算器格式,接着编辑其中的函数。抽取一个Call函数用来显示从键盘输入的数字,cleanall()函数进行清屏操作,mode()函数进行四…

Android EditText关于imeOptions的设置和响应

日常开发中,最绕不开的一个控件就是EditText,随之避免不了的则是对其软键盘事件的监听,随着需求的不同对用户输入的软键盘要求也不同,有的场景需要用户输入完毕后,有一个确认按钮,有的场景需要的是回车&…

ChatGPT如何提供实用且高质量的建议和指导,提高编程效率和准确性

ChatGPT4.0的功能包括: 无限制ChatGPT模型使用 GPT-4模型使用 GPT-4图像分析功能 GPT-4联网功能 GPT-4高级数据分析功能 GPT-4高级插件功能 DALLE-3高级AI绘图功能 如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 …

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 刷题https://leetcode.cn/problems/trim-a-binary-search-tree/description/文章讲解https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html视频讲解https://www.bilibili.com/video/BV17P41177ud/?sh…

【Java EE初阶十五】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大,但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类: 1、ServerSocket:给服务器使用的类,使用这个类来绑定端口号 2、Socket&#xf…

【高阶数据结构】B+树

文章目录 1. B树的概念2. B树的查找3. B-树 VS B树4. B 树的插入分析 1. B树的概念 B树是B树的变形,是在B树基础上优化的多路平衡搜索树,B树的规则跟B树基本类似,但是又在B树的基础上做了一些改进优化。 一棵m阶的B树需满足下列条件&#x…

Vue+OpenLayers7入门到实战:OpenLayers加载船讯网航海地图瓦片到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章介绍如何使用OpenLayers7在地图上加载船讯网航海地图瓦片到地图上的功能。 适用于海运等海洋相关行业使用。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm install ol@7.5.2使用Yarn安装…

IDEA连接database数据库

文章目录 一、连接数据库1、连接mysql2、连接参数配置3、配置驱动从maven仓库下载:要求联网将提前下载好的jar放到本地目录 4、完成 二、执行sql1、选择要操作的数据库2、执行sql 三、问题1、可能因为时区问题连接不上 一、连接数据库 1、连接mysql 2、连接参数配置…

为什么从没有负值的数据中绘制的小提琴图(Violin Plot)会出现负值部分?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 小提琴图(Violin Plot) 是一种用于展示和比较数据分布的可视化工具。它结合了箱形图(Box Plot)和密度图(Kernel Density Plot)的特…

1、OI 赛事与赛制

赛事简介 信息学奥林匹克竞赛(英语:Olympiad in Informatics,简称:OI)是一门在中学生中广泛开展的学科竞赛,和物理、数学等竞赛性质相同。OI 考察的内容是参赛者运用算法、数据结构和数学知识,通过编写计算机程序解决实际问题的能力。 OI 竞赛种类繁多,仅中国就包括: …

C++基础学习

string char转string vector转string 正则匹配

【LeetCode每日一题】单调栈 581. 最短无序连续子数组

581. 最短无序连续子数组 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入&am…

地下管线管网三维建模工具MagicPipe3D V3.4.2发布

经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles服务、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…

2024年数学建模竞赛汇总——时间轴

美赛已过,好多小伙伴表示已经错过,不清楚什么时候报名,什么时候准备,其实每年数学建模比赛有很多个,各大比赛的级别、报名时间、参赛对象等要求什么呢?小编从竞赛说明、竞赛级别、是否允许跨校、报名费用、…

8.2 新特性 - 透明的读写分离

文章目录 前言1. 安装部署1.1 下载安装包1.2 MySQL Shell1.3 配置 MySQL 实例1.4 启动 ReplicaSet1.5 启动 8.2 Router 2. 测试路由总结 前言 MySQL 8.0 官方推出过一个高可用方案 ReplicaSet 主要由 Router、MySQL Shell、MySQL Server 三个组件组成。 MySQL Shell 负责管理…

Swift Combine 使用从 PassthroughSubject 预定好的发送的事件测试订阅者 从入门到精通二十三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

第四篇【传奇开心果系列】Python文本和语音相互转换库技术点案例示例:pyttsx3自动化脚本经典案例

传奇开心果短博文系列 系列短博文目录Python文本和语音相互转换库技术点案例示例系列 短博文目录前言一、雏形示例代码二、扩展思路介绍三、批量处理文本示例代码四、自定义语音设置示例代码五、结合其他库和API示例代码六、语音交互系统示例代码七、多语言支持示例代码八、添加…

c#,dotnet, DataMatrix 类型二维码深度识别,OCR,(基于 Halcon)

代码中部分调用的 c 函数参数,具体说明自行研究~(我也是参考的其他资源,还没研究透彻) 例如:HOperatorSet.GenRectangle2() , 2000, 2000, 0, 2000, 2000 这些数字应该是选取的图片解析范围、尺寸&#xff…

如何利用Idea创建一个Servlet项目(新手向)

💕"Echo"💕 作者:Mylvzi 文章主要内容:如何利用Idea创建一个Servlet项目(新手向) Servlet是tomcat的api,利用Servlet进行webapp开发很方便,本文将介绍如何通过Idea创建一个Servlet项目(一共分为七步,这可能是我们写过的…