uart中断发送和接收处理

uart接收数据在,在发送完成中断回调的时候使能接收数据中断,在接收数据完成的再次使能接收中断。

static void UART0_RX_Callback(uint8 Instance, Uart_EventType Event) {

if (Event == UART_EVENT_END_TRANSFER) {

g_rxComplete = TRUE;

serial_protocol_isr_recv_byte(s_uart_proto, s_rx_data);

s_rx_data = 0;

Uart_Hal_ReceiveData(Instance, &s_rx_data, 1);

}

}

/* 发送回调 */

static void UART0_TX_Callback(uint8 Instance, Uart_EventType Event) {

if (Event == UART_EVENT_END_TRANSFER) {

g_txComplete = TRUE;

Uart_Hal_ReceiveData(Instance, &s_rx_data, 1);

}

}

serial_protocol_isr_recv_byte(s_uart_proto, s_rx_data);将接收的数据存入到唤醒fifo

相关推荐
希和20272 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Zwawa17 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
Fruiticecake17 小时前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
田甲18 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
·present·1 天前
CSAPP(lecture 13_02 Linking)
c语言·c++
wuyk5551 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
Navigator_Z2 天前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
冻柠檬飞冰走茶2 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
Hhy_11072 天前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
曦樂~3 天前
Cpp面筋
c语言·c++