一、环境的配置
1.MDK的配置及破解
2.串口调试助手及虚拟串口调试工具的安装
二、keil的逻辑分析仪
三、串口交互
1.两个串口互相发信息
2.用C代码往串口发消息
一、环境的配置
学习单片机需要硬件,这里我们选择了STM32F103C8,与此同时还需要软件配置,即:MDK,串口调试助手,虚拟串口调试工具。
1.MDK的配置及破解
参考:Keil MDK5安装详细步骤
安装包:链接:https://pan.baidu.com/s/1ZPV5sFSUEiZSYxVWsZNi_A?pwd=n5ie
提取码:n5ie
2.串口调试助手及虚拟串口调试工具的安装
安装包:链接:https://pan.baidu.com/s/1SmgUwAGoiLpjIjbytBJfiA?pwd=gjk9
提取码:gjk9
串口调试助手
解压后直接安装即可
虚拟串口调试工具
解压后点击vspd.exe
选择语言,点击OK
点击next
选择第一个选项
选择安装路径
点击next
选择第一个选项,创建快捷方式
选择install下载
二、keil的逻辑分析仪
keil之所以强大,除了它的编代码功能之外,还有它的调试功能。keil的调试功能让我们即使没有硬件也可以观测代码的运行情况。
工程文件:链接:https://pan.baidu.com/s/17UuqjJQR6VHRhkJt2Tf-yQ?pwd=tu8u
提取码:tu8u
解压后点击USER
双击Tmeplate.uvprojx,就可以再keil中打开
在左侧点击main.c打开文件,按ctrl的同时上滑鼠标可以放大代码
点击魔法棒配置环境
在 Device中选择芯片STM32F103C8
C/C++中将Optimization选择Level 0防止优化等级太高,将我们自己的代码优化掉
在debug中选择软件模拟
将下面两个选项分别改为DARMSTM.DLL和-pSTM32F103C6。否则可能不出结果
点击编译,确认没有错误
点击调试
进入调试界面后点击逻辑分析仪
点击setup添加管脚
这个代码是我改过的,所以led的管脚是PA2,因此输入porta.2,然后全速运行(F5)
漏了一点,输入porta.2之后,把类型改为bit
出的结果就是一个方波
现在LED1所对应的管脚是PA2,如果要改回PB12,需要改几个代码。
首先点开main.c,编译后双击函数LED_Init,再右键选择“go to definition of'LED_Init'",可以转到该函数所在的文件
我们只需要修改13,14,17行即可
同样的道理点进LED1中修改管脚。修改完后编译,再次进入逻辑分析仪,用同样的方法观察PB12(绿色)的波形。为了方便对比,我保留了PA2的波形(红色)
三、串口交互
1.两个串口互相发信息
打开虚拟串口调试工具,即桌面上的图标
分别虚拟两个串口COM3和COM4,不可以是1,2,其他都可以。然后Add pair
再打开串口调试助手,即ATK(开俩),分别再串口选择上选择COM3->COM4和COM4->COM3
然后尝试互相发发消息
2.用C代码往串口发消息
工程文件:链接:https://pan.baidu.com/s/1kG9QhK0TwitlDGvHWLqhnA?pwd=b52x
提取码:b52x
解压后再MDK-ARM中选择工程文件打开
同样的方式进入调试模式,点这个command
在输入框分别输入MODE COM3 115200,,8,1 和ASSIGN COM3 < S1IN > S1OUT
这个COM3可以改成除了1,2的任何数
再打开串口调试助手,设置参数
全速运行(F5)
ok啦