昨天测试了CAN通信的环回模式,今天逻辑分析仪到手了,借助这一神器完成了今天的CAN通讯之正常模式数据收发。对于CAN通讯正常模式来说,没有逻辑分析仪或者CAN盒(某宝上可以买到),分析数据,想要调通的话只能看运气了,有了工具就可以轻松的看到数据的收发过程。

本次正常模式的测试是用两块板子进行测试,一块板子(STM32F103RET6)用于发送数据,另一块板子是正点原子的战舰开发板(STM32F103ZET6)用于接收数据(中断方式接收)。两块板子的CAN_H和CAN_H相连,CAN_L和CAN_L相连。

发送的板子STM32CubeMX配置及代码与前面的环回模式几乎一样,唯一不同的是初始化模式不同。请参考CAN通讯之一,这里不再赘述。

对于接收的开发板,战舰V3,其配置过程与前面环回模式也类似,只是第一步选择的芯片不一样。CAN外设参数配置与前面一样。

同样的,也需要在can.c中添加过滤器配置的代码以及接收中断服务函数。

在main.c中添加以下代码即可,至此,接收部分配置完成,添加的代码量很少。

因为在本例程中没有配置串口,所以在接收中断的地方设置断点,方便查看接收的数据。发送数据的板子在主函数while循环中间隔10ms发送一次数据,接收的开发板中断方式接收。

发送的数据:

战舰V3开发板接收的数据:

逻辑分析仪采集到的数据:

发送数据与接收数据完全吻合。当然,用战舰开发板发送数据,用另一块板子接收数据也行,需要稍微修改一下代码,读者可自行去测试。

特别注意事项:CAN通信芯片是5V的,我刚开始调试的时候没有找到两根USB线供电,其中一块开发板使用J-LINK直接供电的,通信一直没有成功,后来将两块开发板都用5V供电,通讯正常。

源代码:

链接:https://pan.baidu.com/s/1L56eFRBkvNvfMQU9XQdaUA 
提取码:14nl

STM32 CAN通信之二:正常模式相关推荐

  1. openmv和stm32串口通信完成二维码识别

    openmv和stm32串口通信完成二维码识别 文章目录 前言 一.所用的硬件: 二.openmv端 2.stm32端 总结 前言 注:我只是个大一的小白,本文只完成基本功能,希望能帮助有困惑的人(我 ...

  2. STM32——串口通信

    STM32--串口通信 宗旨:技术的学习是有限的,分享的精神是无限的. 一.异步串口通信协议 STM32 的串口非常强大,它不仅支持最基本的通用串口同步.异步通信,还具有 LIN 总线功能(局域互联网 ...

  3. 安装STM32CubeMX,stm32串口通信

    目录 一.串口通信和RS-232标准 1.串口通信 波特率 数据位 停止位 奇偶校验 2.RS-232标准 二.安装STM32CubeMX,搭建STM32的开发环境 1.安装jdk 2.安装STM32 ...

  4. 探究 STM32 的三种 BOOT(启动) 模式并实例验证

    目录 一.什么是 Boot 模式 二.实例验证 三.总结 四.参考资料 说明 STM32 的三种 Boot 模式的差异,并在之前第11-12周"C语言各种变量的存储地址"作业代码基 ...

  5. STM32串口通信详解以及通信异常或者卡死常见问题分析

    STM32串口通信详解以及通信异常或者卡死常见问题分析 目录 STM32串口通信详解以及通信异常或者卡死常见问题分析 一.常见的异常问题 二.STM32的串口简介 1.串口的通讯方式 ①按数据传输方向 ...

  6. 【STM32串口通信】

    STM32串口通信 学习计划 一.串口通信知识点 二.硬件部分 1.所需硬件 2.部分硬件连接 三.阻塞式 0.串口阻塞式发送和接收概念 1.STM32CUBEMX配置 2.编写阻塞式串口发送与接收代 ...

  7. STM32串口通信USART练习

    文章目录 一.STM32的USART介绍 二.USART串口通信实践 1.任务要求 2.所用器材 3.主要代码 4.代码解析 三.效果展示 四.总结 五.参考资料 一.STM32的USART介绍 通用 ...

  8. Android10.0 Binder通信原理(二)-Binder入门篇

    摘要:本节主要来讲解Android10.0 Binder的设计原理,如何设计一个Binder通信 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分 ...

  9. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...

最新文章

  1. vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...
  2. 区块链和智能合约的关系
  3. 命令行参数tail c语言,osg学习笔记2, 命令行参数解析器ArgumentParser
  4. 机器学习判定模型与生成模型区别
  5. PHP几种常见魔术方法与魔术变量解析
  6. Jquery中获取表单提交时不确认个数元素的个数与值的方法
  7. HTML显示xml中的CDATA内容
  8. OpenCV3学习笔记二:图像的掩膜操作
  9. 计算机一级考试无法显示评分,计算机一级评分各题标准
  10. libvirt vnc花屏_centos6.5下VNC花屏解决方法
  11. redis源码剖析(五)—— 字符串,列表,哈希,集合,有序集合
  12. C语言--使用fopen、fgets、fprintf(标准IO)实现注册、登录、功能--(完整代码-分文件)
  13. photoshop改变图片大小,不改变像素
  14. Linux vi/vim教程
  15. 9款最新炫酷HTML5/CSS3应用推荐
  16. LinuxCentOS 7镜像下载
  17. 国内的云主机靠谱吗?万网如何?互联网创业产品选择云主机还是租用独享服务器合适?
  18. be 动词 和 一般动词的过去式
  19. matlab拟合公式不准确,Matlab拟合函数误差:函数值和YDATA大小不相等
  20. 唐巧总结的40个国人iOS技术博客

热门文章

  1. ubuntu系统安装微信过程与问题解决记录
  2. 震撼【超高细节地球】GIS相关引擎,速看。。。
  3. nrf52832 Uart 调试
  4. h5跳转页面很慢_【干货】小技巧实现H5跨页帧数跳转
  5. 数据分析:你的城市复工了吗?
  6. 天津SEO优化:seo优化后期网站关键词排名下降原因
  7. 电源接头DC002的PCB封装
  8. 快捷键,photoshop常用快捷键大全
  9. 迷你四足机器人制作_从0到1
  10. 软件工程师嵌入式开发交流论坛推荐排行