在DelayMS加入bsp_Idle,把单片机延时空闲利用起来

在单片机应用中,使用延时函数 DelayMS() 会导致程序在延时期间无法执行其他任务,

这可能影响系统对一些响应时间要求较高的任务的处理。

为了提高系统的响应速度和利用单片机的空闲时间,可以在延时函数中加入 bsp_Idle() 函数,

以允许在延时期间执行一些低优先级的任务或处理其他需要即时响应的操作。

像 modbus 数据解析这样的通讯任务,在需要及时响应的情况下,

利用单片机的空闲时间通过 bsp_Idle() 来处理这类任务能够显著提高通讯的响应速度。

这种做法对于确保通讯的稳定性和即时响应至关重要,而不至于被延时函数影响而导致通讯出现问题。

c 复制代码
void bsp_DelayMS(uint32_t n)
{
	DISABLE_INT();
	s_uiDelayCount = n;
	s_ucTimeOutFlag = 0;
	ENABLE_INT();  			

	while (1)
	{
		bsp_Idle();			
		if (s_ucTimeOutFlag == 1)
		{
			break;
		}
	}
}

void bsp_Idle(void)
{
    if( HS_MOD1_MODE ==0) 
			MODS_Poll(0);
		else
			MODH_Poll(0);		
}
相关推荐
李永奉5 小时前
51单片机-驱动步进电机模块教程
单片机·嵌入式硬件·51单片机
李永奉9 小时前
51单片机-实现定时器模块教程
单片机·嵌入式硬件·51单片机
IT永勇10 小时前
STM32高级定时器-输出比较模式
stm32·单片机·嵌入式开发·pwm输出·高级定时器
正在努力的小河11 小时前
GPIO子系统自主实现(简单版)
linux·单片机·嵌入式硬件
什么半岛铁盒11 小时前
处理端口和 IP 地址
网络·单片机·tcp/ip
国科安芯1 天前
高速CANFD收发器ASM1042在割草机器人轮毂电机通信系统中的适配性研究
网络·单片机·嵌入式硬件·性能优化·机器人·硬件工程
CC呢1 天前
基于单片机智能路灯控制
单片机·嵌入式硬件·智能路灯
DDUU__1 天前
STM32低功耗模式
stm32·单片机·嵌入式硬件
小莞尔1 天前
【51单片机】【protues仿真】基于51单片机宠物投食器系统
c语言·stm32·单片机·嵌入式硬件·51单片机·proteus
逼子格1 天前
【Protues仿真】基于AT89C52单片机的数码管驱动事例
单片机·嵌入式硬件·硬件工程·硬件工程师·protues·数码管·电路仿真