Can通信解惑---
1、CAN通信需要配置5个参数:
这个CAN通信波特率有专门的配置软件。
2、CAN的配置需要进行:
时钟设置:RCC_APB2PeriphClockCmd
端口设置:GPIO_PinRemapConfig GPIO_Init
CAN单元设置:CAN_Init
波特率设置:CAN_Init
过滤器设置:CAN_FilterInit
3、常规帧
先说一下CAN的通信道理:通信波特率设置成功后,会根据配置FIFO把数据存放到对应的FIFO单元;
数据进入中断或则使用CAN_MessagePending进行判断是否有数据进来
然后使用CAN_Receive进行数据的获取:
获取会把对应的数据放到对应的位置包括:接收的数据长度 RxMessage.DLC
获取时会根据 RxMessage->IDE 的标志进行 11位的标准帧获取 或者 29位的拓展帧 ,可以使用这个拓展帧数据帧的标识符和从站标识。(标准帧29,4位当ID,1位当读写,3位当命令等)
获取时会把8字节数据放到数组RxMessage.Data
4、发送时需要间隔点时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2018-06-26 STM32进阶日志1