Free RTOS中如何实现下面这样的1ms定时中断及初始化?
Free RTOS中如何实现下面这样的1ms定时中断及初始化?
没有见过类似DEMO,请师友们指点。
void Timer1Init(void) //1毫秒@11.0592MHz
{
AUXR |= 0x40;//定时器时钟1T模式
TMOD &= 0x0F;//设置定时器1模式:
TL1 = 0xCD;//设置定时初值低8位
TH1 = 0xD4;//设置定时初值高8位
TF1 = 0;
TR1 = 1;
ET1 = 1;
EA=1;
}
void Time1_isr() interrupt 3 using 1
{
Key_scan();
}
本帖最后由 hsrzq 于 2024-7-4 12:14 编辑
FreeRTOSConfig.h
#define configCPU_CLOCK_HZ ((uint32_t)11059200)
#define configTICK_RATE_HZ ((TickType_t)1000)
#define INCLUDE_vTaskDelay 1
main.c
static portTASK_FUNCTION(vKeyScanTask, pvParameters)
{
pvParameters;
while (1) {
Key_scan();
vTaskDelay(1);
}
} hsrzq 发表于 2024-7-4 12:12
FreeRTOSConfig.h
这就不用定时器,也就实现了,感谢指点,我还想着如何用定时器1来实现的,初始化放哪都提示错误,我来试试看, 380091044 发表于 2024-7-4 13:32
这就不用定时器,也就实现了,感谢指点,我还想着如何用定时器1来实现的,初始化放哪都提示错误,我来试 ...
对呀,都已经用上实时系统了,直接用系统的时间片就行。
别说简单的键盘扫描了,一般的PLC执行间隔都足够了~~ hsrzq 发表于 2024-7-4 14:58
对呀,都已经用上实时系统了,直接用系统的时间片就行。
别说简单的键盘扫描了,一般的PLC执行间隔都足够 ...
感谢大咖指点,别人都是开大奔就已经很牛了,你这直接开飞机!牛牛 hsrzq 发表于 2024-7-4 14:58
对呀,都已经用上实时系统了,直接用系统的时间片就行。
别说简单的键盘扫描了,一般的PLC执行间隔都足够 ...
代码功能基本都实现了,还有一个小细节,得自己好好研究一下,再次,感谢老师指点。 380091044 发表于 2024-7-5 16:53
代码功能基本都实现了,还有一个小细节,得自己好好研究一下,再次,感谢老师指点。 ...
妈呀,我就是一外行,可不敢叫老师……
页:
[1]