实时时钟晶振脚PC14,PC15如何作为普通IO使用?

2019-07-20 23:05发布

一个项目,没有用到实时时钟,于是PC14,PC15空出来,但是一时大意,放着好几个空着的IO口没有用,
直接把LCD的两个控制脚接到了PC14,PC15。程序中就设置为推挽输出,2M速度,貌似经过测试,压根不能输出高电平。
有没有类似使用经验的哥们,出来赐教下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
308709362
2019-07-21 00:19

    
 参考了各位大神的方案, 已经解决,原来没有添加头文件         #include "stm32f10x_pwr.h"


            RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC  | RCC_APB2Periph_AFIO, ENABLE );  
 GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_14 | GPIO_Pin_15  ;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
 GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
   
    PWR_BackupAccessCmd(ENABLE);//允许修改RTC 和后备寄存器

    RCC_LSEConfig(RCC_LSE_OFF);//关闭外部低速外部时钟信号功能 后,PC13 PC14 PC15 才可以当普通IO用。

    PWR_BackupAccessCmd(DISABLE);//禁止修改后备寄存器


针对很多人所说的,手册上标明,PC13,PC14,PC15不能同时作为输出,但是最新的手册已经做了更改,并且经过我的测试是可行的,可以同时都是高电平。



不过在管脚足够的情况下,还是不太建议使用这几个管脚作为普通IO口,毕竟速度太慢,即使能输出高电平,我还真不知道能不能驱动LCD,容性负载没法测。
哎,慢慢调试吧!一时大意啊。

一周热门 更多>