打印
[综合信息]

华大HC32L136的GPIO设置

[复制链接]
1735|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LED2013|  楼主 | 2020-8-7 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于GPIO的控制,无论接触任何单片机都是最基础的部分,也是任何项目都需要使用到的部分。配置GPIO的初始步骤大体分为两步:
①开启GPIO外部时钟门控;
②对配置GPIO的结构体进行配置;
如图为结构体内容:

通过上述步骤对GPIO进行初始化配置后,再对相应引脚的状态进行详细的操作。如使用Gpio_GetInputIO、Gpio_SetIO、 Gpio_ClrIO等语句GPIO进行读取、设置高低电平等操作。
使用GPIO作为外部中断源:
每个GPIO被设置为输出的时候,都可以提供外部中断,中断类型可以配置成高电平触发、低电平触发、上升沿触发和下降沿触发4种触发方式。
如图为GPIO按键中断实验中的中断部分函数。

将PD05(LED)置为高电平,PD04 USER按键设置为外部中断源,按下USER按键后熄灭LED灯两秒。将示波器连接到PD05引脚上观察输出波形如图:

PS:一定要搞清GPIO配置结构体中都包含了哪些东西,以及如何设置结构体。

使用特权

评论回复
沙发
kxsi| | 2020-9-2 23:28 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
nawu| | 2020-9-2 23:28 | 只看该作者
基本上配置都差不多

使用特权

评论回复
地板
qcliu| | 2020-9-2 23:29 | 只看该作者
介绍的很详细

使用特权

评论回复
5
tfqi| | 2020-9-2 23:29 | 只看该作者
不错 还有代码

使用特权

评论回复
6
wiba| | 2020-9-2 23:29 | 只看该作者
楼主辛苦了

使用特权

评论回复
7
739114505| | 2021-3-23 20:59 | 只看该作者
楼主可以帮忙看看我这个初始化有什么问题吗?

stc_gpio_cfg_t stcGpioCfg;
Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
stcGpioCfg.enDir = GpioDirIn;
stcGpioCfg.enPu = GpioPuEnable;
stcGpioCfg.enPd = GpioPdDisable;
Gpio_Init(GpioPortB, GpioPin6, &stcGpioCfg);

使用特权

评论回复
8
choice2005| | 2021-3-27 10:53 | 只看该作者
楼主,我想请教一下华大里的PAOUT 和PABSET PABCLR有什么区别

en_result_t Gpio_SetIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
{
    setBit(((uint32_t)&M0P_GPIO->PABSET + enPort), enPin, TRUE);
   
    return Ok;
}


en_result_t Gpio_WriteOutputIO(en_gpio_port_t enPort, en_gpio_pin_t enPin, boolean_t bVal)
{
    setBit(((uint32_t)&M0P_GPIO->PAOUT + enPort), enPin, bVal);
   
    return Ok;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2377

主题

29385

帖子

24

粉丝