打印
[国产单片机]

【东软载波ESF0654 PDS开发板活动】 CAN测试

[复制链接]
676|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
6841709|  楼主 | 2019-12-29 23:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 6841709 于 2019-12-29 23:58 编辑

ES32F0654 是东软推出的第一款带CAN外设的MCU,申请开发板的主要原因也是看中了这点。
开发板应该也是为了主推这个功能,特意将CAN接口独立出来,方便接CAN收发器。
要测试这个功能,需要有一个5V的CAN收发器,比如常见的TJA1050,和一个CAN分析仪。

下面推荐一下,我使用的收发器和分析仪的购买链接:https://nirenelec.taobao.com



如果使用过STM32的CAN控制器,那么再使用这款的话,是很容易上手的,感觉使用方式都差不多。



CAN波特率的计算方式也一样,如下:



具体计算方式为:PCLK/(psc)/((sjw+1)+(seg1+1)+(seg2+1))
系统时钟配置为48M时,如下配置CAN波特率=500K
/* Initialize CAN */
h_can.perh        = CAN0;
h_can.rx_msg      = &rx_msg;
h_can.init.psc    = 8;
h_can.init.mode   = CAN_MODE_NORMAL;
h_can.init.sjw    = CAN_SJW_1;
h_can.init.seg1   = CAN_SEG1_7;
h_can.init.seg2   = CAN_SEG2_4;
h_can.init.ttcm   = DISABLE;
h_can.init.abom   = DISABLE;
h_can.init.awk    = DISABLE;
h_can.init.artx   = ENABLE;
h_can.init.rfom   = DISABLE;
h_can.init.txmp   = DISABLE;
h_can.tx_cplt_cbk = can_send_complete;
h_can.rx_cplt_cbk = can_recv_complete;
h_can.error_cbk   = can_error;
ald_can_init(&h_can);

48M/(8)/((0+1)+(6+1)+(3+1)) =500K

例子程序采用非中断发送CAN报文,中断方式接收CAN报文。具体程序,查看附件例子

870915e08c82e92192.png (45.96 KB )

870915e08c82e92192.png

CAN.rar

450.11 KB

例程

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

35

帖子

2

粉丝