通过对开发板CAN通信例程的学习掌握CAN的使用。 首先,先走开发板例程。 开发板CAN通信例程有3个,这次学习其中的2个程序。
程序文件列表图像:
1.png(2.44kb,下载次数: 17 ) )。
2018-11-1 17:08上传
一.例行1-loopback
该程序主要为FlexCAN环回测试模式,用于演示CAN通信的自发自回收测试。
1.1、主程序主要部分内容:
CAN发送部分:
2.png(97.49kb,下载次数: 12 ) )。
2018-11-1 17:16上传
CAN接收部
3.png(82.85kb,下载次数: 17 ) )。
2018-11-1 17:20上传
1.2、程序运行结果:
4.png(34.72kb,下载次数: 16 ) )。
2018-11-1 17:22上传
1.3、程序运行完成后,再次使用下载程序出现的问题
测试结束,再次下程序的时候,出现了错误对话框,费了很长时间的力气,以为把板子弄坏了。
5.png(65.53kb,下载次数: 19 ) )。
2018-11-1 17:26上传
6.png(43.1kb,下载次数: 16 ) )。
2018-11-1 17:28上传
更换Jlink-OB仿真器后未检测到内核
7.png(23.72kb,下载次数: 19 ) )。
2018-11-1 17:31上传
分析可能是程序最后的代码无法下载程序的原因。
8.png(11.28kb,下载次数: 20 ) )。
2018-11-1 17:33上传
解决方案:
关闭开发板,将拨盘开关K2的第三位置于ON位置,重新接通电源,即可下载程序。 然后,关闭电源,下载程序后,拨K2的第三位到关闭位置,重新接通电源,程序就可以运行了。
拨盘开关的位置。
101.jpg(1.19MB,下载次数: 16 ) )。
2018-11-1 17:39上传
从拨盘开关的位置可以看出,第三位拨到ON的位置,启动方式设定为SD卡启动。 开放板默认为NOR启动方式。
二. interrupt_transfer例程
该程序主要是FlexCAN收发测试程序,需要对CAN卡设备进行调试。
2.1、主程序分析:
201.png(101.89kb,下载次数: 22 ) )。
2018-11-2 08:43上传
202.png(98.03kb,下载次数: 17 ) )。
2018-11-2 08:43上传
203.png(101.15kb,下载次数: 21 ) )。
2018-11-2 08:43上传
204.png(101.48kb,下载次数: 16 ) )。
2018-11-2 08:43上传
205.png(103.47kb,下载次数: 17 ) )。
2018-11-2 08:43上传
206.png(88.64kb,下载次数: 15 ) )。
2018-11-2 08:43上传
2.2、程序执行结果
连接CAN卡后,首先安装CAN卡。 该程序使用的波特率为1000Kbps
1025.png(44.53kb,下载次数: 15 ) )。
2018-11-2 08:45上传
2.2.1、执行第一种方式,开机后,在串口提示下,输入A或A。
1021.png(46.98kb,下载次数: 15 ) )。
2018-11-2 08:47上传
执行命令后,CAN卡输出1帧的数据
1022.png(76.83kb,下载次数: 15 ) )。
2018-11-2 08:48上传
设置CAN卡并发送消息
301.png(76.26kb,下载次数: 16 ) )。
2018-11-2 08:57上传
CAN卡发送信息:
1024.png(105.12kb,下载次数: 16 ) )。
2018-11-2 09:00上传
串行端口接收数据
1023.png(58.33kb,下载次数: 16 ) )。
2018-11-2 08:50上传
2.2.1、执行第二种方式,开机后在串口输入B或B。
101.png(46.08kb,下载次数: 19 ) )。
2018-11-2 08:52上传
设置CAN卡并发送消息。
102.png(76.09kb,下载次数: 15 ) )。
2018-11-2 08:52上传
CAN发送信息内容
104.png(100.13kb,下载次数: 16 ) )。
2018-11-2 08:53上传
串行端口接收信息内容:
103.png(55.47kb,下载次数: 17 ) )。
2018-11-2 08:54上传
三.结论
通过这两个例程的学习,了解CAN通信执行的流程和初步设置,下一步学习具体的函数设置,并编写自己的调试器。