GD32 GPIO输出配置

一、简介
         最多可支持 55 个通用 I/O 引脚(GPIO),分别为 PA0 ~ PA15, PB0 ~ PB15, PC0 ~ PC15,PD2, PF0, PF1, PF4 ~ PF7,各片上设备用其来实现逻辑输入/输出功能。每个 GPIO 端口有相关的控制和配置寄存器以满足特定应用的需求。
       GPIO端口和其他的备用功能(AFs)备用引脚,在特定的封装下获得最大的灵活性。 GPIO引
脚通过配置相关的寄存器可以用作备用功能引脚,备用功能输入/输出都可以。
      每个 GPIO 引脚可以由软件配置为输出(推挽或开漏)、 输入、 外设备用功能或者模拟模式。每个GPIO引脚都可以配置为上拉、 下拉或无上拉/下拉。除模拟模式外,所有的GPIO引脚都
具备大电流驱动能力。


二、主要特性
 输入/输出方向控制;
 施密特触发输入功能使能控制;
 每个引脚都具有弱上拉/下拉功能;
 推挽/开漏输出使能控制;
 置位/复位输出使能;
 输出驱动速度选择;
 模拟输入/输出配置;
 备用功能输入/输出配置;
 端口锁定配置;
 单周期输出翻转功能。
 

三、代码实现

1.使能GPIO时钟

2.设置GPIO的引脚模式

3.设置GPIO的引脚输出模式和速度

4.复位引脚值

void gpio_init()
{
    /* 使能GPIOA时钟 */
    rcu_periph_clock_enable(RCU_GPIOA);
    /* 设置GPIOA引脚模式:输出模式、悬空模式、引脚PIN1 */
	gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
    /* 设置GPIOA引脚:推挽输出模式、最大速度50MHz、引脚PIN1 */
    gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_1);
    /* 复位GPIOA的PIN1 */
    gpio_bit_reset(GPIOA, GPIO_PIN_1);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xtudj

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

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

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

打赏作者

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

抵扣说明:

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

余额充值