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

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

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

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

在注释掉低电平的,灯灭

相关推荐
女神下凡10 分钟前
芯参谋(83):AliOS Things_驱动开发指南
arm开发·驱动开发·单片机·嵌入式硬件·设计规范·1024程序员节
女神下凡24 分钟前
芯参谋(84):Linux eMMC 驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件
szxinmai主板定制专家12 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
HQB202615 小时前
屹晶微电子 EG1130|2‑24V 输入 / 最高 28V 输出 内置 MOS 异步升压 DC‑DC|SOT23‑6|摄像头 / 车充 / 电池充电电源
嵌入式硬件·硬件工程
泛凡(Linyongui)16 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
十年磨一剑~17 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件
糖糖单片机设计18 小时前
基于单片机的热水器节能控制系统
单片机·嵌入式硬件
数字新视界18 小时前
数字孪生技术赋能智能化转型与创新实践
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
HQB202619 小时前
屹晶微电子 EG1195|10‑120V/10A+ 外置 MOS 异步降压控制器|ESOP‑8|电动车转换器 / 快充 / 工业电源
嵌入式硬件·硬件工程
不悔哥20 小时前
开源LineageOS:旧手机刷上开源系统
嵌入式硬件·智能手机·开源