📄 main.c.bak
字号:
// ARM Linker 选项:
// -info totals -ro-base 0x0C084000 -first Init.o(Init)
//
#include "defs.h"
#include "44b0x.h"
#include <avt.h>
#include <avtintl.h>
#include <string.h>
//void LcdMain(void *args);
//void GreenMain(void *args);
// 清看门狗
void
clrwtd(void) {
rPDATE ^= 1 << 3;//异或
rPDATE ^= 1 << 6;
rPDATE ^= 1 << 7;
rPDATC ^= 1 << 2;
}
// 串口命令接收任务
void GetPkt(void *args)
{
// 数据报格式
// |-------------------
// |H|F| len | data |C|
// |-------------------
// H: 帧头('H')
// F: 功能码(0x66为对钟)
// len: 数据长度
// data: 报文数据字段
// C: 累加和校验
while(1)
{
if(getkey() == 'H')
{
if(getkey() == 0x66)
{
bsp_puts("收到对钟命令!\n");
}
}
tm_delay(50);
}
}
void PwmWork(void *args)
{
while(1)
{
bsp_puts("收到对钟命令!\n");
tm_delay(10);
}
}
// 根任务
void root(void)
{
UINT tid;
// 先清一次看门狗
clrwtd();
// 创建串口命令接收任务
(void)t_create("DZ", 3, GetPkt, 0, 0, 1, &tid);
// 创建PWM任务
(void)t_create("PWM", 4, PwmWork, 0, 0, 1, &tid);
// 根任务现在变成看门狗任务,1秒清一次看门狗
while(1)
{
clrwtd();
bsp_puts("root任务正在执行...\n");
tm_delay(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -