stm32f429引脚复用

发布者:数据舞者最新更新时间:2018-12-26 来源: eefocus关键字:stm32f429  引脚复用 手机看文章 扫描二维码
随时随地手机看文章

以下内容在stm32f4xx_gpio.h内

 

/** @defgroup GPIO_Alternat_function_selection_define 

  * @{

  */ 

/** 

  * @brief   AF 0 selection  

  */ 

#define GPIO_AF_RTC_50Hz      ((uint8_t)0x00)  /* RTC_50Hz Alternate Function mapping */

#define GPIO_AF_MCO           ((uint8_t)0x00)  /* MCO (MCO1 and MCO2) Alternate Function mapping */

#define GPIO_AF_TAMPER        ((uint8_t)0x00)  /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */

#define GPIO_AF_SWJ           ((uint8_t)0x00)  /* SWJ (SWD and JTAG) Alternate Function mapping */

#define GPIO_AF_TRACE         ((uint8_t)0x00)  /* TRACE Alternate Function mapping */

#if defined (STM32F446xx)

#define GPIO_AF0_TIM2         ((uint8_t)0x00)  /* TIM2 Alternate Function mapping */

#endif /* STM32F446xx */

 

/** 

  * @brief   AF 1 selection  

  */ 

#define GPIO_AF_TIM1          ((uint8_t)0x01)  /* TIM1 Alternate Function mapping */

#define GPIO_AF_TIM2          ((uint8_t)0x01)  /* TIM2 Alternate Function mapping */

 

/** 

  * @brief   AF 2 selection  

  */ 

#define GPIO_AF_TIM3          ((uint8_t)0x02)  /* TIM3 Alternate Function mapping */

#define GPIO_AF_TIM4          ((uint8_t)0x02)  /* TIM4 Alternate Function mapping */

#define GPIO_AF_TIM5          ((uint8_t)0x02)  /* TIM5 Alternate Function mapping */

 

/** 

  * @brief   AF 3 selection  

  */ 

#define GPIO_AF_TIM8          ((uint8_t)0x03)  /* TIM8 Alternate Function mapping */

#define GPIO_AF_TIM9          ((uint8_t)0x03)  /* TIM9 Alternate Function mapping */

#define GPIO_AF_TIM10         ((uint8_t)0x03)  /* TIM10 Alternate Function mapping */

#define GPIO_AF_TIM11         ((uint8_t)0x03)  /* TIM11 Alternate Function mapping */

#if defined (STM32F446xx)

#define GPIO_AF3_CEC          ((uint8_t)0x03)  /* CEC Alternate Function mapping */

#endif /* STM32F446xx */

/** 

  * @brief   AF 4 selection  

  */ 

#define GPIO_AF_I2C1          ((uint8_t)0x04)  /* I2C1 Alternate Function mapping */

#define GPIO_AF_I2C2          ((uint8_t)0x04)  /* I2C2 Alternate Function mapping */

#define GPIO_AF_I2C3          ((uint8_t)0x04)  /* I2C3 Alternate Function mapping */

#if defined (STM32F446xx)

#define GPIO_AF4_CEC          ((uint8_t)0x04)  /* CEC Alternate Function mapping */

#define GPIO_AF_FMPI2C        ((uint8_t)0x04)  /* FMPI2C Alternate Function mapping */

#endif /* STM32F446xx */

 

/** 

  * @brief   AF 5 selection  

  */ 

#define GPIO_AF_SPI1          ((uint8_t)0x05)  /* SPI1/I2S1 Alternate Function mapping */

#define GPIO_AF_SPI2          ((uint8_t)0x05)  /* SPI2/I2S2 Alternate Function mapping */

#define GPIO_AF5_SPI3         ((uint8_t)0x05)  /* SPI3/I2S3 Alternate Function mapping (Only for STM32F411xE Devices) */

#define GPIO_AF_SPI4          ((uint8_t)0x05)  /* SPI4/I2S4 Alternate Function mapping */

#define GPIO_AF_SPI5          ((uint8_t)0x05)  /* SPI5 Alternate Function mapping      */

