发 帖  
原厂入驻New
发烧友10周年庆典,全网超值优惠来袭!千元现金券,下单抽奖赶紧参与》》
[问答] 新手请教STM32f030的PF0的问题
1525 STM32F030 STM32
分享
STM32f030F4  20脚的MCU,GPIO不够,因此想把当晶振用的PF0 和PF1 也用了
看文档写的:
Using the HSE or LSE oscillator pins as GPIOs
When the HSE or LSE oscillator is switched OFF (default state after reset), the related oscillator pins can be used as normal GPIOs.
When the HSE or LSE oscillator is switched ON (by setting the HSEON or LSEON bit in the RCC_CSR register) the oscillator takes control of its associated pins and the GPIO configuration of these pins has no effect.
When the oscillator is configured in a user external clock mode, only the OSC_IN or OSC32_IN pin is reserved for clock input and the OSC_OUT or OSC32_OUT pin can still be used as normal GPIO.

已经:
#define PLL_SOURCE_HSI        // HSI (~8MHz) used to clock the PLL, and the PLL is used as system clock source
//#define PLL_SOURCE_HSE        // HSE (8MHz) used to clock the PLL, and the PLL is used as system clock source
//#define PLL_SOURCE_HSE_BYPASS // HSE bypassed with an external clock (8MHz, coming from ST-Link) used to clock

选择为内部RC振荡器,但是PF0 还是不能用,有哪位大虾知道否?
0
2019-4-8 20:34:19   评论 分享淘帖 邀请回答
19个回答
我看了一下手册,应该是直接用就可以了。这2个引脚没有复用。
2019-4-8 20:50:40 评论

举报

你的OSC_IN/OSC_OUT 引脚用作GPIO时需要配置,也就是进行端口映射,默认是晶振管脚,不知道你配置了吗?
2019-4-8 21:16:24 评论

举报

需要怎么配置,我只是在IO配置写了
       
  /* Configure PF.0  as PP output */
  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOF, &GPIO_InitStruct);
2019-4-8 21:22:36 评论

举报

看一下GPIO.h,里面有IO复用映射void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);
2019-4-8 21:32:57 评论

举报

回复第 5 楼 于2014-03-28 14:46:03发表:
看一下GPIO.h,里面有IO复用映射void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF); 

我试过: //GPIO_PinAFConfig(GPIOF, GPIO_PinSource1, GPIO_AF_0);
发现不好使,F030的PDF中只描述了GPIOA,GPIOB的AFn的复用,没有讲到GPIOF,不知道怎么设置
2019-4-8 21:49:14 评论

举报

回复第 7 楼 于2014-03-29 10:06:02发表:
我看了一下手册,应该是直接用就可以了。这2个引脚没有复用。 

没有选择内部振荡器,结果管脚对地大约1.8V左右,选择内部RC振荡器后,管脚始终是低电平,f0的资料也太少了,要是f1早就搞定了
2019-4-8 22:04:15 评论

举报

stm32的芯片在哪能找到datasheet?各种芯片资料上EasyDatasheet可以查到
2019-4-8 22:18:38 评论

举报

RCC_CSR 中的HSEON 和LSEON 直接清零呢
2019-4-8 22:33:18 评论

举报

回复第 10 楼 于2014-04-01 20:32:16发表:
RCC_CSR 中的HSEON 和LSEON 直接清零呢 

抱歉,回复晚了,找自己的帖子找不到了
HSEON LSEON 都清零了,也不好使,有没有人用成过?
现在都没信心弄这个了
2019-4-8 22:51:24 评论

举报

你翻一下固件库,有参考的代码么
2019-4-8 23:10:11 评论

举报

准备用F051的PF脚,但还没有用.
你可以:
查一个GPIO的配置函数.
里面应该有描述:
if (GPIOx == GPIOF)
或相关的,
其实只要有:库基本可以找到用法,及配置方法
只是建议
需要进行GPIO服用映射, 这两个GPIO默认是作为时钟,你要在初始化时将它选择作为GPIO使用才行
2019-4-8 23:35:35 评论

举报

管脚应该是要映射或者配置一下吧
2019-4-8 23:47:58 评论

举报

我想问一下怎么样重映射,新手,不太懂~
2019-4-9 00:07:25 评论

举报

在System_stm32F030xx.c文件中,
将static void SetSysClock(void) 函数中的
RCC->CR  = (uint32_t)RCC_CR_HSEON;
改为:
RCC->CR &= ~((uint32_t)RCC_CR_HSEON);
也就是将外部时钟关闭就行了
2019-4-9 00:23:07 评论

举报

2019-4-9 00:29:31 评论

举报

楼主,你的问题解决了吗??我现在就是弄着这个问题,求赐教
2019-4-9 00:47:33 评论

举报

17楼正解!
要用PF0和PF1只要把外部低速时钟关闭,然后配置这两个引脚为GPIO模式就可以了
2019-4-9 00:53:45 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /10 下一条

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