今天小编来做一下STM32F407的CAN通信实验。通过按上键切换CAN通信模式,通过按下键控制数据发送,并将切换的CAN模式,发送和接收的数据通过串口打印输出。
工具/原料
1
STM32F407
2
keil5
方法/步骤
1
下图是开发板上CAN通信的原理图,如下图:
2
下图是开发板的实物图,在进行can通信实验前需要把下图方框中的端子进行短接,如果要和其他can设备进行通信,需要连接到下图中红色箭头指示位置,如下图:
3
这个按键控制的实验是基于上个实验项目的基础上,首先复制上个【RS485通信实验】实验,然后命名为【CAN通信实验】,如下图:
4
打开项目,然后新建一个can.c的文件,并将这个文件存储到APP文件夹下的CAN文件夹下,如下图:
5
然后新建一个can.h的文件,并将这个文件存储到APP文件夹下的CAN文件夹下,如下图:
6
然后准备将can.c文件关联到项目的APP文件夹下,按照下图中红色箭头指示步骤点击【Add Existing Files to Group】,如下图:
7
找到can.c文件,将can.c文件和项目进行关联,如下图:
8
接下来按照下图将can.h头文件也包含到项目中,如下图:
9
然后准备将stm32f4xx_can.c文件关联到项目的StdPeriph_Driver文件,按照下图中红色箭头指示步骤点击【Add Existing Files to Group】,如下图:
10
找到stm32f4xx_can.c文件(该文件存放在Libraries文件夹下的STM32F4xx_StdPeriph_Driver下的src文件夹下),将stm32f4xx_can.c文件和项目进行关联,如下图:
11
下图是main.c文件的代码,如下图:
12
下图是can.c文件的代码,如下图:
13
下图是rtc.h文件的代码,如下图:
14
至此所有代码都结束,对所有代码进行编译,0错误,0警告,接下来就可以将代码下载到开发学习板中开始观察现象了,如下图:
注意事项
1
个人观点,仅供参考。
2
感谢阅读。
上一篇:风暴英雄如何用伊利丹打f4野怪?