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

相关推荐
a44931536222 分钟前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
qq_448011162 小时前
C语言中的getchar()
c语言·开发语言
天空'之城2 小时前
C 语言工业级通用组件手写 15:累加和校验
c语言·嵌入式开发·工业级组件·累加和校验
碎光拾影16 小时前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
GeekArch17 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
wuyk55519 小时前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
无相求码21 小时前
C程序的内存到底怎么分的?栈、堆、全局区一张图讲清楚
c语言
天空'之城1 天前
C 语言工业级通用组件手写 08:精准软件消抖
c语言·嵌入式开发·工业级组件·软件消抖·按键防抖
Legendary_0081 天前
LDR6500 设计指南:Type-C 音频快充二合一配件 PD 取电与插拔时序控制方案
c语言·开发语言·音视频
会飞的小新1 天前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft