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

相关推荐
@yanyu66612 小时前
C编译器安装与第一个C程序
c语言·开发语言
山下梅子酒22512 小时前
洛谷-入门-B2070
c语言
Logic10113 小时前
C语言/数据结构位运算题解:异或XOR找出多任务下载器中的“独特下载速度“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
MI_farmer15 小时前
Anaconda 安装在 D 盘但虚拟环境跑到 C 盘,以及 Conda PermissionError: WinError 5 的解决方法
c语言·开发语言·conda
心中有你021416 小时前
C语言 二叉搜索树(BST)超详细完整实现(插入+查找+删除+三种遍历+内存释放)
c语言
神仙别闹16 小时前
基于C语言实现 TINY+ 编译器
c语言·开发语言·数据库
共享家952718 小时前
C语言-408
c语言·开发语言
ACP广源盛1392462567320 小时前
接口适配方案选型|GSV6125@ACP HDMI2.0 转 Type‑C/DP1.4 桥接芯片工程评估
大数据·c语言·开发语言·硬件架构·硬件工程·国产芯片
芯祥联1 天前
STM32 上跑 MQTT 怎么选?嵌入式 MQTT 客户端 C 语言实现对比
c语言·stm32·单片机·嵌入式硬件·网络协议·开源·broker
Escalating_xu1 天前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言