MCU加入自带的RTX
程序员文章站
2022-07-04 13:33:38
...
// RTOS 初始化
osKernelInitialize();
// 创建任务
osThreadCreate(osThread(key_task),NULL);
// 启动内核
osKernelStart();
while(1)
{
}
// 消息队列创建
static osMessageQId key_q_msg_handle = NULL;
static osMessageQDef(keyQueue, 10, uint32_t);
key_q_msg_handle = osMessageCreate(osMessageQ(keyQueue), NULL);
// 发送消息
osMessagePut(key_q_msg_handle,MSG_KEY_3,0);
// 任务样板
static void key_task(void const* argc)
{
while(1)
{
osDelay(20);
}
}
目前很多OS都喜欢搞一个任务启动main.但是这个main会占用一些资源,为了节约,我一般都屏蔽掉。
配置任务栈信息。
目前OS一般有一个消息队列基本上很多功能都可以实现了。
RTX的方便是调试在keil下可以直接 看任务信息。