请教一下,关于时间片轮转的问题
H7的开发板,freertos的例程模板。1.只创建了两个优先级一样的任务,取消了系统延迟
void AppTaskLED(void *argument)
{
while(1)
{
bsp_LedOff(2);
//osDelay(1000);
}
}
void AppTaskLED1(void *argument)
{
while(1)
{
bsp_LedOn(2);
//osDelay(1000);
}
}
2.把这个频率配置成1,时间片是不是就是1s,按理说两个一样的任务应该是各运行1s,然后再切换,对应的开发板现象应该是led2间隔1s闪烁,为啥闪烁频率要更快呢
#define configTICK_RATE_HZ ((TickType_t)1)
求大佬解释下
注意,那个Systick是24bit计数器。最大值……2^24 - 1 = 16777215 eric2013 发表于 2021-4-8 09:44
注意,那个Systick是24bit计数器。最大值……2^24 - 1 = 16777215
啥意思,configTICK_RATE_HZ这个配置为1时间片不是1s吗 ssimple 发表于 2021-4-8 11:04
啥意思,configTICK_RATE_HZ这个配置为1时间片不是1s吗
16777215次计数就把Systick整溢出了。
H7的主频是400或者480MHz,你配置为1Hz,分配不出来。 eric2013 发表于 2021-4-8 11:07
16777215次计数就把Systick整溢出了。
H7的主频是400或者480MHz,你配置为1Hz,分配不出来。
明白了!谢谢大佬!
页:
[1]