在实验1的基础上,改用标准外设库方式使用某个端口GPIOx端口管脚控制几个LED灯,轮流闪烁,间隔时长1秒。
一
写出工程项目创建文件夹、添加STM32标准外设库文件(.c,.h)的详细过程。
1.下载标准库
我是直接用网上的标准库模板,链接:https://pan.baidu.com/s/1OO3scQLltz645Q0DXpa5ig?pwd=sae8
工程模板的文件分布:
Library文件夹:
放置库文件
Start文件:
放置启动文件
User文件:
放置用户自己编写的源代码
2.在keil中新建工程
选择New uVision Project…
创建工程
选择STM32F103C8系列单片机
创建完成后看到文件夹中自动生成的文件
把工程模板中的Library,Start,User三个文件复制到入门点亮LED灯文件夹中
在keil里面添加文件
命名与之对应,分别为User,Library,Start
将文件夹里面的文件分别添加进去
添加成功后
然后点击魔术棒,点击C/C++,进行如图设置
Include Paths添加文件路径很重要
依次添加Library,User,Start
最后配置芯片初始化程序
编译成功,所以工程文件就创建成功了。
二
用标准外设库方式使用某个端口GPIOx端口管脚控制几个LED灯,轮流闪烁,间隔时长1秒。
1.主函数程序
这里要建一个Delay函数,网上找的Delay函数模块
链接:https://pan.baidu.com/s/1S9cQefUw2IZsdr4vgS3YlA?pwd=1111
下载完成后,用添加User,Library,Start文件同样的方法添加Delay文件,如图已经添加完毕
编译结果:
成功编译。
2.烧录进单片机
3.实验效果视频
video_20231016_141213
三
LED灯的亮/灭周期是通过软件循环延时完成的,其准确周期大致是多少呢?
在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察GPIO端口的输出波形,并分析时序状态正确与否、高低电平转换周期(LED闪烁周期)实际为多少。
1.配置
Target页面设置
Debug页面设置
3.点击Debug进入调试页面
4、选择逻辑分析仪
5.点击左上角的Setup,选择要观察的引脚
6.点击右上角添加引脚,Display Type一定要选择Bit,然后设置颜色
2.GPIO波形
四、总结
此次STM32学习的主要内容为基于STM32标准外设库的LED流水灯。在学习LED流水灯项目中,我深入了解了STM32标准外设库的用法。这个实验增强了我的编程能力和调试能力。
动手能力很重要,实际操作会和理论相互应证,实验中我出现了很多问题,通过上网查找资料和询问同学得以解决