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

相关推荐
xskukuku2 小时前
使用VSCode配置C语言运行环境
c语言·ide·vscode
努力努力再努力wz10 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
J2虾虾10 小时前
C 语言 void 完全用法
c语言·开发语言
wu_ye_m10 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
J2虾虾13 小时前
C语言 typedef 用法
c语言·数据结构·算法
WL学习笔记14 小时前
顺序表详解
c语言·数据结构
c++之路15 小时前
CMake 系列教程(一):CMake 基础知识
c语言·开发语言·c++
我还记得那天15 小时前
C语言随机数生成机制与猜数字游戏实现
c语言·开发语言·游戏
万法若空16 小时前
C/C++基本类型表示范围
c语言·开发语言·c++
J2虾虾18 小时前
C 语言 sizeof 完全用法指南
c语言·数据结构·算法