LPC1769 CAN的自测试模式
2024-08-26 09:17:24
一、背景
客户要了一块单路CAN的板子,他希望在没有其他板子的情况下进行自行测试,然后按照我写的
APP选择自收发测试选项,却无法接收到发送的信息,但是外接了一块板子就可以接收到自己发送的
信息;由于开发时间久远,之前又没做记录,所以一时间没有解释出个子丑寅卯来,惭愧。现在重
新查看资料,便有了此文。 二、正文
LPC1769有"Gloable self test(全局自测试)"和"Local self test (本地自测试)"两种测试模
式:
--> "Gloable self test(全局自测试)",连接模式如下图:
如上图所示,这种测试模式需要总线上有节点进行应答,即发送数据成功后,它才会把刚刚发
送出去的数据接收进来,若是接收中断被使能,则会和收到正常的CAN数据一样,产生接收中断
,提醒CPU来读数据。当然,相应的滤波设置要做好,
具体设置方法,就是在发送的时候,"CANxCMR"寄存器不再置位"TR"位,来提醒CAN控制器发送
数据,而是置位"SRR"位来提醒CAN控制器发送数据。 --> "Local self test (本地自测试)",连接模式如下图:
如上图所示,这种测试模式是不需要总线上有节点进行应答的,只要发送出去,CAN控制器不去理
会总线上是否有节点收到信息,而是直接将发送的数据取回来放到接收buffer内。
注意:由于不需要节点响应,所以必须要将CAN high与 CAN low的线通过一个终端匹配电阻给连接
起来。
具体设置方法,比"全局自测试"多一个步骤,即在CAN控制器进入复位模式后,将"CANxMod"寄存
器的"STM"置位,然后按照"全局自测试"发送方法发送数据,就可以实现自收自发了。 至此,记录完毕。 记录时间:--
记录地点:深圳WZ
最新文章
- 简易版的TimSort排序算法
- Macaca自动化测试之PC端测试
- python进阶笔记 thread 和 threading模块学习
- centos下整合PagerDuty、nagios初探(on-call尝鲜和体验)
- [python基础知识]python内置函数map/reduce/filter
- 【python cookbook】【字符串与文本】3.利用shell通配符做字符串匹配
- C语言经典参考书籍
- Codeforces13C–Sequence(区间DP)
- ubuntu 安装mysql及修改编码
- Debian安装JAVA环境(转载)
- 原生ajax详解
- grep与正则表达式基础
- CCF-CIDR合并-201812-3
- IFrame标签的两个用法介绍
- 用Python实现数据结构之映射
- Leaflet_创建地图(2017-10-20)
- 61. Rotate List(M);19. Remove Nth Node From End of List(M)
- 几个常用linux命令语句
- Sutherland-Hodgeman多边形裁剪
- Salt-ssh批量自动安装被控端salt-mini
热门文章
- 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- struts2基础学习--环境配置(*原创)
- BZOJ 1862: [Zjoi2006]GameZ游戏排名系统 [treap hash]
- webform控件
- python的函数
- 进击的Python【第二十一章】
- 项目vue2.0仿外卖APP(七)
- 20145215&;20145307《信息安全系统设计基础》实验五 网络通信
- AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载
- 彻底搞懂编码 GBK 和 UTF8