OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2945|回复: 1

stm32串口1,2,3,4,5中断函数能合体吗

[复制链接]

10

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2015-8-1
在线时间
11 小时
发表于 2016-4-19 16:39:56 | 显示全部楼层 |阅读模式
10金钱


#define portCase(sPort,x,y1,y2,y3,y4,y5) switch(sPort){\
                case 1:                \
                        x = y1;        \
                        break;        \
                case 2:                \
                        x = y2;        \
                        break;        \
                case 3:                \
                        x = y3;        \
                        break;        \
                case 4:                \
                        x = y4;        \
                        break;        \
                case 5:                \
                        x = y5;        \
                        break;        \
        }


void comInit(uint8_t sPort){
        USART_InitTypeDef USART_InitStructure;
        USART_TypeDef* USARTx;

    /* USART232 configured as follow:
          - BaudRate = 115200 baud
          - Word Length = 8 Bits
          - One Stop Bit
          - No parity
          - Hardware flow control disabled (RTS and CTS signals)
          - Receive and transmit enabled
    */
        USART_InitStructure.USART_BaudRate = 115200;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        portCase(sPort,USARTx,USART1,USART2,USART3,UART4,UART5);
        /* Configure USART232 */
        USART_Init(USARTx, &USART_InitStructure);

        /* Enable USART232 Receive and Transmit interrupts */
        USART_ITConfig(USARTx, USART_IT_RXNE, ENABLE);

        /* Enable the USART232 */
        USART_Cmd(USARTx, ENABLE);

        USART_ClearFlag(USARTx, USART_FLAG_TC);   
}



怎么把USART1_IRQHandler,USART2_IRQHandler,USART3_IRQHandler,UART4_IRQHandler,UART5_IRQHandler函数也用一个部分搞定

每个人都说我蠢い
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2016-4-19 17:18:07 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 16:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表