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

2023-12-13 08:45

本文主要是介绍杰发科技AC7840——CAN通信简介(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

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的细节

这篇关于杰发科技AC7840——CAN通信简介(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/487818

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j