做网站推广费用,自己做民宿在什么网站上投放,云南建设厅网站 安全员,本地做网站绑定域名目录
GPIO功能概述
CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式#xff0c;内置可关闭的上拉或下拉电阻#xff0c;可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一#xff1a; 1 浮空输入 2 上拉输入…目录
GPIO功能概述
CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式内置可关闭的上拉或下拉电阻可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一 1 浮空输入 2 上拉输入 3 下拉输入 4 模拟输入 5 开漏输出 6 推挽输出 7 复用功能的输入和输出内部结构图如下 可以看出IO 口内部可分为输入驱动模块1和输出驱动模块2。其中输入驱动有弱上下拉电阻可选可连接到 AD 等模拟输入的外设如果输入到数字外设就需要经过一个 TTL 施密特触发器再连接到 GPIO 输入寄存器或其他复用外设。而输出驱动有一对 MOS 管可通过配置上下的 MOS 管是否使能来将 IO 口配置成开漏或推挽输出输出驱动内部也可以配置成由 GPIO 控制输出还是由复用的其他外设控制输出。
GPIO寄存器
为了实现上述对端口的灵活配置处理器设置了一系列寄存器来实现上述功能 1配置输入相关的寄存器 端口输入寄存器GPIOx_INDR GPIO 配置寄存器低位GPIOx_CFGLR GPIO 配置寄存器高位GPIOx_CFGHR
2配置输出相关的寄存器 端口输出寄存器GPIOx_OUTDR GPIO 配置寄存器低位GPIOx_CFGLR GPIO 配置寄存器高位GPIOx_CFGHR 3复位和锁定寄存器 端口复位寄存器GPIOx_BCR 配置锁定寄存器GPIOx_LCKR 4AFIO 寄存器 事件控制寄存器AFIO_ECR 重映射寄存器 AFIO_PCFR1 和AFIO_PCFR2 外部中断配置寄存器 AFIO_EXTICR1、AFIO_EXTICR2、AFIO_EXTICR3、AFIO_EXTICR4
GPIO实现LED闪烁灯
以PA0接LED灯为例实现LED灯的间隔500ms闪烁功能代码实现如下
LED所在GPIO端口的初始化
void GPIO_Toggle_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;
GPIO_Init(GPIOA, GPIO_InitStructure);}
Main功能实现
int main(void) { u8 i 0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
printf(GPIO Toggle TEST\r\n);
GPIO_Toggle_INIT();
while(1)
{Delay_Ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i 0) ? (i Bit_SET) : (i Bit_RESET));
}}