zoukankan      html  css  js  c++  java
  • 串口的移植

    在串口的移植时候一定要更改

    1. 使能USART时钟 串口1挂载在RCC_APB2Periph,而其他的挂载在RCC_APB1Periph.
    2. TX RX的GPIO引脚和时钟
    3. 中断源
    4. 杜邦线的连接.(相应的引脚)
    5. 利用条件编译防止重复编译.
    #define DEBUG_USART1     1
    #define DEBUG_USART2     0
    #define DEBUG_USART3     0
    #define DEBUG_USART4     0
    #define DEBUG_USART5     0
    
    //通过修改上面的01 决定那个串口的使用
    #if DEBUG_USART1
    // 串口1-USART1
    #define  DEBUG_USARTx                   USART1
    #define  DEBUG_USART_CLK                RCC_APB2Periph_USART1
    #define  DEBUG_USART_APBxClkCmd         RCC_APB2PeriphClockCmd
    #define  DEBUG_USART_BAUDRATE           115200
    
    // USART GPIO 引脚宏定义
    #define  DEBUG_USART_GPIO_CLK           (RCC_APB2Periph_GPIOA)
    #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
    
    #define  DEBUG_USART_TX_GPIO_PORT       GPIOA
    #define  DEBUG_USART_TX_GPIO_PIN        GPIO_Pin_9
    #define  DEBUG_USART_RX_GPIO_PORT       GPIOA
    #define  DEBUG_USART_RX_GPIO_PIN        GPIO_Pin_10
    
    #define  DEBUG_USART_IRQ                USART1_IRQn
    #define  DEBUG_USART_IRQHandler         USART1_IRQHandler
    
    #elif DEBUG_USART2
    //串口2-USART2
    #define  DEBUG_USARTx                   USART2
    #define  DEBUG_USART_CLK                RCC_APB1Periph_USART2
    #define  DEBUG_USART_APBxClkCmd         RCC_APB1PeriphClockCmd
    #define  DEBUG_USART_BAUDRATE           115200
    
    // USART GPIO 引脚宏定义
    #define  DEBUG_USART_GPIO_CLK           (RCC_APB2Periph_GPIOA)
    #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
    
    #define  DEBUG_USART_TX_GPIO_PORT       GPIOA
    #define  DEBUG_USART_TX_GPIO_PIN        GPIO_Pin_2
    #define  DEBUG_USART_RX_GPIO_PORT       GPIOA
    #define  DEBUG_USART_RX_GPIO_PIN        GPIO_Pin_3
    
    #define  DEBUG_USART_IRQ                USART2_IRQn
    #define  DEBUG_USART_IRQHandler         USART2_IRQHandler
    
    #elif DEBUG_USART3
    //串口3-USART3
    #define  DEBUG_USARTx                   USART3
    #define  DEBUG_USART_CLK                RCC_APB1Periph_USART3
    #define  DEBUG_USART_APBxClkCmd         RCC_APB1PeriphClockCmd
    #define  DEBUG_USART_BAUDRATE           115200
    
    // USART GPIO 引脚宏定义
    #define  DEBUG_USART_GPIO_CLK           (RCC_APB2Periph_GPIOB)
    #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
    
    #define  DEBUG_USART_TX_GPIO_PORT       GPIOB
    #define  DEBUG_USART_TX_GPIO_PIN        GPIO_Pin_10
    #define  DEBUG_USART_RX_GPIO_PORT       GPIOB
    #define  DEBUG_USART_RX_GPIO_PIN        GPIO_Pin_11
    
    #define  DEBUG_USART_IRQ                USART3_IRQn
    #define  DEBUG_USART_IRQHandler         USART3_IRQHandler
    
    #elif DEBUG_USART4
    //串口4-UART4
    #define  DEBUG_USARTx                   UART4
    #define  DEBUG_USART_CLK                RCC_APB1Periph_UART4
    #define  DEBUG_USART_APBxClkCmd         RCC_APB1PeriphClockCmd
    #define  DEBUG_USART_BAUDRATE           115200
    
    // USART GPIO 引脚宏定义
    #define  DEBUG_USART_GPIO_CLK           (RCC_APB2Periph_GPIOC)
    #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
    
    #define  DEBUG_USART_TX_GPIO_PORT       GPIOC
    #define  DEBUG_USART_TX_GPIO_PIN        GPIO_Pin_10
    #define  DEBUG_USART_RX_GPIO_PORT       GPIOC
    #define  DEBUG_USART_RX_GPIO_PIN        GPIO_Pin_11
    
    #define  DEBUG_USART_IRQ                UART4_IRQn
    #define  DEBUG_USART_IRQHandler         UART4_IRQHandler
    
    #elif DEBUG_USART5
    //串口5-UART5
    #define  DEBUG_USARTx                   UART5
    #define  DEBUG_USART_CLK                RCC_APB1Periph_UART5
    #define  DEBUG_USART_APBxClkCmd         RCC_APB1PeriphClockCmd
    #define  DEBUG_USART_BAUDRATE           115200
    
    // USART GPIO 引脚宏定义
    #define  DEBUG_USART_GPIO_CLK           (RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD)
    #define  DEBUG_USART_GPIO_APBxClkCmd    RCC_APB2PeriphClockCmd
    
    #define  DEBUG_USART_TX_GPIO_PORT       GPIOC
    #define  DEBUG_USART_TX_GPIO_PIN        GPIO_Pin_12
    #define  DEBUG_USART_RX_GPIO_PORT       GPIOD
    #define  DEBUG_USART_RX_GPIO_PIN        GPIO_Pin_2
    
    #define  DEBUG_USART_IRQ                UART5_IRQn
    #define  DEBUG_USART_IRQHandler         UART5_IRQHandler
    
    #endif
  • 相关阅读:
    连接池的配置与维护
    对面向对象的理解
    ActiveMQ重试机制
    activemq持久化的几种方式详解
    zookeeper写数据流程
    G1垃圾回收器
    REDIS哨兵模式和集群模式
    REDIS复制
    REDIS参数配置和运行状态
    slow-log 和bin-log相关参数介绍
  • 原文地址:https://www.cnblogs.com/wenshinlee/p/8972534.html
Copyright © 2011-2022 走看看