使用stm32开发 USB_CAN 适配器测试
USB_CAN 适配器测试例程
采用CDC透传模式
一、简介
CAN总线无处不在,在设计开发中,到处需要用到CAN总线调试工具,本工具可以作为CAN的基础测试工具,用于监听CAN总线,或测试CAN数据收发。测试时,可以用两个板子,对接起来测试。即可实现如下介绍的功能。
二、接线图示意

三、开发测试环境
兼容系统:XP、WIN7
测试系统:XP 32bit(已验证)
开发工具:MDK 4.54
MCU型号:STM32F107VC(3.5版本固件库)
测试软件:stc-isp-15xx-v6.82.exe(串口调试工具)
四、测试方式:定时CAN总线数据发送
两块板卡供电、下载好测试程序、总线对应接好,两块板卡对接。
使用mini-usb数据线链接电脑、观测测试数据、接任意一块板子即可
定时周期:0.5s
测试模式:
CAN接收到数据直接传输给USB(包长度为20字节)
CAN将USB接收到的数据发送到总线
CAN自动向总线发生周期数据包:间隔0.5秒
数据包格式如下:
指示灯作用:
LED2(每秒闪烁,指示程序运行正常)
LED3(收到一个CAN数据包,翻转一次led状态,代表收到一个数据)
LED4(收到一个USB数据包,翻转一次led状态,代表收到一个数据)
定时发送数据包格式:
TxMessage.StdId=0x12345678;
TxMessage.ExtId=0x11223344;
TxMessage.IDE=CAN_ID_EXT;
TxMessage.RTR=CAN_RTR_DATA;
TxMessage.DLC=8;
TxMessage.Data[0]=0x10;
TxMessage.Data[1]=0x20;
TxMessage.Data[2]=0x30;
TxMessage.Data[3]=0x40;
TxMessage.Data[4]=0x50;
TxMessage.Data[5]=0x60;
TxMessage.Data[6]=0x70;
TxMessage.Data[7]=0x80;
USB访问方式:
1、 插入usb数据线:若第一次插入会提示安装驱动。
2、 若提示安装驱动则,定位当对应驱动目录
3、 安装好驱动后,设备管理器将发现,USB转CAN适配器
4、 这时,就可以使用串口工具访问该设备了(选择好对应串口号,hex模式,其他无所谓)
5、 数据通信截图

6、 数据解释
数据包:固定长度为20字节
00 00 00 00 44 33 22 11 04 00 08 10 20 30 40 50 60 70 80 00
4字节:00 00 00 00(StdId)
4字节:44 33 22 11(ExtId:0x11223344)
1字节:04(ExtId:04 扩展模式)
1字节:00(RTR:00 CAN_RTR_Data)
1字节:08(DLC:08 数据长度为8字节)
8字节:10 20 30 40 50 60 70 80(8字节数据)
1字节:00(FMI:00)
测试固件:
STM32F107_USB_CAN 20150510.hex MDK4.54编译好的固件
固件源码
在工程管理中、采用通过文件库存放在固定位置,即与工程文件独立并共享、所以编译中需要处理以下问题
标准固件库路径:
F:\lib\ST_STD\STM32F10X_Lib :STM32标准外设库 3.5
F:\lib\STM32_USB\V301 :stm32-usb库 3.01
F:\lib\CM3 :与cm3相关的头文件及配置文件
完整开发包资料


2015-5-10
层层惊涛设计室
层层惊涛开发设计工作室
博客:http://www.cnblogs.com/ccjt/ (层层惊涛,技术博客中心)
邮箱:shenyae86@163.com
关注我们的方法:
百度:输入:”层层惊涛”
淘宝:选择店铺搜索,输入:”柴草电子“
淘宝:选择店铺搜索,输入:”层层惊涛“
使用stm32开发 USB_CAN 适配器测试的更多相关文章
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- STM32开发环境--使用MDK建立一个工程
STM32开发环境--使用MDK建立一个工程 该工程模版是基于库函数基础制作而成,其中有借鉴相关资料.虽然工程模版一旦建立,以后任何项目只需套用即可,但考虑到长时间不使用,在将来某天可能会突然用到,再 ...
- VS Code 搭建stm32开发环境
MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...
- Android高手速成--第四部分 开发工具及测试工具
第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson ...
- 第五章——搭建S3C6410开发板的测试环境
搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...
- 如何查找STM32开发资料
Ⅰ.概述 该文写给那些处于初学ST芯片开发.英文不好而又想偷懒的人. 该文主要的目的是提醒大家:学习一门技术是需要舍得花功夫,捷径是你在起点与终点之间不断的探索,最终总结出来的一条适合自己的路. 下面 ...
- iOS开发中的测试框架
转载作者:@crespoxiao 我们为什么要用测试框架呢?当然对项目开发有帮助了,但是业内现状是经常赶进度,所以TDD还是算了吧,BDD就测测数据存取和重要环节,这很重要,一次性跑完测试单元检查接口 ...
- iOS开发中的测试框架 (转载)
作者:CrespoXiao授权 地址:http://www.jianshu.com/p/7e3f197504c1 我们为什么要用测试框架呢?当然对项目开发有帮助了,但是业内现状是经常赶进度,所以T ...
随机推荐
- 网站搭建 - 虚拟机的安装 - Linux 本地网站搭建第一步
搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 搭建网站-域名绑定见稍后的一章,就是直接点解析,然后就完事了,可以不看的. 首先准备材料: 先装虚拟机,会要求重启,那就重启吧,安装界面 ...
- 一、netcore跨平台之 Linux上部署netcore和webapi
这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...
- java编程思想第四版第七章习题
(略) (略) (略) (略) 创建两个带有默认构造器(空参数列表)的类A和类B.从A中继承产生一个名为C的新,并在C内创建一个B类的成员.不要给C编写构造器.创建一个C类的对象并观察其结果. pac ...
- mui 底部导航栏的实现
mui 底部导航栏的实现 <nav class="mui-bar mui-bar-tab"> <a id="display" class=&q ...
- suseoj 1206 众数问题 (相邻数比较)
1206: 众数问题 时间限制: 1 Sec 内存限制: 128 MB提交: 45 解决: 8[提交][状态][讨论版][命题人:liyuansong] 题目描述 给定含有n个元素的多重集合S,每 ...
- python day 1 homework 2
多级菜单 1 三级菜单 2 可依次选择进入各子菜单 3 所需新知识点,列表,字典 province_info = {":{"name":"黑龙江", ...
- 就该这样理解 OSI 七层参考模型、浅谈不同局域网之间的通信
简介 说到OSI参考模型,理解网络与网络之间的关系,不说太深入难以理解的东西,只求能最大程度上理解与使用. 参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为O ...
- Lombok 使用详解,简化Java编程
前言 在 Java 应用程序中存在许多重复相似的.生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足 Java 的编译需求 比如,在 Java 应用程序开发中,我们几乎要为所有 ...
- Java w3c离线手册
提供给大家使用,懒得找: 前端后端一般都用的到 查看文档 1. JDK_API_1_6_zh_CN.CHM 2. W3School离线手册(2018.04.01).chm 3. jqu ...
- 2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法
使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options ...