update Demo-Service/6、综合应用/comp_usart.c.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2026-02-19 09:51:00 +00:00
committed by Gitee
parent 421eb0b6ae
commit 6f3b60685f
+6 -4
View File
@@ -12,7 +12,7 @@
* @note 本例程仅以 STM32-HAL库 的应用为例,其它情形请用户自行做出调整。
* @author 迟凯峰
* @version V1.0.0
* @date 2025.11.01
* @date 2026.02.19
******************************************************************************/
#if 1 /* 编译开关 */
@@ -67,7 +67,7 @@ static bool flag_uart1_send = false;
/**
* \brief 滴答钩子
* \details 依次查询各个标志,为真就清除标志,而后调用相应服务。
* @note 此处应调用前缀为“t”的滴答服务。
* \note 此处应调用前缀为“t”的滴答服务。
*/
void tick_hook(void) MCUCFG_OSIT_ATTRIBUTE
{
@@ -90,7 +90,7 @@ void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
/* 用定时查询来控制发送分包间隔时间 */
#if (PENDSV_FIFO_FLAG == 1) /* FIFO服务 */
iTimQry_ms(tmid_uart1_send, pack_uart1_send);
#else /* FLAG服务 */// 定时服务仅时间关键,无需触发PendSV,而是在系统滴答中调用并执行服务。
#else /* FLAG服务 */// 定时服务仅时间关键,无需触发PendSV,而是在 SysTick中断 中调用并执行服务。
flag_uart1_send = true;
#endif
}
@@ -116,7 +116,7 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
/* 用定时中断来控制接收分包间隔时间,并提前解析(在下一包数据到来之前完成解析)*/
#if (PENDSV_FIFO_FLAG == 1) /* FIFO服务 */
iTimInt_ms(tmid_uart1_recv, pack_uart1_recv);
#else /* FLAG服务 */// 定时服务仅时间关键,无需触发PendSV,而是在系统滴答中调用并执行服务。
#else /* FLAG服务 */// 定时服务仅时间关键,无需触发PendSV,而是在 SysTick中断 中调用并执行服务。
flag_uart1_recv = true;
#endif
}
@@ -283,9 +283,11 @@ void XXX2_IRQHandler(void) // interrupt XXX2_VECTOR
/** 启动钩子 */
void start_hook(void)
{
/* 初始化串口1接收 */
uart1_recv.err = false;
uart1_recv.p = uart1_recv.buff;
HAL_UART_Receive_DMA(&huart1, (uint8_t *)uart1_recv.p, 1);
/* 启动任务 */// 所有定时任务均由 CosyOS 自动启动,无需用户启动。
uStartTask_Ready(task_1);
uStartTask_Ready(task_2);
}