笔记:STM32103RCT6——呼吸灯

首先看到这个STM32最小开发板上面有两个led灯可以用IO来控制亮灭

LED0在PA8寄存器端口上,LED1在PD2寄存器端口上。可以确定的是LED是低电平点亮的。

然后回到keil5软件,利用标准库来初始化IO寄存器IO口

点开GPIO口标准库.h文件

在里面可以看到各种IO口控制的结构体配置。找到GPIO_Init初始化,可以看到有三种设置。

 复制这个结构定义就可以初始化结构,然后用结构体调用这几个控制模式

像速度一般设置为最高、引脚一般都可以在原理图都可以看到,这里的LED有D组的2脚和B组的13脚,但是模式这里就比较多,一开始点开就有点懵,不知道那个对应那个,后面通过了解,可以这样理解

(1)GPIO_Mode_AIN 模拟输入                  //GPIO无效,引脚直接接入ADC内部
(2)GPIO_Mode_IN_FLOATING 浮空输入     //可以读取引脚电平,若引脚悬空,则电平不确定        
(3)GPIO_Mode_IPD 下拉输入                 //可读取引脚电平,内部连接下拉电阻,,悬空的时候默认低电平
(4)GPIO_Mode_IPU 上拉输入                 //可读取引脚电平,内部连接上拉电阻,悬空的时候,默认高电平
(5)GPIO_Mode_Out_OD 开漏输出          //可输出引脚电平,高电平的时候为高阻态,低电平的时候接VSS
(6)GPIO_Mode_Out_PP 推挽输出           //可输出引脚电平,高电平的时候接VDD,低电平接VSS
(7)GPIO_Mode_AF_OD 复用开漏输出            //由片上外设控制,高电平为高阻态,低电平接VSS
(8)GPIO_Mode_AF_PP 复用推挽输出     //由片上外设控制,高电平接VDD,低电平接VSS

把引脚初始化后,就可以利用设置引脚来控制IO口的0和1

 在.h文件的底部就有控制各种IO的功能,使用LED的话就用复位和设置位,

然后通过变量的渐变来控制LED的0和1的亮灭就可以让LED达到假呼吸的效果。看起来像在慢慢呼吸的感觉。

然后通过同样的方法来初始化按键来控制LED

然后定义个函数返回按键的键值,这里可以看到按键不是设置和复位这个而是GPIO_ReadInputDataBit()读取按键按键所在的IO口的0和1了当按键按下的时候是0松开的为1

然后定义一个变量来获取按键的键值,判断是按键1还是按键2开控制灯的亮灭

写好之后就可通过下载器接STM的PA14引脚的SWCLK和PA13引脚的SWDIO端口和电源以及接地就可以下载到芯片里面实现了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月12日
下一篇 2022年2月13日

相关推荐