ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

流水灯实验2

流水灯实验2 在经过使用寄存器的方式完成流水灯的实验后现在可以通过使用stm32标准库的方式再次进行该实验。首先需要的就是创建一个具有标准库文件的工程文件。首先是创建一个新的工程并选择所使用的芯片。在当前界面找到所使用的STM32C8T6芯片后即可点击ok完成一个新工程的创建。完成新工程的创建后在左上角可以找到一个target1右键点击后创建三个新的group分别叫做userlibrarystart。再分别点击各个文件添加下载的相关文件。start中放入启动文件user中放入main函数。library中放入库函数。添加方式如图选择需要添加的文件选中后点击add。在完成上述添加操作后还需要添加路径与宏定义。在include paths中完成对于startuser与library文件的路径添加。在main中写上#include “stm32f10x.h”再鼠标悬停在引号内的内容上右击后可以进入上图的界面中。进入后将界面拉到最下方找到图示的代码行将USE_STDPERIPH_DRIVER复制后填入C/C中的define中。就解决了宏定义的问题。此刻终于可以开始进行代码的书写。这里使用内部的HSI 8mhz不使用外部的晶振。最后可以再次实现三个LED灯的流水灯。从PA0到PA1再到PB0的不断循环闪烁。点击魔术棒切换到debug界面勾选上use simulator和run to main再将下面这几栏改为符合所选用芯片的数据。这下就可以开始使用keil的仿真波形功能了。通过下面这个可以打开控制器。在将需要观测的引脚添加进去最后就能够观察到所写程序的相关引脚波形输出了。三条波形红 PA0、绿 PA1、蓝 PB0错开 1/3 周期 —— 当红高时绿蓝低、绿高时红蓝低、蓝高时红绿低符合PA0→PA1→PB0 轮流点亮的流水灯逻辑没有出现同时亮或同时灭的异常。时间轴范围 0~31.08 秒Grid1 秒数红色PA0的高脉冲约 23 个完整方波周期覆盖 31 秒一个完整流水灯周期三灯轮流一轮≈ 31.08 / 23 ≈ 1.35 秒**每只灯的亮灯时间就等于1.35/3约为0.45秒。完成上述内容后在通过hal库加按键控制流水灯的停止与开始。完成代码的构建后再用一根线连接到芯片的PA2的端口通过该端口控制流水灯的启停。流水灯停止后停留在了PA1的LED灯处。自此我们完成了流水灯的整个实验。在本次实验中我们学习到了如何在keil中构建一个符合所用器件且能够使用STM32标准库的工程以及如何完成相关环境的配置。如何配置keil的软件仿真逻辑分析仪以及如何使用分析仪来获得自己想要的引脚的波形图。如何用STM32的标准库来完成一个流水灯实验如何用hal库与按键完成流水灯的启停。学到了如何使用分析仪给出的的波形来找出实际的问题。为以后的学习打下了良好的基础。
返回列表