我参考官方的api,自己写了 一个时钟使能的函数。
- /*
- *********************************************************************************************************
- *函数名:GPIO_CLK_CTL
- *功能说明:初始化CLK时钟
- *形参:GPIOx:代表某组管脚,NewState:代表是否使能
- *返回值:无
- *********************************************************************************************************
- */
- void GPIO_CLK_CTL(GPIO_SFRmap* GPIOx, FunctionalState NewState)
- {
- /* 参数校验 */
- CHECK_RESTRICTION(CHECK_GPIO_ALL_PERIPH(GPIOx));
- if (GPIOx == GPIOA_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOACLKEN, NewState);
- }
- else if (GPIOx == GPIOB_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOBCLKEN, NewState);
- }
- else if (GPIOx == GPIOC_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOCCLKEN, NewState);
- }
- else if (GPIOx == GPIOD_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIODCLKEN, NewState);
- }
- else if (GPIOx == GPIOE_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOECLKEN, NewState);
- }
- else if (GPIOx == GPIOF_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOFCLKEN, NewState);
- }
- else if (GPIOx == GPIOG_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOGCLKEN, NewState);
- }
- else if (GPIOx == GPIOH_SFR)
- {
- PCLK_CTL0_Peripheral_Clock_Enable(PCLK_CTL0_GPIOHCLKEN, NewState);
- }
- else
- {
- ;
- }
- }
你把替换成我的这个- GPIO_CLK_CTL(GPIOx,ENABLE);
应该就可以了。
|