#ifndef FREERTOS_CONFIG_H

#define FREERTOS_CONFIG_H

#include “stm32f10x.h”

#include “bsp_usart.h”

//针对不同的编译器调用不同的stdint.h文件

#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)

#include 《stdint.h》

extern uint32_t SystemCoreClock;

#endif

//断言

#define vAssertCalled(char,int) printf(“Error:%s,%d\r\n”,char,int)

#define configASSERT(x) if((x)==0) vAssertCalled(__FILE__,__LINE__)

/************************************************************************

* FreeRTOS基础配置配置选项

*********************************************************************/

/* 置1:RTOS使用抢占式调度器;置0:RTOS使用协作式调度器(时间片)

*

* 注:在多任务管理机制上,操作系统可以分为抢占式和协作式两种。

* 协作式操作系统是任务主动释放CPU后,切换到下一个任务。

* 任务切换的时机完全取决于正在运行的任务。

*/

#define configUSE_PREEMPTION 1

//1使能时间片调度(默认式使能的)

#define configUSE_TIME_SLICING 1

/* 某些运行FreeRTOS的硬件有两种方法选择下一个要执行的任务:

* 通用方法和特定于硬件的方法(以下简称“特殊方法”)。

*

* 通用方法:

* 1.configUSE_PORT_OPTIMISED_TASK_SELECTION 为 0 或者硬件不支持这种特殊方法。

* 2.可以用于所有FreeRTOS支持的硬件

* 3.完全用C实现,效率略低于特殊方法。

* 4.不强制要求限制最大可用优先级数目

* 特殊方法:

* 1.必须将configUSE_PORT_OPTIMISED_TASK_SELECTION设置为1。

* 2.依赖一个或多个特定架构的汇编指令(一般是类似计算前导零[CLZ]指令)。

* 3.比通用方法更高效

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查