分享

STM32嵌入式应用系统设计

 goodwangLib 2021-12-23

可视化的代码跟踪调试

安装vscode

1.在ubuntu桌面找到应用中心,下载vscode
在这里插入图片描述

安装完成
在这里插入图片描述
汉化
在这里插入图片描述
在这里插入图片描述

在ubuntu中用vscode编译调试C\C++

1.安装vscode的C\C++插件

1.在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入ext install cpptools,或在也可以只输入ext install然后按空格,
在这里插入图片描述
等待安装完成

2配置launch.json和task.json这两个文件

首先我们在安装好了插件之后,就可以在vscode打开我们的源码文件了并且调试了,不过要注意vscode要调试的话只能打开包含源码文件的文件夹,不能打开单个文件调试。(我新建了一个main.cpp放在了C++test文件夹中)
在这里插入图片描述
选择C++(GDB/LLDB)插件之后再根据提示,选择“g++ -生成和调试活动文件”,运行结束后VSCode会自动生成适用于gcc编译的launch.json文件。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

点击工具栏上的Terminal(终端),选择Configure Tasks(配置任务)VSCode会自动生成适用于gcc编译的tasks.json文件保存后继续进行编译,需要在第九行后添加语句:
在这里插入图片描述

"${fileDirname}/test.c",12

配置launch.json和task.json完成
在这里插入图片描述

3.调试代码

command就是调用的控制台命令;
args就是命令行参数了,-g参数是必须的,否则到时候没有调试信息,vscode会无法设置断点。
配置好后在test.c文件界面,我们就可以先按ctrl+shift+B先编译,再按上方调试工具栏的图标绿色箭头,再点击终端:
在这里插入图片描述

在这里插入图片描述

程序编译成功,输出hello world,没有出错

Proteus仿真STM32流水灯

创建工程

1.点击创建新工程,输入工程名、安装路径。
2.选择从选中的模板中创建原理图(DEFAULT)。
3.选择不创建PCB布版设计。
4.选择创建固件项目,其中:系列选择Cortex-M3,Controller选择STM32F103R6,点击下一步,然后创建成功。
在这里插入图片描述

二、配置实验所需原件

1.创建项目完成后就如下图所示,显示出自己所选的型号,STM32F103R6,系统并以配置好电源。
在这里插入图片描述

2.添加实验所需灯,点击左边P,然后进入下图,在关键字中输入LED-YELLOW,并点击确认选中。
在这里插入图片描述

3.添加实验所需电阻,点击左边P,然后进入下图,在关键字中输入RES,并点击确认选中。
4.添加完灯和电阻后屏幕会如下图所示。
5.将灯和电阻分别添加到原理图,然后右键电阻,编辑电阻,设置其阻值为50(默认阻值过大,不更换led电流达不到,亮不起来)。
在这里插入图片描述

6.配置好以上,然后连接电路如下,我们选用C0-C7端口,总共8个,如下图所示。
在这里插入图片描述

三、进入keil 5中选择Option for Target,然后勾选Create HEX file,生成hex文件。

在这里插入图片描述

2.程序代码如下(程序实现要求:8个led灯依次闪烁,然后8个灯同时闪烁8次,依次重复)
在这里插入图片描述

四、配置芯片

1.双击stm32f103r6芯片,然后进入Program File 选择刚才生成的hex文件,并配置Crystal Frequency改成8M(设置晶振为8M)。添加hex文件

在这里插入图片描述

五、实验结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

实验总结

通过这次实验,我学习到了很多。
参考链接:https://blog.csdn.net/weixin_46136508/article/details/105846011?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf

https://www.cnblogs.com/lwp-king666/p/10513382.html

https://blog.csdn.net/q932104843/article/details/51924900

https://www.cnblogs.com/maxiaowei0216/p/12616087.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多