乐鑫技术交流
直播中

康桃花

7年用户 943经验值
私信 关注
[问答]

用ESP8266_RTOS_SDK进行代码编译,如何更改tick数据?

我用ESP8266_RTOS_SDK进行代码编译,可以正常工作,但是感觉os的tick太长,默认是10ms调度一次。我尝试修改宏定义configTICK_RATE_HZ,并且重新编译了库文件libfreerots.a,但是程序运行后,tick并没有改变,请问我该怎么做?

回帖(1)

石玉兰

2024-7-10 17:56:35
要更改ESP8266_RTOS_SDK中的tick数据,您需要按照以下步骤操作:

1. 找到FreeRTOS的配置文件:首先,您需要找到FreeRTOS的配置文件,通常这个文件名为`FreeRTOSConfig.h`。这个文件包含了FreeRTOS的配置选项,包括tick率。

2. 修改tick率:在`FreeRTOSConfig.h`文件中,找到`configTICK_RATE_HZ`宏定义。这个宏定义决定了FreeRTOS的tick率,单位是Hz(次/秒)。例如,如果您希望将tick率从默认的100Hz(10ms)更改为200Hz(5ms),您可以将`configTICK_RATE_HZ`的值更改为200。

```c
#define configTICK_RATE_HZ ( ( TickType_t ) 200 )
```

3. 重新编译FreeRTOS库:修改`FreeRTOSConfig.h`文件后,您需要重新编译FreeRTOS库。在ESP8266_RTOS_SDK中,通常可以通过以下命令重新编译库文件:

```bash
make lib
```

4. 重新编译整个项目:在重新编译FreeRTOS库之后,您需要重新编译整个项目,以确保新的tick率设置生效。使用以下命令重新编译项目:

```bash
make
```

5. 烧录到设备:最后,将重新编译后的固件烧录到您的ESP8266设备上,并测试新的tick率是否生效。

请注意,更改tick率可能会影响系统的实时性能和调度。在更改tick率之前,请确保您了解可能的影响,并根据您的应用需求进行调整。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分