最近在做一个智能控制的项目,需要使用到CAN总线,手上刚好有几块STM32F103系列的板,通过查看数据手册,刚好都带有CAN总线的接口,所以就打算采用这些板先做些小的测试。那就要搭建环境了。
我这里使用的是STM32F103C8T6最小系统板,就是某宝上买的那种,算是比较便宜。实物图如图所示:
就是上面的这个快板了。
(一)开发环境的搭建
我的环境因为是之前用过STM32F4系列配置的MDK5的环境,然而这个板的资料给的都是MDK4版本的工程,每次打开都会报版本不兼容。这里工程的兼容性的解决方法参考到博客:https://blog.csdn.net/qq_38410730/article/details/79742065
我的是MDK5,链接:https://pan.baidu.com/s/14C_zu4Go0P9cOdoJnBiP0A 提取码:kmlp
其中包含了注册机和对应的Keil.STM32F4xx_DFP.2.11.0.pack和Keil.STM32F1xx_DFP.1.1.0.pack,安装上软件后,安装上对应板子的包资料就好了。
在用MDK5打开MDK4版本的项目工程的时候,通常会跳出一个窗口Using an MDK Version 4 Project:
This is an MDK version 4 project ,require Device support for Cortex-M based devices.
解决方式
选择第二种方式安装Legacy support for ARM Cortex-M devices。因为我在选用第一个安装之后还是没用。
打开网页之后,点击左边的那个下载链接,要对应下载你的MDK的版本,比如我上面的是5.23版本的,如下图所示即可:
下载上图这个兼容包,根据安装介绍,直接安装到你的MDK5安装目录即可 。就解决好了工程的不兼容问题。
这里是下载好的对应MDK5.23的兼容包的安装包MDKCM523.EXE:链接:https://pan.baidu.com/s/10YqJUclsa-DRZrlMZXyKRQ 提取码:i1bk
(二)关于串口给STM32 烧录HEX文件
这里使用的串口下载工具链接为:链接:https://pan.baidu.com/s/1O2-m5hUltdBSeCqtz_Ybpw 提取码:8ech
具体的操作过程参考到该百度经验帖子:https://jingyan.baidu.com/article/647f0115f034487f2048a85f.html?qq-pf-to=pcqq.c2c
在原先的资料上做了些修改,具体如下操作:
该软件点开就可以使用。
1、双击打开我们安装好的软件,以下是串口编程软件页打开后的页面。
2、
把USB TO TTL插到电脑的USB插口并通过四根先连接我们的模块
黑丝->GND 红色->3.3伏 其他两种颜色自选 (RX和TX)以下时连截图
3、把USB TO TTL 模块的四根先 连接到我们的STM32的电源引脚以及串口引脚,小编这里用的是stm32f103c8t6 大家型号不一致也没事,按照这个步骤来,3.3v接到3.3v GND接到GND ,(要注意:模块与stm32的串口引脚 RX对应TX ,TX对应RX) 大家要通过串口给stm32烧录程序时要用串口1 ,也就是A9为TX引脚,A10为RX引脚。以下是接线图。
。
4、接下来线都接好以后 重要一步,把BooT1 帽子从低电平0位置接到高电平 1位置,如下图。
5、回到软件页面,点击port按钮选择端口号,然后再选择我们要烧录的HEX 文件 波特率不用改就默认值 如下图所示
6、点击START ISP(P)按钮进行下载 如下图所示
7、下载完成以后 最重要的一步是 我们要把刚才的 换/高电平的帽子要换回来,也就是说 如果让程序运行起来 就必须把BOOT1拉低才能运行,帽子换回来以后我们按一下 复位按钮 程序就跑起来了 。
8、由于具体的板子上的BOOT1和的标注不一样,我的板子就是和上面的是反的(靠近外面引脚的是boot1,也就是把它跳到1,烧完后还原到0),只要看下自己的电路图,就可以判断了,对应的操作是没有问题的,丝印图为:
烧录时,软件的设置是: