STM32F4的串口1与串口2宏定义到通用

2019-07-20 19:48发布

想把串口定义为通用方便以后移植修改,改完串口1A9/PA10可用,串口二使用修改宏定义和中断服务函数名后却不能用。求浏览代码。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zmingwang
1楼-- · 2019-07-21 00:11
给你参考下我的定义方式
QQ截图20161001182429.png
ZGT6
2楼-- · 2019-07-21 03:04
//c文件 串口1到串口2 只修改  void USART1_IRQHandler(void) 为 void USART2_IRQHandler(void)//h文件   从
#define USARTx            USART1#define USARTx_RCC_APB2   RCC_APB2Periph_USART1
#define USARTx_RCC_AHB1   RCC_AHB1Periph_GPIOA
#define USARTx_PORT           GPIOA
#define USARTx_RXPINs        GPIO_PinSource9
#define USARTx_TXPINs        GPIO_PinSource10
#define USARTx_TXPIN         GPIO_Pin_9
#define USARTx_RXPIN         GPIO_Pin_10
#define USARTx_GPIO_AF    GPIO_AF_USART1
//¿aÆôÖD¶ÏóÃμ½òÔ϶¨òå
#define USARTx_IRQn          USART1_IRQn
#define USARTx_NVIC_PP    3//ÇàÕ¼óÅÏ輶
#define USARTx_NVIC_SP    3//×óóÅÏ輶
修改为
#define USARTx            USART2
#define USARTx_RCC_APB2   RCC_APB1Periph_USART2
#define USARTx_RCC_AHB1   RCC_AHB1Periph_GPIOA
#define USARTx_PORT       GPIOA
#define USARTx_RXPINs     GPIO_PinSource2
#define USARTx_TXPINs     GPIO_PinSource3
#define USARTx_TXPIN      GPIO_Pin_2
#define USARTx_RXPIN      GPIO_Pin_3
#define USARTx_GPIO_AF    GPIO_AF_USART2
//¿aÆôÖD¶ÏóÃμ½òÔ϶¨òå
#define USARTx_IRQn       USART2_IRQn
#define USARTx_NVIC_PP    3//ÇàÕ¼óÅÏ輶
#define USARTx_NVIC_SP    3//×óóÅÏ輶

ZGT6
3楼-- · 2019-07-21 05:27
 精彩回答 2  元偷偷看……
ZGT6
4楼-- · 2019-07-21 06:50
[mw_shl_code=c,true][mw_shl_code=c,true]#ifndef __USART_H
#define __USART_H
#include "stdio.h"        
#include "stm32f4xx_conf.h"
#include "mysys.h"
#define USART_REC_LEN                          200          //¶¨òå×î′ó½óêÕ×Ö½úêy 200
#define EN_USARTx_RX                         1                //ê1Äü£¨1£©/½ûÖ1£¨0£©′®¿ú1½óêÕ
                  
extern u8  USART_RX_BUF[USART_REC_LEN]; //½óêÕ»o3å,×î′óUSART_REC_LEN¸ö×Ö½ú.Ä©×Ö½úÎa»»DD·û
extern u16 USART_RX_STA;                         //½óêÕ×′쬱ê¼Ç        

#define USARTx            USART2
#define USARTx_RCC_APB2   RCC_APB1Periph_USART2
#define USARTx_RCC_AHB1   RCC_AHB1Periph_GPIOA
#define USARTx_PORT       GPIOA
#define USARTx_RXPINs     GPIO_PinSource2
#define USARTx_TXPINs     GPIO_PinSource3
#define USARTx_TXPIN      GPIO_Pin_2
#define USARTx_RXPIN      GPIO_Pin_3
#define USARTx_GPIO_AF    GPIO_AF_USART2
//¿aÆôÖD¶ÏóÃμ½òÔ϶¨òå
#define USARTx_IRQn       USART2_IRQn
#define USARTx_NVIC_PP    3//ÇàÕ¼óÅÏ輶
#define USARTx_NVIC_SP    3//×óóÅÏ輶



//èç1ûÏë′®¿úÖD¶Ï½óêÕ£¬Çë2»òa×¢êíòÔÏÂo궨òå
void uart_init(u32 bound);
#endif

[/mw_shl_code][/mw_shl_code]
正点原子
5楼-- · 2019-07-21 11:43
 精彩回答 2  元偷偷看……

一周热门 更多>