#define GPIO_AF_SPI6          ((uint8_t)0x05)  /* SPI6 Alternate Function mapping      */

 

/** 

  * @brief   AF 6 selection  

  */ 

#define GPIO_AF_SPI3          ((uint8_t)0x06)  /* SPI3/I2S3 Alternate Function mapping */

#define GPIO_AF6_SPI2         ((uint8_t)0x06)  /* SPI2 Alternate Function mapping (Only for STM32F411xE Devices) */

#define GPIO_AF6_SPI4         ((uint8_t)0x06)  /* SPI4 Alternate Function mapping (Only for STM32F411xE Devices) */

#define GPIO_AF6_SPI5         ((uint8_t)0x06)  /* SPI5 Alternate Function mapping (Only for STM32F411xE Devices) */

#define GPIO_AF_SAI1          ((uint8_t)0x06)  /* SAI1 Alternate Function mapping      */

 

/** 

  * @brief   AF 7 selection  

  */ 

#define GPIO_AF_USART1         ((uint8_t)0x07)  /* USART1 Alternate Function mapping  */

#define GPIO_AF_USART2         ((uint8_t)0x07)  /* USART2 Alternate Function mapping  */

#define GPIO_AF_USART3         ((uint8_t)0x07)  /* USART3 Alternate Function mapping  */

#define GPIO_AF7_SPI3          ((uint8_t)0x07)  /* SPI3/I2S3ext Alternate Function mapping */

 

/** 

  * @brief   AF 7 selection Legacy 

  */ 

#define GPIO_AF_I2S3ext   GPIO_AF7_SPI3

 

/** 

  * @brief   AF 8 selection  

  */ 

#define GPIO_AF_UART4         ((uint8_t)0x08)  /* UART4 Alternate Function mapping  */

#define GPIO_AF_UART5         ((uint8_t)0x08)  /* UART5 Alternate Function mapping  */

#define GPIO_AF_USART6        ((uint8_t)0x08)  /* USART6 Alternate Function mapping */

#define GPIO_AF_UART7         ((uint8_t)0x08)  /* UART7 Alternate Function mapping  */

#define GPIO_AF_UART8         ((uint8_t)0x08)  /* UART8 Alternate Function mapping  */

#if defined (STM32F446xx)

#define GPIO_AF8_SAI2          ((uint8_t)0x08)  /* SAI2 Alternate Function mapping */

#define GPIO_AF_SPDIF         ((uint8_t)0x08)   /* SPDIF Alternate Function mapping */

#endif /* STM32F446xx */

 

/** 

  * @brief   AF 9 selection 

  */ 

#define GPIO_AF_CAN1          ((uint8_t)0x09)  /* CAN1 Alternate Function mapping  */

#define GPIO_AF_CAN2          ((uint8_t)0x09)  /* CAN2 Alternate Function mapping  */

#define GPIO_AF_TIM12         ((uint8_t)0x09)  /* TIM12 Alternate Function mapping */

#define GPIO_AF_TIM13         ((uint8_t)0x09)  /* TIM13 Alternate Function mapping */

#define GPIO_AF_TIM14         ((uint8_t)0x09)  /* TIM14 Alternate Function mapping */

 

#define GPIO_AF9_I2C2         ((uint8_t)0x09)  /* I2C2 Alternate Function mapping (Only for STM32F401xx/STM32F411xE Devices) */

#define GPIO_AF9_I2C3         ((uint8_t)0x09)  /* I2C3 Alternate Function mapping (Only for STM32F401xx/STM32F411xE Devices) */

#if defined (STM32F446xx)

#define GPIO_AF9_SAI2         ((uint8_t)0x09)  /* SAI2 Alternate Function mapping */

#endif /* STM32F446xx */

#define GPIO_AF9_LTDC         ((uint8_t)0x09)  /* LTDC Alternate Function mapping */

#if defined (STM32F446xx)

#define GPIO_AF9_QUADSPI      ((uint8_t)0x09)  /* QuadSPI Alternate Function mapping */

#endif /* STM32F446xx */

