esp32s2 中 FREERTOS 时钟源问题
esp32s2 中 FREERTOS 时钟源问题
从 MENUCONFIG 看到 freertos 的 TICK 时钟源 默认来自 timer0 , 也可选择TIMER1 。 看文档介绍 ESP32S2 中有 systimer 作用是专用于操作系统的 。 那么为什么FREERTOS 不是用SYSTIMER 做TICK的时钟源呢? 或者我对这几个时钟的作用理解是否还存在误区。 能帮解答一下吗?
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: esp32s2 中 FREERTOS 时钟源问题
ESP32-S2 应该是继承了 ESP32 的做法,理论上是可以使用 systimer。ESP32-C3 已经使用 systimer 做 tick source 了,你可以看下。
Re: esp32s2 中 FREERTOS 时钟源问题
ESP32S FREERTOS 时钟 tick 采用的是哪个时钟组?
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: esp32s2 中 FREERTOS 时钟源问题
如你之前所说,默认使用的 timer0,也可以在 menuconfig 里选择使用 timer1。
Re: esp32s2 中 FREERTOS 时钟源问题
我想问的是 哪个时钟组 TIMER GROUP
看到某资料
由于 ESP-IDF 基于的 FreeRTOS 最大的时钟频率为 1 kHz,当需要生成更精确的时钟中断时(比如每 100 us 产生一个中断)可使用 ESP32 的 timer group。
很显然我如果这样将timer GROUP 例程 中的
#define TIMER_INTERVAL0_SEC (0.0001)
#define TIMER_INTERVAL1_SEC (5)
如此设置, 程序不能再进入 5S 的timer 进程中
看到某资料
由于 ESP-IDF 基于的 FreeRTOS 最大的时钟频率为 1 kHz,当需要生成更精确的时钟中断时(比如每 100 us 产生一个中断)可使用 ESP32 的 timer group。
很显然我如果这样将timer GROUP 例程 中的
#define TIMER_INTERVAL0_SEC (0.0001)
#define TIMER_INTERVAL1_SEC (5)
如此设置, 程序不能再进入 5S 的timer 进程中
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: esp32s2 中 FREERTOS 时钟源问题
这个实际不是用的 timer group,而是 xtensa CPU 内核里的 timer,比较器。
Who is online
Users browsing this forum: No registered users and 77 guests