航顺HK32F030M-GPIO

GPIO,英文全称为General-Purpose IO ports,也就是 通用IO口,单片机中常常有数量众多的GPIO口供用户使用,但是结构却比较简单的外部设备/电路,对这些电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。

关于GPIO的寄存器配置 大概有以下简单步骤
 1.配置GPIO时钟
 2.配置GPIO寄存器

配置GPIO

1、 开启GPIOC时钟

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);//开启GPIOC时钟

它叫做使能或失能APB2外设时钟,直接复制过来就行。括号里面就是使能的外设时钟。 

GPIO挂载在AHB总线

2、设置GPIO参数并初始化

m_gpio.GPIO_Mode = GPIO_Mode_OUT;//输出模式
m_gpio.GPIO_OType = GPIO_OType_PP;//推挽输出
m_gpio.GPIO_Pin = GPIO_Pin_7;//PIN7
m_gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;//浮空
m_gpio.GPIO_Speed = GPIO_Speed_10MHz;//10MHz

GPIO_Init(GPIOC, &m_gpio);//GPIO初始化
  1.MODER 模式寄存器 
    输入 || 输出 || 复用 || 模拟
  2.OTPYER 输出类型寄存器
    推挽 || 开漏
  3.OSPEEDER 输出速度寄存器
    分为4个等级
  4.PUPDR 上下拉寄存器
    上拉 || 下拉 || 无 || 保持
  5.IDR 数据输入寄存器
  6.ODR 数据输出寄存器
  7.BSRR 置位复位寄存器 
  8.LCKR 端口配置锁定寄存器
  9.AFRL 复用功能低寄存器 
    低8位 
  10.AFRH 复用功能高寄存器
    高8位

输出模式示例 

I/O 端口位的基本结构 

端口模式寄存器配置

 二、主函数

int main(void)
{
	ledGpioInit(); 
    while (1)
    { 	
		ledGpioToggle();//电平翻转函数
		softWareDelay(500);///延时函数		
    }
}

1、电平翻转函数

static void ledGpioToggle(void)
{	 
	GPIOC->ODR ^= GPIO_Pin_7;
}

通过取反 GPIO 端口置位寄存器实现电平翻转

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小豪不掉发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值