STM32Cube学习笔记-CAN通讯调试

    今天要讨论的是使用STM32Cube MX配置CAN通讯。既然能见到这篇文章,说明您对CAN通讯已经有了很多的了解,而且目前正在使用这个东西,并且遇到了一些问题,就是不能通讯的问题。在使用STM32Cube调试CAN的时候我也遇到了很多的问题,这些问题都被解决了,今天就来聊一聊如何使用STM32Cube配置CAN通讯。CAN的基本原理自不必说,有不懂得地方可以直接百度。

    硬件平台:野火野火STM32F429挑战者开发板,周立功USBCAN调试盒;软件:STM32Cube MX、CAN Test和Keil 5。

    本篇文章要完成的工作:

    1.开发板可以通过CAN循环发送数据,配置波特率为250kbits,引脚为PB8和PB9,使用周立功的CAN卡接收,在CAN Test上显示数据,

    发送的数据ID = 0x18ff3333,数据为{0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};

    2.配置CAN的接收函数,在循环函数中接收CAN数据,当接收到CAN ID为0x18332201的扩展帧时,当接收的Data[0]=0x01的时候熄灭LED灯,否则LED灯点亮。

    3.配置CAN的接收中断,当接收到0x18442201的扩展帧时,当接收到的Data[1]=0x02时熄灭LED灯,否则LED灯点亮。

    设置以上三个任务的理由:配置CAN发送较为简单,可以直接使用CAN卡读取数据,没有读到就很可能是配置错误,或者函数使用错误,当数据能发送,就代表硬件是没有问题的。第二步在while中接收是由于配置中断复杂一点,现在while中看一下CAN的接收函数是否使用正确。第三步使用CAN中断,CAN中断使用较多,配置CAN中断有一定的意义。

打开STM32Cube MX开始进行配置。先配置下载调试口、时钟、LED(PH10见《STM32Cube学习笔记-点灯和打印》)。

然后配置CAN的引脚和参数。开发板的CAN使用的是PB8和PB9,在STM32Cube上配置如下。

左侧先选择CAN1,然后在Configuration的Parameter Settings中配置波特率和基本参数。

波特率计算法方法。

CAN时钟 = CAN所在的外设时钟/Prescaler,

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值