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

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

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、点灯

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

在注释掉低电平的,灯灭

相关推荐
飞睿科技36 分钟前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天1 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)2 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术2 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
wotaifuzao3 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报4 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110111 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋12 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
梁洪飞14 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
进击的小头15 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机