• 端口复用和端口重映射


    端口复用是重点,只要使用stm32就要用到外设,外设是与gpio引脚共用(复用)的,即某些引脚既可以单纯作为输入输出,又可以作为具有一定功能的外设(如ADC, 串口等等)的引脚端口。

    这是stm32的一个优点,节省了引脚的数量。

    端口的复用和重映射的引脚对应可以查询芯片手册,stm32的Mini板对应的是STM32F103RCT6。如图

    复用具体步骤

    复用端口初始化有几个步骤:
    1) GPIO 端口时钟使能。要使用到端口复用,当然要使能端口的时钟了。
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);【这个函数在LED那一节已经接触过,在stm32f10x_rcc.c这个文件里】
    2) 复用的外设时钟使能。比如你要将端口 PA9,PA10 复用为串口,所以要使能串口时钟。
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);【同样在stm32f10x_rcc.c这个文件里,只是判断有效性的第一项不同】


    3) 端口模式配置。 在 IO 复用位内置外设功能引脚的时候,必须设置 GPIO 端口的模式,至于
    在复用功能下 GPIO 的模式是怎么对应的,这个可以查看手册《 STM32 中文参考手册 V10》
    P110 的表格" 8.1.11 外设的 GPIO 配置"。

    端口重映射用的比较少,一般了解即可,主要是为了方便pcb的布线,将某些端口映射到其他端口。

  • 相关阅读:
    -F, --flush-logs
    perl 处理文本
    zookeeer 集群和伪集群模式
    匿名函数和闭包
    perl 读取cookie
    看医疗行业如何建立信息化战略决策
    浅析职业安全感——北漂18年(63)
    perl 面向对象 new方法
    如何去掉MyEclipse中的MyEclipse Derby
    Not enough space svn: zlib (uncompress): buffer error: Decompression of svndiff data failed
  • 原文地址:https://www.cnblogs.com/yishuad/p/5740722.html
Copyright © 2020-2023  润新知