首页 > 其他分享 >STM32基于HAL库流水灯实验

STM32基于HAL库流水灯实验

时间:2023-10-27 21:11:06浏览次数:35  
标签:选择 HAL 引脚 STM32 流水 安装

一、搭建STM32的开发环境
(一)安装jdk
由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:
https://www.oracle.com/java/technologies/javase-downloads.html

(二)安装STM32CubeMX
1.下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
2.安装过程
1.以管理员身份运行并安装 SetupSTM32CubeMX-4.27.0.exe ,进入下面这个界面后,点击Next

 

 2.勾选"I accept the terms of this license agreement",接着选择Next

 3.选择安装位置,默认位置是安装在C盘中(注意:安装位置不能出现中文)

 4.确定

 5.Next

 6.继续Next

 7.done完成安装

 

3.安装固件库
①运行CubeMX

②选择 Help->Magne ..安装固件库

 

(三)安装MDK5

具体安装请参照下面链接:
https://blog.csdn.net/qq_43279579/article/details/108880667

二、HEL库GPIO端口3只LED红绿灯的周期闪烁

(一)CubeMX建项目

1.新建File->Project

 

2.选择芯片STM32F103C8

 3.SYS选择

 4.RCC选择

 5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT

 6.Clock Configuration设置

 7.Project Manager设置

 8.创建完成并用keil打开

 

(二)main.c代码修改

1.在while(1)中输入以下代码

 2.点击编译生成hex文件

 

(三)烧录运行结果

1.打开mcuisp,进行烧录

 2.烧录成功

 3.烧录结果

 

三、波形观察

1.设置Debug

 2.点击调试

 3.选择逻辑分析仪

 4.选择要观察的引脚:
①点击Setup Logic Analy

 ②添加要观察的引脚:

 5.输入(PORTB & 0X00000000)>>0Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15(PORTC & 0X00002000)>>13

 

 6.运行程序

7.波形图

 

四、总结
本次实验为led流水灯实验,在本次实验中,我们了解并掌握STM32中断原理,HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式理清了流水灯的原理,包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型等。为了实现流水效果(main 函数),则需要一个 while 循环,保持程序一直运行,调用了延时函数HAL_Delay(1000),延时1000s,实现流水效果,最终完成实验。

五、参考文献
使用STM32CubeMX实现流水灯
STM32 观察波形

标签:选择,HAL,引脚,STM32,流水,安装
From: https://www.cnblogs.com/jppp123/p/17793158.html

相关文章

  • GLNexus进行joint calling时的"half-calls"(如./0, ./1)问题
    目录关于GLNexus由于重叠变异产生的half-callsGATKjointcalling对于half-calls的处理建议处理关于GLNexusGLnexus是由DNAnexus开发,用于可扩展的gVCF合并和联合变异(jointcalling)要求群体测序项目,GL即genotypelikelihood之意。GATK作为变异检测金标准软件,缺点在于速度很慢。尽管......
  • 易语言开发银行流水生成器,分享源码仅供学习
    小编我是做技术开发的,易语言的话学了将近有10年左右,然后看网上很多人都在找这个玩意,然后就是有一个人卖9000多,感觉那种人就是向前想疯了,我分析了一下它的软件源码,也就是辅助生成数据,并不是一键它会生成文档,就是给你按参数生成固定的数据,然后需要你自己复制粘贴,这个原理的实现真的......
  • 易语言开发微信流水生成器,分享源代码
    那么其实我是做技术开发的,今天就用易语言开发这么一款软件,就当是学习研究用的把,用的是精易模块奥,必须要用这个,具体怎么下载你可以百度就行了。源码分享:.版本2.支持库spec.程序集窗口程序集_启动窗口.子程序_按钮1_被单击置剪辑板文本(编辑框1.内容)_启动窗口.标......
  • stm32cubeide+bootloader跳转的方法和坑点
    网上介绍方法很多,跳转原理可以看这一篇  基于STM32的简易Bootloader实现-JiuLiBlog-博客园(cnblogs.com)大概步骤为:先判断栈顶地址是否合法,再关闭总中断和systick中断,再设置跳转地址、再加载栈顶地址,然后就可以跳转了,跳转后的应用程序需要先设置栈顶地址、再开启之前关闭......
  • 在CI/CD发布流水线中,使用dotnet publish命令编译.NET Core C#代码
    在搭建CI/CD发布流水线(例如Jenkins流水线)发布.NETCore项目时,我们需要在流水线中使用dotnetpublish命令来编译C#代码来生成DLL文件。参考dotnetpublish官方文档。其中这里有说到,dotnetpublish命令会隐式调用dotnetrestore命令来还原nuget包,所以调用dotnetpublish之前不用显......
  • diffusion扩散模型\datawhale组队学习——v3先运行一半(下)
    微调:好像是用新数据训练旧模型的管道。微调的参数有:图形大小:image_size数据批次:batch_size为减轻显卡压力,将数据批次再切分为2(n)倍,num_epochs相对应的,权重更新频率也乘2(n)倍,grad_accumulation_steps总感觉对模型影响不大捏?难道是为了加大图形质量和效果,就相应地延长训练时......
  • jenkins创建微服务流水线(微服务多级构建)
    1.Jenkins中新建一个maven的流水线  填写构建配置保存历史构建7天  填写git地址及凭证 填写build(cleanpackage-Dmaven.test.skip=true) 填写脚本 监本样例 ......
  • stm32性能评估(程序执行效率,中断最大速率)
    自从研究stm32以来,对mcu的运行速度一直没有一个明确的概念,困惑一直卡在这,很烦,最近有了一点心得,记录一下。stm32的官方数据为1.25MIPS/MHZ,即每秒执行的汇编指令数应该是主频的1.25倍。stm32f103 72M主频,所以一秒执行90M汇编指令,stm32H743480M主频,一秒的指令只会大于600M指令......
  • DataWhale DAY6 循环
    DataWhaleDAY6循环今天学习循环方面的知识。语法部分:https://www.cnblogs.com/hewo/p/17635277.html感觉python的for是真的像自然语言。range:​range(stop)#[0,stop)range(start,stop)#[start,stop)range(start,stop,step)#+=step关于while和for(其......
  • 关于STM32F407ZGT6的USB损坏后使用ST-Link和USART1实现串口功能
    开发板:STM32F407ZGT6;目标:想使用软件“串口调试助手”情况:开发板上的USB_UART口所在器件损坏或者直接没有;解决办法:查看该开发板的原理图,可得:串口1的RX接TXD,串口1的TX接RXD,那么按如下步骤操作:1、现在使用USB转TTL模块,将串口1的RX接USB转TTL模块的TXD,将串口1的TX接USB转TTL模块的R......