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

在单片机应用中,使用延时函数 DelayMS() 会导致程序在延时期间无法执行其他任务,
这可能影响系统对一些响应时间要求较高的任务的处理。
为了提高系统的响应速度和利用单片机的空闲时间,可以在延时函数中加入 bsp_Idle() 函数,
以允许在延时期间执行一些低优先级的任务或处理其他需要即时响应的操作。
像 modbus 数据解析这样的通讯任务,在需要及时响应的情况下,
利用单片机的空闲时间通过 bsp_Idle() 来处理这类任务能够显著提高通讯的响应速度。
这种做法对于确保通讯的稳定性和即时响应至关重要,而不至于被延时函数影响而导致通讯出现问题。

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);		
}

相关推荐

  1. DelayMS加入bsp_Idle,单片机空闲利用起来

    2024-03-25 11:10:02       35 阅读
  2. 单片机如何实现1ms或者1us

    2024-03-25 11:10:02       52 阅读
  3. 51单片机第26步_单片机工作空闲模式

    2024-03-25 11:10:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 11:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 11:10:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 11:10:02       82 阅读
  4. Python语言-面向对象

    2024-03-25 11:10:02       91 阅读

热门阅读

  1. 56. 携带矿石资源(第八期模拟笔试)

    2024-03-25 11:10:02       39 阅读
  2. python的基本语法解析

    2024-03-25 11:10:02       43 阅读
  3. 【编程向导】代码管理-Git二期期讲解

    2024-03-25 11:10:02       28 阅读
  4. leetcode - 284. Peeking Iterator

    2024-03-25 11:10:02       38 阅读
  5. 天猫开店怎么发布产品

    2024-03-25 11:10:02       42 阅读
  6. 蓝桥杯刷题_day3

    2024-03-25 11:10:02       39 阅读
  7. vue v-for指令

    2024-03-25 11:10:02       35 阅读
  8. linux系统Kubernetes工具ingress暴露服务

    2024-03-25 11:10:02       35 阅读
  9. video/pdf文件预览与进度上传

    2024-03-25 11:10:02       40 阅读
  10. 代码审计与web安全-第四章作业

    2024-03-25 11:10:02       40 阅读
  11. vue3.0-monaco组件封装

    2024-03-25 11:10:02       36 阅读
  12. 1. 一起学习机器学习 -- Data_exploration

    2024-03-25 11:10:02       35 阅读
  13. QT GUI常用函数介绍

    2024-03-25 11:10:02       41 阅读