• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32的AFIO是干什么的?

iksun 2018-05-22 浏览量:10716
初学单片机,看到STM32中有AFIO,这是干什么用的?这和普通IO有什么区别?使用时有什么需要注意的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • AFIO就是IO复用怎么说呢,就是一个IO口用在多个外设上,这叫IO复用,这样做的目的是节省IO资源,提高IO利用率。见下图,这是我在stm32手册上截的

    1.JPG、看到Alternate functions​了吧,下面的default就是默认的功能(也有叫缺省的)反正你用这一栏里面的功能时是不需要配置复用的,Remap就是复用功能啦,比如PE9,默认功能时FSMC的D6,可以复用为定时器1的通道1.可以看到只有一部分IO有复用功能,配置复用功能是需要开启复用的时钟,而且一般可以配置为部分复用和完全复用

    • 发布于 2018-05-22
    • 举报
    • 评论 1
    • 0
    • 0
xbk_295726 回复了 fighter-12315:楼主说的不对吧,Default是复用功能(当Default对应栏有多个选项时可复用);Remap是重映射,和复用是有区别的。。。 回复

其他答案 数量:13
  • 意思是如果在你的程序中,某些外设用的是复用IO口,就必须开该复用时钟。
    比如在STM32F103VET6中USART3的IO口为(TX/PB10,RX/PB11)。但是如果你要是将给外设IO口映射到(TX/PC10,RX/PC11)或者(TX/PD8,RX/PD9),那就必须开启AFIO时钟了,否则外设不会正常工作。
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 手册上有说明 的。


    捕获fgh57霜.PNG


    当用到非GPIO功能的引脚功能时,就要打开这个时钟。

    比如,串口,SPI,IIC之类的,引脚的功能不是GPIO时

    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 复用功能的时钟,要用到引脚的复用功能时,要打开这个时钟的
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 可复用IO口,就是该IO口可以是别的作用,比如串口啊,SPI啊之类的
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以理解为 复用功能控制开关吧, 使能AFIO后,IO口可以配置为其他功能, 比如串口 spi等。不使能的话不行
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • IO口复用时钟,如果一个IO口不是用于其第一功能的话(也即用于复用功能),那么就要开启复用时钟afio
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 启用AFIO后允许将IO口配置为其它功能,如复用的串口,SPI等
    • 发布于2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 复用端口,iic等配置需要先把端口配置成复用端口
    • 发布于2018-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • AFIO是对普通的GPIO扩展一些额外的功能,例如spii2c和uart,这些额外的功能在内部都有实际硬件电路,比直接用GPIO模拟速度要快
    • 发布于2018-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 带有AFIO配置的IO口都是包含多个功能的IO口,如果你没有对IO口配置AFIO,那么只能作为一个普通的IO来使用,如果配置了AFIO,那么急可以使用它的特殊功能,不同的IO有不同的功能如SPI,IIC,串口,FSMC,ADC,DAC等等
    • 发布于2018-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • IO复用,若配置了AFIO,IO口可以配置为其他功能使用
    • 发布于2018-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 端口复用,单片机io口资源有限,有事会给一个io口复用多个功能,比如uart0可能映射到好几组io口,通过软件配置决定使用哪组,提供了很大的灵活性
    • 发布于2018-05-27
    • 举报
    • 评论 0
    • 0
    • 0

  • AFIO就是引脚复用,GPIO是直接输入输出高低电平,AFIO就是区别于GPIO的外设,如串口,SPI,I2C等,这些都要用AFIO寄存器来控制。

    • 发布于2018-05-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32的AFIO是干什么的?