/** 

  * @brief   AF 10 selection  

  */ 

#define GPIO_AF_OTG_FS         ((uint8_t)0xA)  /* OTG_FS Alternate Function mapping */

#define GPIO_AF_OTG_HS         ((uint8_t)0xA)  /* OTG_HS Alternate Function mapping */

#if defined (STM32F446xx)

#define GPIO_AF10_SAI2         ((uint8_t)0x0A)  /* SAI2 Alternate Function mapping */

#endif /* STM32F446xx */

#if defined (STM32F446xx)

#define GPIO_AF10_QUADSPI      ((uint8_t)0x0A)  /* QuadSPI Alternate Function mapping */

#endif /* STM32F446xx */

/** 

  * @brief   AF 11 selection  

  */ 

#define GPIO_AF_ETH             ((uint8_t)0x0B)  /* ETHERNET Alternate Function mapping */

 

/** 

  * @brief   AF 12 selection  

  */ 

#if defined (STM32F40_41xxx)

#define GPIO_AF_FSMC             ((uint8_t)0xC)  /* FSMC Alternate Function mapping                     */

#endif /* STM32F40_41xxx */

 

#if defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F446xx)

#define GPIO_AF_FMC              ((uint8_t)0xC)  /* FMC Alternate Function mapping                      */

#endif /* STM32F427_437xx || STM32F429_439xx || STM32F446xx */

 

#define GPIO_AF_OTG_HS_FS        ((uint8_t)0xC)  /* OTG HS configured in FS, Alternate Function mapping */

#define GPIO_AF_SDIO             ((uint8_t)0xC)  /* SDIO Alternate Function mapping                     */

 

/** 

  * @brief   AF 13 selection  

  */ 

#define GPIO_AF_DCMI          ((uint8_t)0x0D)  /* DCMI Alternate Function mapping */

 

/** 

  * @brief   AF 14 selection  

  */

#define GPIO_AF_LTDC          ((uint8_t)0x0E)  /* LCD-TFT Alternate Function mapping */

 

/** 

  * @brief   AF 15 selection  

  */ 

#define GPIO_AF_EVENTOUT      ((uint8_t)0x0F)  /* EVENTOUT Alternate Function mapping */

 

#if defined (STM32F40_41xxx)

#define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \

                          ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \

                          ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \

                          ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \

                          ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \

                          ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \

                          ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \

                          ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \

                          ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \

                          ((AF) == GPIO_AF_USART3)    || ((AF) == GPIO_AF_UART4)     || \

                          ((AF) == GPIO_AF_UART5)     || ((AF) == GPIO_AF_USART6)    || \

                          ((AF) == GPIO_AF_CAN1)      || ((AF) == GPIO_AF_CAN2)      || \

                          ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \

                          ((AF) == GPIO_AF_ETH)       || ((AF) == GPIO_AF_OTG_HS_FS) || \

                          ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_DCMI)      || \

                          ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_FSMC))

#endif /* STM32F40_41xxx */

 

#if defined (STM32F401xx)

#define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \

                          ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \

                          ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \

                          ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \

                          ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \

                          ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \

                          ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \

                          ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \

                          ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \

                          ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_USART6)    || \

                          ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \

                          ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_SPI4))

#endif /* STM32F401xx */

 

#if defined (STM32F411xE)

#define IS_GPIO_AF(AF)   (((AF) < 16) && ((AF) != 11) && ((AF) != 13) && ((AF) != 14))

#endif /* STM32F411xE */

 

#if defined (STM32F427_437xx) || defined (STM32F429_439xx)

