公开/公告号CN107402564A
专利类型发明专利
公开/公告日2017-11-28
原文格式PDF
申请/专利权人 山东汉格威新能源汽车电控制造有限公司;
申请/专利号CN201710551510.1
申请日2017-07-07
分类号
代理机构
代理人
地址 253100 山东省德州市平原县桃园南大道
入库时间 2023-06-19 03:54:13
法律状态公告日
法律状态信息
法律状态
2019-06-25
授权
授权
2017-12-22
实质审查的生效 IPC(主分类):G05B23/02 申请日:20170707
实质审查的生效
2017-11-28
公开
公开
技术领域
本发明涉及一种计算机编程技术领域,具体为一种关于飞思卡尔单片机的CAN滤波器设置方法。
背景技术
飞思卡尔单片机的CAN模块在设置滤波器中需要仔细对比各个位。例如单片机需要接受ID是0x21,0x57,0x43的CAN标准帧,则在以前的设置过程中需要手动列出各个ID并仔细对比各个位,找出对应bit都相同的位,之后把得到的数据设置到响应的寄存器,实现CAN协议版本,需标准和扩展数据帧和0-8字节数据长度,另外需要高达1MB/s的可编程比特率,且支持远程帧,CAN具有5个具有FIFO存储机制的接收缓冲区,三个具有使用本地优先概念的内部优先顺序的发送缓冲区,集成低通滤波器的可编程唤醒工能,可编程环回模式支持自测操作,可编程监听模式用于CAN总线监控,内部计时器提供给接收和发送的报文的时间标签,三种低功耗模式:睡眠、关机、MSCAN使能等模块特性,但是目前CAN滤波器设置电路还不够简便,设置步骤复杂。
发明内容
本发明的目的在于提供一种关于飞思卡尔单片机的CAN滤波器设置方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案一种关于飞思卡尔单片机的CAN滤波器设置方法,包括或运算、提取0bit位、ID取反、提取1bit位和设置寄存器,此电路总共包括三个步骤,第一步包括或运算和提取0bit位,具体步骤即先对需要对比的位进行或运算,提取对应位全部是0的bit位,并通过变量i把对应的位设置成1,具体操作为:i=0x21|0X57|0X43;i^=0xFFFF;第二步包括ID取反和提取1bit位,具体步骤即对各个的ID取反并或运算,提取对应位全部是1的bit位,并把对应的位设置成1,具体操作为:j=(~0x21)|(~0x57)|(~0x43);j^=0xFFFF;第三步包括设置寄存器,具体步骤即得到所有的bit位相同的位对应的数据,通过m即可设置对应的寄存器,具体操作为:m=i|j。
优选的,所述第一步能够提取对应位全部是0的bit位。
优选的,所述第一步能够通过变量i把对应的位设置成1。
优选的,所述第二步能够提取对应位全部是1的bit位。
优选的,所述第三步能够得到所有的bit位相同的位对应的数据。
与现有技术相比,本发明的有益效果是:该关于飞思卡尔单片机的CAN滤波器设置方法设有或运算、提取0bit位、ID取反、提取1bit位和设置寄存器5个步骤,设置速度快,更能够满足目前计算机领域市场需求,极大的提高了编程效率,减少了人为操作错误,结构简单清晰,操作简单且设置步骤少,非常便于软件后期的升级维护。
附图说明
图1为本发明结构示意图。
图中:1、或运算,2、提取0bit位,3、ID取反,4、提取1bit位,5、设置寄存器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种关于飞思卡尔单片机的CAN滤波器设置方法,包括或运算1、提取0bit位2、ID取反3、提取1bit位4和设置寄存器5,其特征在于:此电路总共包括三个步骤,第一步包括或运算1和提取0bit位2,具体步骤即先对需要对比的位进行或运算,提取对应位全部是0的bit位,并通过变量i把对应的位设置成1,具体操作为:i=0x21|0X57|0X43;i^=0xFFFF;所述第一步能够提取对应位全部是0的bit位。且第一步能够通过变量i把对应的位设置成1,操作简便快捷,使用灵活,第二步包括ID取反3和提取1bit位4,具体步骤即对各个的ID取反3并或运算1,提取对应位全部是1的bit位,并把对应的位设置成1,具体操作为:j=(~0x21)|(~0x57)|(~0x43);j^=0xFFFF;所述第二步能够提取对应位全部是1的bit位,一次行提取全部是1的bit位,节省了步骤,减少了操作反复的麻烦,第三步包括设置寄存器5,具体步骤即得到所有的bit位相同的位对应的数据,通过m即可设置对应的寄存器,具体操作为:m=i|j。所述第三步能够得到所有的bit位相同的位对应的数据,非常便于软件后期的升级维护。
工作原理:在使用该关于飞思卡尔单片机的CAN滤波器设置方法时,第一步包括或运算1和提取0bit位2,具体步骤即先对需要对比的位进行或运算,提取对应位全部是0的bit位,并通过变量i把对应的位设置成1,具体操作为:i=0x21|0X57|0X43;i^=0xFFFF;第二步包括ID取反3和提取1bit位4,具体步骤即对各个的ID取反3并或运算1,提取对应位全部是1的bit位,并把对应的位设置成1,具体操作为:j=(~0x21)|(~0x57)|(~0x43);j^=0xFFFF;第三步包括设置寄存器5,具体步骤即得到所有的bit位相同的位对应的数据,通过m即可设置对应的寄存器,具体操作为:m=i|j。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 用卡尔曼滤波器处理与时间有关的离散测量值的方法
机译: 一种用于在声学薄膜体积谐振器-(fbar-)滤波器的情况下提供不同频率设置的方法,以及该装置包括
机译: 一种用于在声学薄膜体积谐振器-(fbar-)滤波器的情况下提供不同频率设置的方法,以及该装置包括