杰发科技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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!