BitSend2Buzy=1; USART_ITConfig(USART2, USART_IT_TXE, ENABLE); ////////////////发送中断标志位 while(BitSend2Buzy) { ; }
时间: 2023-08-02 13:10:17 浏览: 163
串口发送中断
这段代码是关于使用DMA发送串口数据的部分。根据代码中的注释,当进入接收回调函数后,状态会变为准备状态,然后通过HAL_UART_Receive_IT函数开启接收中断。接着,如果要发送数据,会导致发送和接收状态同时处于忙碌状态。与中断标志位不太一样。为了解决这个问题,代码中采用了一个循环来等待发送完成的标志位。具体的解决方法是,当(&huart1)->gState等于HAL_UART_STATE_READY时,根据dma_uartThread的值选择相应的数据进行发送。发送完成后,将dma_state标志位设为0。代码中还定义了一些测试用的字符串和相关的变量。\[1\]\[2\]\[3\]
至于你提到的BitSend2Buzy和USART_ITConfig函数,这段代码中并没有涉及到。所以无法给出具体的解释。
#### 引用[.reference_title]
- *1* *2* [【stm32MXcube+HAL库笔记】HAL库中中断的问题(基于usart)](https://blog.csdn.net/weixin_49578216/article/details/116664483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [完美解决HAL库HAL_UART_Transmit_DMA()不延时就发不了下一条的问题](https://blog.csdn.net/m0_68619789/article/details/129050066)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文