13401|21

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于IO用作复用功能时的时钟设置注意要点 [复制链接]

近来碰到很多客户在使用STM32的外设时,由于IO口被用作复用功能,但是外设的初始化正确,GPIO口初始化正确,外设的时钟也已开启,但是外设无法正常运行。
其中最关键的一项,大多数使用者多没有设置,就是某个IO口被用作外设的接口时,需要开启IO口的复用功能的时钟,即进行外设、IO的时钟使能时,需要如下代码

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx | RCC_APB2Periph_AFIO, ENABLE);    /* GPIOx and AFIO clock enable */
x --- 为对应的GPIO口,如:A、B、C、D、E。

希望用户在使用时,注意该要点!
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-8-30 10:22
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

学习了!

                                 学习了!
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

还好我一看寄存器里有个AFIO的时钟使能

                                 就知不使能它肯定不好使,要不然出了问题可真是很难找啊!
此帖出自stm32/stm8论坛
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 

AFIO的时钟使能

  AFIO的时钟使能,什么时候是必须的,什么时候不需要?
  有人说,在使用串口时,没有使能AFIO的时钟,串口也能正常工作。
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

5
 

太及时了

                                 多谢了,我说怎么不好用那!如果AFIO时钟不设置,软件仿真没问题,硬件仿真就不行了,一直找不到原因,这回明白了,多谢了!
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 

haha!就是它了

                                 以前吃过亏!!
此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

7
 

我串口,定时器,AD不设他也照常工作啊 ?

                                 谁能解释一下?
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

8
 

版主来解释一下

                                 急需版主来解释一下
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 

关于GPIO端口复用功能的使用

需要使能AFIO时钟的基本原则是:使用到技术参考手册(RM0008)第7.3节介绍的功能所涉及的管脚时,应使能AFIO时钟。但具体哪些情况一定要开启AFIO时钟,手册上确实讲的不清楚,我正在与总部的工程师沟通,试图搞清楚这个问题。

目前最好的办法就是:只要使用IO管脚的复用功能时,始终开启AFIO时钟!
此帖出自stm32/stm8论坛
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(初级)

10
 

看来版主也不是很清楚这块内容

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

11
 

搞清楚固然重要,但更重要的是实用

我注重的是解决实际问题,在此基础上才是明白背后的原理,如果原理一时搞不清楚,只要不影响应用,就只好先缓一缓。

我在9楼已经说过,我正在与总部的工程师沟通,等有了结果再回来向大家汇报。
此帖出自stm32/stm8论坛
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(初级)

12
 

呵呵

                                 感谢热心的版主
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

13
 

同问:我也觉得只有使用到了remap以及

                                 外部中断,还有很少人用到的Cortex-M3的SEV指令时才需要打开AFIO时钟
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

14
 

超过一个复用功能怎么选择

翻遍手册没找到说明,
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 

看ST的库

在那个conf.h里开启外设,打开同一个端口上所有复用的外设,并且都初始化(初始化外设,初始化GPIO,开启外设的时钟,开启IO口复用功能的时钟),会有什么后果,总线fault?
芯片设计时为什么不考虑用多路开关,用户可以通过寄存器配置
此帖出自stm32/stm8论坛
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(初级)

16
 

没交代明白

                                 需要权威来解释一下
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 

任何时候一个管脚只可能有一种功能

实际应用中不可能有一个管脚有超过一个复用功能的情况,所以14、15楼的问题没有意义。

如果你不幸作了15楼说的事情,我很难说清楚有什么后果,至少芯片本身不会损坏,但如果你的外围电路因此误动作造成芯片损坏,只有设计这个电路的人才能知道了。
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

18
 

我想问的是在多个复用功能间选择的问题

                                 按照你们的库,初始化外设和IO,开启时钟,开启外设就可以用了。多个复用功能间选择一个,禁止另外的没有说明,翻遍你们的手册也没找到说明。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

19
 

哈哈,常识性的问题

如果你能够理解“任何时候一个管脚只可能有一种功能”是一个基本原则,是一个常识性的基础,“只能选择管脚的多个复用功能中的一个,禁止其他复用功能”也就是一个基本常识了,这种常识性的东西好像不必在手册里明确说明吧。

打个比方,芯片需要加电才能工作,但手册里并没有明确说明这一点,因为没有必要。
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

20
 

可能我意思没表达清楚

                                 我想问的是怎样选择其中一个功能 ,你们的库是这样用的,初始化外设和IO,开启时钟,把外设映射到APB总线上,这就代表这个外设被激活了,你们的手册没找到相关说明。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表