OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 24414|回复: 12

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

[复制链接]

14

主题

168

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
497
金钱
497
注册时间
2013-4-1
在线时间
25 小时
发表于 2014-5-20 15:30:26 | 显示全部楼层 |阅读模式
5金钱
一个项目,没有用到实时时钟,于是PC14,PC15空出来,但是一时大意,放着好几个空着的IO口没有用,
直接把LCD的两个控制脚接到了PC14,PC15。程序中就设置为推挽输出,2M速度,貌似经过测试,压根不能输出高电平。
有没有类似使用经验的哥们,出来赐教下,谢谢!

最佳答案

查看完整内容[请看2#楼]

      参考了各位大神的方案, 已经解决,原来没有添加头文件         #include "stm32f10x_pwr.h"             RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC  | RCC_APB2Periph_AFIO, ENABLE );    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_14 | GPIO_Pin ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

168

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
497
金钱
497
注册时间
2013-4-1
在线时间
25 小时
 楼主| 发表于 2014-5-20 15:30:27 | 显示全部楼层

    
 参考了各位大神的方案, 已经解决,原来没有添加头文件         #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,容性负载没法测。
哎,慢慢调试吧!一时大意啊。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-20 23:16:43 | 显示全部楼层
不错,谢谢分享.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-6-23
在线时间
8 小时
发表于 2015-11-4 04:23:10 | 显示全部楼层
早看到就好了。。。。。。。
回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-9-16
在线时间
21 小时
发表于 2017-7-25 16:10:13 | 显示全部楼层
能做为输入口使用吗?
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-7-25 21:09:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

4

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-1-25
在线时间
16 小时
发表于 2017-11-23 14:50:47 | 显示全部楼层
NULLFF 发表于 2017-7-25 21:09
天哪,这是哪一出的飞机!我用PC13驱动LED,用PC14指示内核活跃状态,都是正常的。
而且PC14为了反应速度 ...

对啊,直接led灌电流进来,他们都瞎几把扯淡的
诚交各路大侠
回复

使用道具 举报

0

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
640
金钱
640
注册时间
2018-10-12
在线时间
91 小时
发表于 2018-12-13 13:59:54 | 显示全部楼层
今天我配置下好像不行
回复

使用道具 举报

5

主题

14

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-12-27
在线时间
10 小时
发表于 2018-12-27 09:52:16 | 显示全部楼层
我使用的晶联讯的  172*104点阵液晶但是不小心,把连接GB1312的3个引脚连在了13、14、15上。
我的配置如下
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO,ENABLE);//¿aC¿úê±Ö󣬸′óÃê±Öó
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | 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);//ÔêDíDT¸ÄRTCoíoó±3¼Ä′æÆ÷
                RCC_LSEConfig(RCC_LSE_OFF);//1رÕía2¿μíËùía2¿ê±ÖóDÅoÅ1|Äüoó£&#172C13/PC14/PC152Å¿éòÔμ±ÆÕí¨IOê1óÃ
                PWR_BackupAccessCmd(DISABLE);//½ûÖ1DT¸Äo󱸼Ä′æÆ÷
                //BKP_TamperPinCmd(DISABLE);//1رÕèëÇÖ¼ì2a1|Äü£¬ò2¾íê&#199C13£¬ò2¿éòÔμ±×öÆÕí¨IOê1óÃ
                //BKP_ITconfig(DISABLE);//±¸·YÇøD′±£»¤
               
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //ROM_CS ƬѡDÅoÅ
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
                GPIO_Init(GPIOC,&GPIO_InitStructure);
我添加了   #include "stm32f10x_pwr.h"   但是出现错误..\OBJ\DC50-01-C1-1720180131.axf: Error: L6218E: Undefined symbol PWR_BackupAccessCmd (referred from jlx_lcd.o).
请各位大神帮忙解决一下,万分感谢。
1545875284(1).jpg
回复

使用道具 举报

5

主题

14

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-12-27
在线时间
10 小时
发表于 2018-12-27 10:14:46 | 显示全部楼层
308709362 发表于 2014-5-20 15:30
    
 参考了各位大神的方案, 已经解决,原来没有添加头文件  & ...

大神  我遇到了和你相似的问题  但是水平有限还是遇到了问题   能不能帮我看看   我回复了你的帖子
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2014-4-13
在线时间
12 小时
发表于 2019-5-9 16:52:37 | 显示全部楼层
突然发现我也犯了同样的失误,偏偏把OLED的控制线挂到了PC13.14.15上,回头按大佬们的办法试试看
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2019-6-29
在线时间
10 小时
发表于 2019-7-8 13:36:50 | 显示全部楼层
自由电子 发表于 2019-5-9 16:52
突然发现我也犯了同样的失误,偏偏把OLED的控制线挂到了PC13.14.15上,回头按大佬们的办法试试看

你的解决了吗?
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2019-6-29
在线时间
10 小时
发表于 2019-7-8 16:09:15 | 显示全部楼层
楼主,我也遇到了同样的问题?这是我的代码,我是hal写的,能帮忙看看吗?
void OLED_Init(void)
{         
          GPIO_InitTypeDef  GPIO_InitStructure;
          __HAL_RCC_GPIOC_CLK_ENABLE();

         HAL_PWR_EnableBkUpAccess();
        __HAL_RCC_LSE_CONFIG(RCC_LSE_OFF);     //这两行设置的对吗?  

        GPIO_InitStructure.Pin =  GPIO_PIN_0 |GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
        GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;  
        GPIO_InitStructure.Pull=GPIO_PULLUP;         
       GPIO_InitStructure.Speed=GPIO_SPEED_LOW;   
       HAL_GPIO_Init(GPIOC,&GPIO_InitStructure);  
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 13:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表