飞思卡尔MC9S12X CAN驱动
今天带着大家学习下MC9S12XS CAN驱动模块开发。首先先了解下什么CAN,用途。
CAN总线的概念:
CAN是控制器局域网络(Controller Area Network)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发,并最终成为国际标准(ISO11898)。
CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。
CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
CAN总线的用途:
在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
当车载各电子控制装置在不具有CAN功能(如果是不具有CAN通讯能力的电控装置,使得其与其它电控装置相互之间不能进行数据通讯,这样造成各电控装置的电控能力差,功能单一,可扩展性差),不能直接进行通讯的情况下,采用“CAN模块”产品就可以实现具有CAN功能的车载电控网络系统,各电控装置相互之间可以相互传递所需的电控信号,使得整车的电控系统作用更加强大。
下面我们正式的开始学习下MC9S12 CAN驱动模块开发。
MSCAN模块整体框架如下所示:
下面我们结合代码一起来看看,CAN驱动
CAN初始化函数主要包括:CAN波特率的设置,设置CAN接收中断使能、CAN滤波器等等。
CAN接收函数主要包括:当接收寄存器标志位置位之后,读取相应的寄存器。如CAN 标识符 CAN 数据 CAN 长度,保存至制定的变量中。。
ca
CAN发送函数主要包括 设置CAN标识符、设置CAN数据、设置CAN长度等,在此之前还有一些逻辑判断,如判断长度、判断寄存器是为空等。
想要获取CAN驱动源码,请关注微信公众号“嵌入式软件开发学习圈”。。。。。
飞思卡尔MC9S12X CAN驱动相关推荐
- 飞思卡尔MC9S12X PWM驱动
今天带着大家学习飞思卡尔MC9S12X PWM驱动 首先什么是PWM及应用 脉冲宽度调制(PWM)是产生精确脉冲序列输出和实现D/A转换的有效方法,微控制器的脉宽调制模块被广泛应用于工业控制和新型消费 ...
- 飞思卡尔MC9S12X Flash驱动
今天带着大家学习下飞思卡尔MC9S12 Flash驱动 在现今的经济社会,比拼的"快"不仅仅是速度快,更是效率高.身处社会分工细致的今天,让自己更快效率更高是有方法的. 每一家M ...
- 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 关于CAN驱动的配置, ...
- 飞思卡尔MC9S12X:CAN接收配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN接收流程 ...
- 飞思卡尔MC9S12X:CAN发送配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN发送流程 ...
- 飞思卡尔MC9S12X:CAN初始化配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN初始化流 ...
- 飞思卡尔MC9S12X PIT模块
今天带着大家学习了解下飞思卡尔MC9S12XS PID模块. PIT模块概述 周期性中断定时器(Periodic Interrupt Timer,PIT)模块是一组24位的定时器,由8位微定时器和16 ...
- 飞思卡尔比赛K60驱动OLED12864显示摄像头采集的赛道图像,完整代码分享
一.首先采集摄像头图像,由于硬件不同采集方式也不一样,我就不多做说明 二.将采集到的图像进行二值化 三.下面为完整显示函数 备注:大家主需要修改对应的引脚就行(修改初始化和宏定义) led.c文件 # ...
- windows10飞思卡尔BDM驱动安装教程
Windows系统下飞思卡尔BDM驱动安装教程 第一步 首先将BDM插入电脑USB口上,如下图(此时注意BDM驱动上两个灯都是红色,说明需要安装驱动) 第二步 鼠标右击"此电脑", ...
最新文章
- 洛谷-题解 P2672 【推销员】
- Oracle与JCP执行委员会分享了他们的Java EE策略
- gps有几个轨道面_嫦五“一脚刹车”,进了环月轨道
- Shell脚本中$的用法
- js判断一个元素是否在数组中
- Angularjs中设置cookies的过期时间
- app毕业设计 基于uni-app框架的电影院订票选座app毕设题目课题选题作品(2)后台管理功能
- 网页悬浮按钮php,Javascript实现带关闭按钮的网页漂浮广告代码_javascript技巧
- 学弟啊,你代码能不能不要写得这么烂?
- pip 安装库出错:Defaulting to user installation because normal site-packages is not writeable
- 唐巧的《iOS开发进阶》 - 读后感
- Web滚动字幕(MARQUEE示例)
- uoj#209【UER #6】票数统计
- 机器学习笔记 - IOU、mAP、ROC、AUC、准确率、召回率、F分数
- spring boot 使用javaMailSender 发送qq邮箱验证码
- 多线程生产者消费者模型
- Sealed class密封类详解
- C++ bind浅析
- 免费是王道!盘点国外八大知名杀毒软件产品
- 飞歌导航软件测试,飞歌导航论坛App正式上线苹果应用商店App Store