HC单片机的基本输入输出操作差不多,只需要更改个别参数即可
这边先介绍普通的GPIO输入
void GPIO_In_Init(en_gpio_port_t enPort, en_gpio_pin_t enPin)
{
stc_gpio_cfg_t stcGpioCfg;
///< 打开GPIO外设时钟门控
Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
///< 端口方向配置->输入
stcGpioCfg.enDir = GpioDirIn;
stcGpioCfg.enPu = GpioPuDisable;//关闭高电平触发
stcGpioCfg.enPd = GpioPdEnable;//使能低电平触发
stcGpioCfg.enOD = GpioOdDisable;//关闭开漏
Gpio_Init(enPort, enPin, &stcGpioCfg);//初始化gpio
}
想要获取输入值,可以参考样例库中代码
引用gpio头文件后直接调用即可,总体没什么难度
/**
*******************************************************************************
** \brief GPIO IO输入值获取
**
** \param [in] enPort IO Port口
** \param [in] enPin IO Pin脚
**
** \retval boolean_t IO电平高低
******************************************************************************/
boolean_t Gpio_GetInputIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
{
return GetBit(((uint32_t)&M0P_GPIO->PAIN + enPort), enPin);
}
/**
*******************************************************************************
** \brief GPIO IO Port输入数据获取
**
** \param [in] enPort IO Port
**
** \retval boolean_t IO Port数据
******************************************************************************/
u