【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(二)

简介: 【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构

【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(一)https://developer.aliyun.com/article/1472621


创建工程

配置高速时钟和低速时钟为外部晶振提供

配置调试模式为sw调试模式

配置时钟频率

配置led,这里我的板子是这三个io接入的是led

配置一个10ms的定时器(1000000hz / 1000ms == 1ms = 1khz 就得到10ms需要计数10000重载)记得打开中断

配置工程并生成,工程名设置,单独生成.c.h文件拷贝库文件

下面开始代码的移植工作;

移植代码

首先我们需要将该开源项目的代码添加到工程中

在定时器中断服务函数中添加timeslice轮询函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  if(htim->Instance == TIM3)
  {
    timeslice_tick();
  }
}

然后我们需要在main函数中启动定时器并在while1中调用exec函数调度时间片

HAL_TIM_Base_Start_IT(&htim3);
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    
    timeslice_exec();
  }

到这里我们的移植工作就做完了,该项目的解耦效果真的非常好,移植相当简单,然后我们创建几个任务实验一下效果;


【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(三)https://developer.aliyun.com/article/1472623

相关文章
|
1月前
|
存储
嵌入式微处理器的系统架构中指令系统
嵌入式微处理器的系统架构中指令系统
16 0
|
28天前
|
程序员 Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(三)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
28天前
|
Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(一)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
1月前
|
缓存 开发者
嵌入式微处理器的系统架构中微处理器的内核架构
嵌入式微处理器的系统架构中微处理器的内核架构
60 0
|
1月前
|
存储 物联网 C语言
嵌入式微处理器的系统架构中冯诺依曼计算机系统
嵌入式微处理器的系统架构中冯诺依曼计算机系统
10 0
|
1月前
|
存储 传感器 内存技术
嵌入式微处理器的系统架构
嵌入式微处理器的系统架构
17 0
|
1月前
|
存储 传感器 缓存
轻量级的嵌入式模块化软件架构
轻量级的嵌入式模块化软件架构
43 1
|
10天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
10天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
5天前
|
消息中间件 负载均衡 持续交付
构建高效微服务架构:后端开发者的终极指南
【4月更文挑战第25天】在当今软件工程领域,微服务架构已经成为实现可扩展、灵活且容错的系统的首选模式。本文将探讨如何从零开始构建一个高效的微服务系统,涵盖关键组件的选择、通信机制、数据管理以及持续集成和部署策略。通过深入分析与案例研究,我们旨在为后端开发者提供一个全面的微服务实践指南,帮助他们在构建现代化应用时做出明智的架构决策。