cortex m0航顺HK32F030M之GPIO初始化

cortex m0航顺HK32F030M之GPIO初始化

编码文章call10242025-04-10 20:59:4913A+A-

特别注意:GPIO口初始化之后要延时一下再进行操作,否则可能不成功。

MCU写完程序后,最好断电再上电运行程序,有时候仅仅复位程序不运行。

void xxGpioInit(void)

{

GPIO_InitTypeDef m_gpio; //定义一个GPIO的结构体

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE); //开启GPIOC 的时钟,可以改成需要的端口号,有A,B,C,D,CRC,SRAM

m_gpio.GPIO_Mode = GPIO_Mode_OUT; //模式,有输入GPIO_Mode_IN,有输出GPIO_Mode_OUT,有辅助功能模式GPIO_Mode_AF,模拟量GPIO_Mode_AN

m_gpio.GPIO_OType = GPIO_OType_PP; //输出引脚的内部连接类型,GPIO_OType_PP推挽模式,GPIO_OType_OD开漏模式

m_gpio.GPIO_Pin = GPIO_Pin_7; //要设置的GPIO引脚号码,可以是硬件有的号码,也可以提前宏定义,在这用别名也不错

m_gpio.GPIO_PuPd = GPIO_PuPd_NOPULL; //上下拉设置,输出模式设置为GPIO_PuPd_NOPULL,1高电平0低电平,输入模式GPIO_PuPd_UP上拉,GPIO_PuPd_DOWN下拉

m_gpio.GPIO_Speed = GPIO_Speed_10MHz; //工作速度,低速模式GPIO_Speed_Level_1是2MHZ,正常模式GPIO_Speed_Level_2是10MHZ

GPIO_Init(GPIOC, &m_gpio); //调用初始化函数,指定端口号和前面定义的结构体名,初始化之后就可以使用GPIO口

}

GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //端口置位1

GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //端口复位0

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4