STM32串口中断服务函数的触发

我想问USART是是怎么触发发送中断服务函数的,USART_ITConfig();这个库函数使能中断,我先在想在USARTx_IRQHandler(void)这个函数里通过发送中断发送数据,怎么进入中断服务函数呢??

USART_Init(USART1, &USART_InitStructure); //设置波特率
USART_Cmd(USART1,ENABLE); //使能USART1
USART_SendData(USART1, TXBUFF1[0]); //发送数据

USATRT的发送寄存器不为空就进入发送中断追问

我记得还有发送完数据进入中断, 怎么设置?

追答

数据发送完了,还进入中断干嘛?

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-20

    串口用于发送 接收数据,当单片机接收到一帧数据后,向CPU申请中断,若之前有中断允许,则产生了中断,进入中断服务程序。当然,单片机发送完一帧数据,同样会产生中断!

    USART_ITConfig(  ,,); 是开启串口响应中断函数,第二个入口参数是标识使能串口的类型,也就是使能哪种串口中断;

    我不知道你想要怎么发送数据,一般是依据所要发送数据的长度建立一个for,循环发送,类似:

     for(t=0;t<len;t++) 
          { 
            USART1->DR=USART_RX_BUF[t]; 
            while((USART1->SR&0X40)==0);//等待发送结束 
          }

    还有什么问题可以追问,看懂点的给个赞哈
相似回答