打印

stm32f100管脚疑问

[复制链接]
5401|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


见上图,为何数据手册上对OSC_IN和OSC_OUT有2处描述?
第一处描述并没有表明可以Remap为PD0和PD1。
第二处对LQFP100封装又定位了2个全新脚位(主功能均为OSC),并且在附注11中表明可以Remap为PD0和PD1,但表格中Remap栏没有任何标注。
这该如何理解?
请教版主和各位朋友解惑!

stm32_osc1.jpg (11.4 KB )

stm32_osc1.jpg

stm32_osc2.jpg (12.48 KB )

stm32_osc2.jpg

stm32_osc1.jpg (76.54 KB )

stm32_osc1.jpg

stm32_osc2.jpg (15.8 KB )

stm32_osc2.jpg
沙发
airwill| | 2012-4-10 08:19 | 只看该作者
呵呵,这个资料太精练了.
对于不同的封装,定义有差别.
仔细看看下面的 11 注释就明白了.

使用特权

评论回复
板凳
BigCat111|  楼主 | 2012-4-10 11:24 | 只看该作者
回楼上,如果以注释11为准,可是表格开始第一处对5,6脚描述来看,不具备PD0,PD1功能,管脚类型也是固定的I和O,也没有5V容忍电路,完全不具备I/O口的特性,好像是专门的震荡器引脚。和后面的第二处描述冲突,
另外,对于LQFP100封装,(12,13)和(81,82)干嘛要定义为相同功能呢,难道内部是直连的么,数据手册一般是比较严谨的,之说以如此描述大体是有原因的,说以才迷惑呀。

使用特权

评论回复
地板
BigCat111|  楼主 | 2012-4-10 13:07 | 只看该作者
呵呵,刚才仔细看了Remap部分文档,终于理清楚了,数据手册对OSC管脚在不同封装中的描述是比较混乱,终结了下,应该对应下面格式就很直观:

使用特权

评论回复
5
yinyangdianzi| | 2012-4-10 13:48 | 只看该作者
这个资料出自哪个手册?

使用特权

评论回复
6
BigCat111|  楼主 | 2012-4-10 14:29 | 只看该作者
回5楼兄弟:
资料来源:RM0041 STM32F100xx advanced ARM-based 32-bit MCUs V4.0   P25

stm32f100.jpg (54.44 KB )

stm32f100.jpg

使用特权

评论回复
7
BigCat111|  楼主 | 2012-4-10 15:05 | 只看该作者
衍生出新问题:对于100PIN(stmf100)以下的封装,5、6脚可以Remap为PD0、PD1,如果设置PD0、PD1为从功能,但不Remap,那么5、6脚将失去任何功能变成废物呢,还是其他状况?

使用特权

评论回复
8
香水城| | 2012-4-10 15:30 | 只看该作者
设置PD0、PD1为从功能,但不Remap,这是什么配置?从功能是哪种配置模式?

使用特权

评论回复
9
BigCat111|  楼主 | 2012-4-10 15:50 | 只看该作者
回版主,其实我就是想知道那样做会是什么确切的状态,所谓知己知彼啊,呵呵,很多脚都有这种情形,就是选从功能,必须Reamp,因为从功能中如果不Remap,就没有对应模式了,不知道这样做会不会出什么幺蛾子啊。:lol

使用特权

评论回复
10
香水城| | 2012-4-10 16:05 | 只看该作者
回版主,其实我就是想知道那样做会是什么确切的状态,所谓知己知彼啊,呵呵,很多脚都有这种情形,就是选从功能,必须Reamp,因为从功能中如果不Remap,就没有对应模式了,不知道这样做会不会出什么幺蛾子啊。:lol ...
BigCat111 发表于 2012-4-10 15:50


我不知道你说的“从功能”是什么意思?英文是什么?

我们没有这种说法,我对应不起来呀,:L

使用特权

评论回复
11
BigCat111|  楼主 | 2012-4-10 16:08 | 只看该作者
从功能就是管脚的备用功能,第二功能,我自己习惯叫它从功能了(相对于主功能):funk:

使用特权

评论回复
12
香水城| | 2012-4-10 16:13 | 只看该作者
从功能就是管脚的备用功能,第二功能,我自己习惯叫它从功能了(相对于主功能):funk:
BigCat111 发表于 2012-4-10 16:08


你可以按照你的习惯说,但要让别人明白才行。

再请问,它的英文原意是什么? :@

使用特权

评论回复
13
香水城| | 2012-4-10 16:14 | 只看该作者
估计你说的是“Alternate Function”,但还是请说明白为好,省得有任何歧义。

使用特权

评论回复
14
BigCat111|  楼主 | 2012-4-10 16:20 | 只看该作者
是的,就是Alternate Function,看来我习惯自言自语,都成交流障碍了。:)

使用特权

评论回复
15
香水城| | 2012-4-10 16:36 | 只看该作者
衍生出新问题:对于100PIN(stmf100)以下的封装,5、6脚可以Remap为PD0、PD1,如果设置PD0、PD1为从功能,但不Remap,那么5、6脚将失去任何功能变成废物呢,还是其他状况? ...
BigCat111 发表于 2012-4-10 15:05


请问:你怎么设置能够实现“设置PD0、PD1为Alternate Function,但不Remap”?配置哪些寄存器?

使用特权

评论回复
16
BigCat111|  楼主 | 2012-4-10 16:47 | 只看该作者
回版主:
GPIO_InitTypeDef GPIO_InitStructure;

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOD, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_Init(GPIOD, &GPIO_InitStructure);

可以实现将PD0、PD1定义为Alternate Funct,没有进行Remap设置。

使用特权

评论回复
17
香水城| | 2012-4-10 16:54 | 只看该作者
按照LS的设置,那2个引脚的功能是OSC_IN和OSC_OUT。

使用特权

评论回复
18
BigCat111|  楼主 | 2012-4-10 16:56 | 只看该作者
GPIO_Init()函数会设置GPIOx->BRR 或者GPIOx->BSRR,(实现上拉或者下拉或者初始化输出状态)
  以及控制寄存器GPIOx->CRL(模式);

使用特权

评论回复
19
BigCat111|  楼主 | 2012-4-10 17:05 | 只看该作者
/*  @arg GPIO_Remap_PD01             : PD01 Alternate Function mapping*/
   GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE);
   GPIO_PinRemapConfig(); 函数设置AFIO->MAPR,可以将OSC_IN和OSC_OUT Remap为PD0,PD1

使用特权

评论回复
20
BigCat111|  楼主 | 2012-4-10 17:08 | 只看该作者
就是说:PD0,PD1,设置为Alternate Funct,不设置对应Remap寄存器MAPR,依然是OSC功能么?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

20

帖子

0

粉丝