文章目录[隐藏]
介绍:
- STM32F103ZET6
- 实现功能:控制某个GPIO引脚的输出电平(拉高 / 拉低)
- GPIO_SetBits 拉高引脚输出电平
- GPIO_ResetBits 拉低引脚输出电平
引脚底层配置:
- 输入类型:推挽输出
- 引脚底层配置代码:
/*引脚底层配置函数*/ void LED_IO_Configration(void) { GPIO_InitTypeDef GPIO_InitStructure; /*使能 APB2 - PE 端口时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); /*PE12引脚配置*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; // 引脚 PE12 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // IO口速度为50MHz GPIO_Init(GPIOE, &GPIO_InitStructure); }
GPIO输出电平控制函数:
- 代码:
GPIO_SetBits(GPIOE, GPIO_Pin_12); // PE12 输出高电平 GPIO_ResetBits(GPIOE, GPIO_Pin_12); // PE12 输出低电平
LED流水灯示例:
-
led.h 宏定义:
typedef enum { OFF = 0, ON = !OFF }LEDState; #define LED(EN) (EN) ? (GPIO_SetBits(GPIOE, GPIO_Pin_12)) : (GPIO_ResetBits(GPIOE, GPIO_Pin_12))
-
led.c :
#include "stm32f10x.h" #include "delay.h" #include "led.h" int main(void) { SystemInit(); delay_init(); /*引脚底层配置函数*/ LED_IO_Configration(); while(1) { /*控制 LED 亮 500ms*/ LED(ON); delay_ms(500); /*控制 LED 灭 500ms*/ LED(OFF); delay_ms(500); } }
欢迎纠正,(づ ̄3 ̄)づ╭❤~
如果此文能帮助到素未谋面的你,那真是太开心了喵~( * Φ ω Φ * )
版权声明:本文为CSDN博主「努力的小肥丸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wenjie2017/article/details/121407638
暂无评论