杰发科技AC7840——CAN通信简介(1)

2023-12-13 05:55:25

简介

7840支持4路CAN-FD

Demo调试

官网下载demo,烧录,打开串口发现打印如下。原因是没有连接CAN盒子,总线错误。

CAN收发器端波形?

CAN_L有信号,CAN_H没有

波形放大

GPIO端波形

有持续波形输出

波形放大查看,有50Us延迟(不排除测试仪表的延迟原因)

接CAN盒子

以图莫斯为例(便宜好用,500-1200RMB)

总线协议使用CAN,可以快速探测找到仲裁域波特率为500K

双击进入数据展示界面

重启发现串口没有数据打印了

测试CAN1

Demo板子的CAN1因为接了LED灯暂时不能使用为CAN

测试CAN2

CAN2接上之后,将代码的CAN2开启,代码写的还行,可以在这里直接修改使用的CAN通道

编译烧录后没有信号

难道是没有CAN收发器的原因??

于是把CAN2的GPIO引脚接在CAN0引脚上,此时CAN0没有初始化。

发现有信号了。

仔细一看,是PC16,也就是RX有信号,感觉很奇怪,demo只写了发送,没有做接收处理。

于是怀疑是高低电平的原因,把CANRX接在3.3V的电源上,果然有了同样的信号。

在此有了疑问,为什么直接给3.3V电源就能产生RX信号,需要和大佬请教下。

通过断点发现,在走完这一行代码后开始有接收信号出现。

分析CANRX出现的原因

留坑?后续再填

分析CAN2没有信号的原因

需要配置内部上拉,对上拉理解更深了。

GPIO_DRV_SetPullSel(PORTC, 16U,PORT_INTERNAL_PULL_UP_ENABLED);
GPIO_DRV_SetPullSel(PORTC, 17U,PORT_INTERNAL_PULL_UP_ENABLED);

CAN0在硬件上做了上拉

测试CAN3

同样上拉后,有数据

至此,Demo的测试已经OK,下一步看看CAN的细节

文章来源:https://blog.csdn.net/qq_35697978/article/details/134778628
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。