#define IS_GPIO_AF(AF)   (((AF) == GPIO_AF_RTC_50Hz)  || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_MCO)       || ((AF) == GPIO_AF_TAMPER)    || \

                          ((AF) == GPIO_AF_SWJ)       || ((AF) == GPIO_AF_TRACE)     || \

                          ((AF) == GPIO_AF_TIM1)      || ((AF) == GPIO_AF_TIM2)      || \

                          ((AF) == GPIO_AF_TIM3)      || ((AF) == GPIO_AF_TIM4)      || \

                          ((AF) == GPIO_AF_TIM5)      || ((AF) == GPIO_AF_TIM8)      || \

                          ((AF) == GPIO_AF_I2C1)      || ((AF) == GPIO_AF_I2C2)      || \

                          ((AF) == GPIO_AF_I2C3)      || ((AF) == GPIO_AF_SPI1)      || \

                          ((AF) == GPIO_AF_SPI2)      || ((AF) == GPIO_AF_TIM13)     || \

                          ((AF) == GPIO_AF_SPI3)      || ((AF) == GPIO_AF_TIM14)     || \

                          ((AF) == GPIO_AF_USART1)    || ((AF) == GPIO_AF_USART2)    || \

                          ((AF) == GPIO_AF_USART3)    || ((AF) == GPIO_AF_UART4)     || \

                          ((AF) == GPIO_AF_UART5)     || ((AF) == GPIO_AF_USART6)    || \

                          ((AF) == GPIO_AF_CAN1)      || ((AF) == GPIO_AF_CAN2)      || \

                          ((AF) == GPIO_AF_OTG_FS)    || ((AF) == GPIO_AF_OTG_HS)    || \

                          ((AF) == GPIO_AF_ETH)       || ((AF) == GPIO_AF_OTG_HS_FS) || \

                          ((AF) == GPIO_AF_SDIO)      || ((AF) == GPIO_AF_DCMI)      || \

                          ((AF) == GPIO_AF_EVENTOUT)  || ((AF) == GPIO_AF_SPI4)      || \

                          ((AF) == GPIO_AF_SPI5)      || ((AF) == GPIO_AF_SPI6)      || \

                          ((AF) == GPIO_AF_UART7)     || ((AF) == GPIO_AF_UART8)     || \

                          ((AF) == GPIO_AF_FMC)       ||  ((AF) == GPIO_AF_SAI1)     || \

                          ((AF) == GPIO_AF_LTDC))

#endif /* STM32F427_437xx ||  STM32F429_439xx */

 

#if defined (STM32F446xx)

#define IS_GPIO_AF(AF)   (((AF) < 16) && ((AF) != 11) && ((AF) != 14))

#endif /* STM32F446xx */

 

/**

  * @}

  */ 

 

/** @defgroup GPIO_Legacy 

  * @{

  */

    

#define GPIO_Mode_AIN           GPIO_Mode_AN

 

#define GPIO_AF_OTG1_FS         GPIO_AF_OTG_FS

#define GPIO_AF_OTG2_HS         GPIO_AF_OTG_HS

#define GPIO_AF_OTG2_FS         GPIO_AF_OTG_HS_FS

 

/**

  * @}

  */

 

/**

  * @}

  */


关键字:stm32f429  引脚复用 引用地址:stm32f429引脚复用

上一篇:初探STM32 SPI2中断接受多组数据的处理方式
下一篇:STM32时钟文件

推荐阅读最新更新时间:2024-03-16 16:21

STM32F429 >> 19. RTC_实时时钟(Code)
配置及读取日期和时间 此工程没有读取亚秒值。 若想让时钟断电后持续计时,则不要使能RTC_Config() 函数中的后备域访问。 bsp_rtc.h /** ****************************************************************************** * @file bsp_rtc.h * @author Waao * @version V1.0.0 * @date 17-Feb-2019 * @brief This file contains some board support package's definition for t
[单片机]
第22章 STM32F429的SysTick实现多组软件定时器
22.1 初学者重要提示 比通用定时器要容易掌握很多,因为嘀嗒定时器的功能比较的单一,根据ARM的说法,此定时器就是专门为RTOS的系统时钟节拍而设计。 本章节为大家讲解的多组软件定时器实现方案非常实用,建议初学者熟练掌握。 22.2 Systick基础知识 关于滴答定时器,初学者仅需了解到以下几点知识就够了。 Systick是Cortex-M4内核自带的组件,其它几个常用的硬件异常HardFault,SVC和PendSV也都是是内核自带的,其中Systick,SVC和PendSV的中断优先级是可编程的,跟SPI中断、ADC中断、UART中断等一样,都在同一个NVIC下配置的。而HardFault是不可编程的,且优先级
[单片机]
第22章 <font color='red'>STM32F429</font>的SysTick实现多组软件定时器
STM32F429驱动外部SDRAM
STM32F429的一个很大优势就是可以直接驱动SDRAM,这样一下子就可以外扩可观的运存,很诱惑。 这里用到的SDRAM 为W9825G6KH, 256Mbit, 32MByte 配置CubeMX 这里不展开这里面的数值的具体计算过程,主要是按照手册来算的,感兴趣的可以网上寻找,有很多相关的资料。 SDRAM 初始化,SDRAM不像SRAM配置好了就可以用,他需要初始化 #include stm32f4xx_hal.h extern SDRAM_HandleTypeDef hsdram1; #define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000)
[单片机]
<font color='red'>STM32F429</font>驱动外部SDRAM
STM32F429 >> 5. 按键控制LED 开关
本工程板级支持包文件适用于野火stm32f429 开发板。 本工程中涉及bsp_led.c, bsp_led.h 等文件,请前往STM32F429 4. 使用固件库点亮LED进行查看 bsp_key.c /** ****************************************************************************** * @file bsp_key.c * @author Waao * @version V1.0.0 * @date 20-Dec-2018 * @brief This file contains some board support pack
[单片机]
STM32F429之SysTick系统定时器
因为 SysTick 属于内核外设,跟普通外设的中断优先级有些区别,并没有抢占优先级和子优先级的说法。滴答定时器优先级也是可以设置的同样受NVIC控制。 SysTick_Config()库函数主要配置了 SysTick 中的三个寄存器: LOAD、 VAL 和 CTRL。其中还调用了固件库函数 NVIC_SetPriority()来配置系统定时器的中断优先级,该库函数也在 core_m4.h 中定义 试试到底需要配置不 试试到底需要配置不//记得需要设置中断优先级 static void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure;
[单片机]
stm32f429 中通过基本定时器中断控制LED灯亮一秒、灭一秒
stm32f429中基本定时器有两个,通用定时器有十个,高级定时器有两个。其中基本定时器为TIM6和TIM7。 此处通过编写TIM7定时中断控制LED灯亮灭,TIM6与之类似。 首先可以新建一个.c 和.h 文件,在.c文件中进行TIM7函数定义等,如下图所示: #include bsp_tim_basic.h static void BASIC_TIMx_Mode_Config() { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7,ENABLE);//开启时钟 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;//结构体
[单片机]
stm32f429固件库之SPI读写FLASH
SPI——串行外设总线(Seriel Peripheral Interface),全双工通信,4条线:1、SCK(Seriel Clock,时钟信号线——用于同步通信),由主机产生,两个设备通信时,速率受限于低速设备;2、SS(也称NSS、CS,设备选择信号线,也是片选信号线),每个设备通过一条独有的CS线连接到主机,当CS拉低时,表示被选中;3、MISO(Master Input Slave Output,主机输入从机输出);4、MOSI(Master Input Slave Output,主机输出从机输入)。SCK、MISO、MOSI这三条线各个从机共用,CS线为每个从机独有连接主机。 SPI协议层:通信的起始信号:CS由高变
[单片机]
STM32F429之 嵌套向量中断控制器NVIC
外部中断/事件控制器由20个产生事件/中断请求的边沿检测器组成,对于其它 产品,则有19个能产生事件/中断请求的边沿检测器。每个输入线可以独立地配置输入类型(脉冲 或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏 蔽。挂起寄存器保持着状态线的中断请求。 主要特性 EXTI控制器的主要特性如下: ● 每个中断/事件都有独立的触发和屏蔽 ● 每个中断线都有专用的状态位 ● 支持多达20个软件的中断/事件请求 ● 检测脉冲宽度低于APB2时钟宽度的外部信号。参见数据手册中电气特性部分的相关参数。 STM32中有两个优先级的概念:抢占式优先级和响应优先级(也叫副优先级)。 他们的特性是: 1:高
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved