基于库函数来实现点灯操作

库函数其实也是间接的配置寄存器

1、使能时钟,GPIOC外设时钟

用RCC_APB2外设时钟控制,来开启时钟

右键跳到函数定义,看一看

但是经过函数的包装,就不需要再去查手册来确认哪一位是干什的了;

这里也用了或=和与=,所以这个库函数的配置是不会影响到寄存器的其他位的;

这就是库函数和寄存器的区别;

2、配置端口模式

需要用到GPIO_Init这个函数;这里使用了结构体来配置参数,

这个函数是根据GPIO_Init结构体的参数来配置GPIO;

因为我们是PC13口的LED,所以第一个参数为GPIOC,

需要先定义一个结构体

这三个参数都要写出来,然后依次右键找到这三个的定义,然后选中这个字符,按Ctrl+F找到这个定义的位置,

下面步骤同上,第二个位置为GPIO_Pin_13,第三个位置为50MHz的速度;

这样结构体就有了

所以这里需要传递结构体的地址,将复制结构体的名字复制到这里,在前面加上一个取地址符号

这样就配置完成了

3、设置端口的高低电平

高电平:

用函数GPIO_SetBits,这个就可以把指定端口设置为高电平;

低电平:

用函数GPIO_RetBits,这个就可以把指定端口设置为低电平;

参数与上面高电平一样

4、点灯

先注释掉其中一个,然后编译下载,

在注释掉低电平的,灯灭

相关推荐
崇山峻岭之间15 小时前
HC32F460PETB的PB2的Vout123
单片机
恶魔泡泡糖15 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计16 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费16 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
充哥单片机设计18 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
EatFan18 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网·esp32
sunoo-22919 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx19 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件
Doraemomo20 小时前
IMX6ULL裸机开发——PWM
arm开发·嵌入式硬件·imx6ull
老当益壮梁奶奶21 小时前
ARM汇编学习笔记(五):从按键轮询到 GIC 中断控制器(ARM Cortex-A7 )
arm开发·笔记·单片机·嵌入式硬件