||
该实例的功能:在简易操作系统地调度下,单片机接收红外键盘信号,并把接收到的信号送到液晶显示。
#include "..include/os_core.h"
#include "../include/RedRevDemo.h"
#include "../include/LCD12232.h"
#include "../include/main.h"
void RedMsgLoop(void *pMsg);
void main()
{
OSInit(); // 初始化操作系统
InitRedRev(); // 初始化红外接收程序
InitLCD();
OSTaskCreate(RedMsgLoop, 1); //创建一个任务,优先级为1
OSStart(); // 启动任务调度
}
void RedMsgLoop(void *pMsg) // 只要此任务处于就绪状态,就一直不断地被操作系统调用
{
INT16U keyVal;
pMsg = pMsg;
if (GetKeyMsg(&keyVal)) // 判断接收到的键值是否有效
{
DispStrAt("测试红外接收信号", 0, 0);
DispNumSpaceAt(keyVal, 0, 1, 6); // 显示接收到的红外键盘的键值
}
WaitMessage(KEY_MSG); // 等待下一个红外键盘消息,并让任务进入挂起状态
}