OpenEdv-开源电子网

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

STM32F030x AFIO

[复制链接]

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
发表于 2016-11-21 21:03:36 | 显示全部楼层 |阅读模式
10金钱
最想用 上次STM32峰会拿到的STMF0308-DISCO ,做个平衡小车,来玩玩;
果不其然,遇到的问题超级多,下面把我遇到的一个问题结合STMF1来一起做个讨论;
下面开始
这次,是采用的TIM1_CH1 TIM1_CH2来做TB66的PWM输入;
PWM1.png
这是数据手册,PA8,PA9,对应的功能;
按照之前常用的STM32F1的V3.5的库来说 正常的套路就是:
1:使能GPIOA TIM1的时钟
2:配置GPIO,TIM_Base' TIM_OC
3:  然后在使能就差不多了


正好,我之前也做过SIM32F103的TIM1的7路PWM;
所以就直接移植过来;
果然,没我想象的那么简单;根本就没有输出,于是乎,我就开始漫长苦逼的排查之路,(MDK貌似不支持F0系列的软件仿真,很尴尬)
最后,终于在官方的历程上面找到答案,
pwm2.png
就是这个函数:GPIO_PinAFConfig();
把CH1,CH2的加进去之后,果然,就有了PWM
然乎,我明明记F1是不要这个函数的,于是goto definition 进去
pwm3.png


看上面的意思,貌似是选择引脚的复用 功能;但是又不需要像F1一样使能复用时钟
而且,我看了下,我也用TIM3 的CH3 CH4做了PWM,没有用到GPIO_PinAFConfig()函数,也能正常输出PWM;
所以,我想问下各位大侠,F0在什么情况下,需要使能 GPIO_PiinAFConfig();
F1是对AFIO的时钟使能有说明的,F0的手册上貌似没找到






最佳答案

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

1,当需要某个IO口的复用功能时(AF),需要使用。 2,同1
与其感慨路难行,不如马上出发
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-11-21 21:03:37 | 显示全部楼层
xueshawu 发表于 2016-11-21 21:07
其实,说了这么多,想搞清楚两个问题:
1 、GPIO_PinAFConfig();这个函数在什么情况下用
2、F0系列有使能 ...

1,当需要某个IO口的复用功能时(AF),需要使用。
2,同1
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-21 21:07:10 | 显示全部楼层
其实,说了这么多,想搞清楚两个问题:
1 、GPIO_PinAFConfig();这个函数在什么情况下用
2、F0系列有使能AFIO的函数,有什么情况下用
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-21 22:07:05 | 显示全部楼层
另外,谁有1.4版本的固件库使用手册
与其感慨路难行,不如马上出发
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-21 22:28:47 | 显示全部楼层
GPIO_PinAFConfig()复用模式下用,F0的IO口在设成复用后,需要GPIO_PinAFConfig()来设定到底的复用为何种功能,一个IO口可以复用多种功能,至于是哪一种就用这个设置
第二个问题,我看了下参考手册,没发现这个的使能,请提供具体函数和参数。

F0系列我目前没发现所谓的固件库手册,建议拿030的英文手册结合051的中文手册看。要是不会看参考手册,你就看英文库函数说明吧。
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-21 22:31:22 | 显示全部楼层
而且,我看了下,我也用TIM3 的CH3 CH4做了PWM,没有用到GPIO_PinAFConfig()函数,也能正常输出PWM;

这个是因为设置TIM的输出,默认值就是00,那个复用功能对于复用几。具体的看030的英文数据手册。不会看的话,也当我没说
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-22 11:36:27 | 显示全部楼层
正点原子 发表于 2016-11-21 21:03
1,当需要某个IO口的复用功能时(AF),需要使用。
2,同1

问题是,我用F0的TIM3就没有用到AF,但是,在GPIO_PinAFConfig();里面是包含了TIM3的
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-22 11:38:43 | 显示全部楼层
憨厚诚实大叔 发表于 2016-11-21 22:28
GPIO_PinAFConfig()复用模式下用,F0的IO口在设成复用后,需要GPIO_PinAFConfig()来设定到底的复用为何种功 ...

貌似,时钟使能就只有RCC_AHB   RCC_APB1 RCC_APB2,这些都没有使能复用时钟,我去看看CM0的权威指南看看
与其感慨路难行,不如马上出发
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-22 17:40:13 | 显示全部楼层
xueshawu 发表于 2016-11-22 11:36
问题是,我用F0的TIM3就没有用到AF,但是,在GPIO_PinAFConfig();里面是包含了TIM3的

来来,你告诉我,你对于的IO口设置成什么功能了
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-22 19:25:45 | 显示全部楼层
憨厚诚实大叔 发表于 2016-11-22 17:40
来来,你告诉我,你对于的IO口设置成什么功能了

GPIO 的模式都是AF  ;但是,为什么TIM3不需要GPIO_PinAFconfig()
与其感慨路难行,不如马上出发
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-11-22 19:36:09 | 显示全部楼层
有种东西叫默认值,默认值应该是00,自己去看数据手册和参考手册00对于的功能是什么
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-22 19:46:08 | 显示全部楼层
憨厚诚实大叔 发表于 2016-11-22 19:36
有种东西叫默认值,默认值应该是00,自己去看数据手册和参考手册00对于的功能是什么

我也猜到了;谢谢!!!!
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-24 18:38:45 | 显示全部楼层
这里做一个结尾;STM32F0XX的GPIO 复用分为 8种情况,在数据手册里面有详细介绍

3.png
如图


与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2016-11-24 18:39:38 | 显示全部楼层
xueshawu 发表于 2016-11-24 18:38
这里做一个结尾;STM32F0XX的GPIO 复用分为 8种情况,在数据手册里面有详细介绍

更多GPIO复用 参考数据手册
与其感慨路难行,不如马上出发
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 10:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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