📄 test.c
字号:
EventQ1 = OSQCreate(&EventQTbl1[0], EVENT_Q_1_SIZE);
OSEventNameSet(EventQ1, "Queue #1", &err);
EventQ2 = OSQCreate(&EventQTbl2[0], EVENT_Q_2_SIZE);
OSEventNameSet(EventQ2, "Queue #2", &err);
#endif
#if OS_MUTEX_EN > 0
EventMutex1 = OSMutexCreate(MUTEX_PIP_1, &err);
OSEventNameSet(EventMutex1, "Mutex #1", &err);
EventMutex2 = OSMutexCreate(MUTEX_PIP_2, &err);
OSEventNameSet(EventMutex2, "Mutex #2", &err);
#endif
#if OS_FLAG_EN > 0
FlagGrp1 = OSFlagCreate(0x00FF, &err);
OSFlagNameSet(FlagGrp1, "Flag #1", &err);
FlagGrp2 = OSFlagCreate(0xFF00, &err);
OSFlagNameSet(FlagGrp2, "Flag #2", &err);
#endif
#if OS_MEM_EN > 0
MemPart1 = OSMemCreate(&MemPart1Tbl[0], MEM_BLKS_1, MEM_BLK_SIZE_1, &err);
OSMemNameSet(MemPart1, "Partition #1", &err);
MemPart2 = OSMemCreate(&MemPart2Tbl[0], MEM_BLKS_2, MEM_BLK_SIZE_2, &err);
OSMemNameSet(MemPart2, "Partition #2", &err);
#endif
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #1
*********************************************************************************************************
*/
static void AppTask1 (void *pdata)
{
INT8U err;
#if OS_MEM_EN > 0
INT8U *pblk1;
INT8U *pblk2;
INT8U *pblk3;
INT8U *pblk4;
INT8U *pblk5;
#endif
pdata = pdata;
while (TRUE) {
AppTask1Ctr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem2, 0, &err);
OSTimeDly(100);
OSSemPost(EventSem2);
#endif
#if OS_MEM_EN > 0
pblk1 = (INT8U *)OSMemGet(MemPart1, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk2 = (INT8U *)OSMemGet(MemPart1, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk3 = (INT8U *)OSMemGet(MemPart1, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk4 = (INT8U *)OSMemGet(MemPart1, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk5 = (INT8U *)OSMemGet(MemPart1, &err);
OSTimeDly(OS_TICKS_PER_SEC);
OSMemPut(MemPart1, (void *)pblk1);
OSMemPut(MemPart1, (void *)pblk2);
OSMemPut(MemPart1, (void *)pblk3);
OSMemPut(MemPart1, (void *)pblk4);
OSMemPut(MemPart1, (void *)pblk5);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #2
*********************************************************************************************************
*/
static void AppTask2 (void *pdata)
{
INT8U err;
#if OS_MEM_EN > 0
INT8U *pblk1;
INT8U *pblk2;
INT8U *pblk3;
INT8U *pblk4;
INT8U *pblk5;
#endif
pdata = pdata;
while (TRUE) {
AppTask2Ctr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem2, 0, &err);
OSTimeDly(100);
OSSemPost(EventSem2);
#endif
#if OS_MEM_EN > 0
pblk1 = (INT8U *)OSMemGet(MemPart2, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk2 = (INT8U *)OSMemGet(MemPart2, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk3 = (INT8U *)OSMemGet(MemPart2, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk4 = (INT8U *)OSMemGet(MemPart2, &err);
OSTimeDly(OS_TICKS_PER_SEC);
pblk5 = (INT8U *)OSMemGet(MemPart2, &err);
OSTimeDly(OS_TICKS_PER_SEC);
OSMemPut(MemPart2, (void *)pblk1);
OSMemPut(MemPart2, (void *)pblk2);
OSMemPut(MemPart2, (void *)pblk3);
OSMemPut(MemPart2, (void *)pblk4);
OSMemPut(MemPart2, (void *)pblk5);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #3
*********************************************************************************************************
*/
static void AppTask3 (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTask3Ctr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem2, 0, &err);
OSTimeDly(100);
OSSemPost(EventSem2);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #4
*********************************************************************************************************
*/
static void AppTask4 (void *pdata)
{
pdata = pdata;
while (TRUE) {
AppTask4Ctr++;
#if OS_Q_EN > 0
OSQPost(EventQ1, (void *)"Msg #1 to Q1");
OSTimeDly(10);
OSQPost(EventQ2, (void *)"Msg #2 to Q2");
#endif
OSTimeDly(20);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #5
*********************************************************************************************************
*/
static void AppTask5 (void *pdata)
{
pdata = pdata;
while (TRUE) {
AppTask5Ctr++;
#if OS_Q_EN > 0
OSQPost(EventQ1, (void *)"Msg #3 to Q1");
OSTimeDly(20);
OSQPost(EventQ2, (void *)"Msg #4 to Q2");
#endif
OSTimeDly(40);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #6
*********************************************************************************************************
*/
static void AppTask6 (void *pdata)
{
INT8U err;
char *pmsg;
char s[30];
pdata = pdata;
while (TRUE) {
AppTask6Ctr++;
#if OS_Q_EN > 0
pmsg = (char *)OSQPend(EventQ1, 0, &err);
strcpy(s, pmsg);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #7
*********************************************************************************************************
*/
static void AppTask7 (void *pdata)
{
INT8U err;
char *pmsg;
char s[30];
pdata = pdata;
while (TRUE) {
AppTask7Ctr++;
#if OS_Q_EN > 0
pmsg = (char *)OSQPend(EventQ2, 0, &err);
strcpy(s, pmsg);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #8
*********************************************************************************************************
*/
static void AppTask8 (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTask8Ctr++;
#if OS_FLAG_EN > 0
OSFlagPost(FlagGrp1, 0x000F, OS_FLAG_SET, &err);
OSTimeDly(100);
OSFlagPost(FlagGrp1, 0x00F0, OS_FLAG_SET, &err);
OSTimeDly(100);
OSFlagPost(FlagGrp1, 0x0F00, OS_FLAG_SET, &err);
OSTimeDly(100);
OSFlagPost(FlagGrp1, 0xF000, OS_FLAG_SET, &err);
OSTimeDly(100);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #9
*********************************************************************************************************
*/
static void AppTask9 (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTask9Ctr++;
#if OS_FLAG_EN > 0
OSFlagPend(FlagGrp1, 0x00FF, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
OSTimeDly(100);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #A
*********************************************************************************************************
*/
static void AppTaskA (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskACtr++;
#if OS_FLAG_EN > 0
OSFlagPend(FlagGrp1, 0xFF00, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
OSTimeDly(100);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #B
*********************************************************************************************************
*/
static void AppTaskB (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskBCtr++;
#if OS_FLAG_EN > 0
OSFlagPend(FlagGrp1, 0x0FF0, OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME, 100, &err);
#endif
OSTimeDly(100);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #A
*********************************************************************************************************
*/
static void AppTaskC (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskCCtr++;
#if OS_MUTEX_EN > 0
OSMutexPend(EventMutex1, 0, &err);
OSTimeDly(100);
OSMutexPost(EventMutex1);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #D
*********************************************************************************************************
*/
static void AppTaskD (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskDCtr++;
#if OS_MUTEX_EN > 0
OSMutexPend(EventMutex1, 0, &err);
OSTimeDly(100);
OSMutexPost(EventMutex1);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #E
*********************************************************************************************************
*/
static void AppTaskE (void *pdata)
{
pdata = pdata;
while (TRUE) {
AppTaskECtr++;
#if OS_MBOX_EN > 0
OSMboxPost(EventMbox1, (void *)"Msg #1");
OSTimeDly(100);
OSMboxPost(EventMbox1, (void *)"Msg #2");
OSTimeDly(100);
OSMboxPost(EventMbox1, (void *)"Msg #3");
OSTimeDly(100);
#endif
OSTimeDly(1);
}
}
/*$PAGE*/
/*
*********************************************************************************************************
* TASK #F
*********************************************************************************************************
*/
static void AppTaskF (void *pdata)
{
INT8U err;
char *pmsg;
char s[30];
pdata = pdata;
while (TRUE) {
AppTaskFCtr++;
#if OS_MBOX_EN > 0
pmsg = (char *)OSMboxPend(EventMbox1, 0, &err);
strcpy(s, pmsg);
#endif
OSTimeDly(1);
}
}
/*
*********************************************************************************************************
* TASK #G
*********************************************************************************************************
*/
static void AppTaskG (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskGCtr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem3, 0, &err);
#endif
OSTimeDly(1);
}
}
static void AppTaskH (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskHCtr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem3, 0, &err);
#endif
OSTimeDly(1);
}
}
static void AppTaskI (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskICtr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem3, 0, &err);
#endif
OSTimeDly(1);
}
}
static void AppTaskJ (void *pdata)
{
INT8U err;
pdata = pdata;
while (TRUE) {
AppTaskJCtr++;
#if OS_SEM_EN > 0
OSSemPend(EventSem3, 0, &err);
#endif
OSTimeDly(1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -