📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"
#define TaskStkLengh 512
OS_STK Task0Stk [TaskStkLengh]; // 定义用户任务0的堆栈
OS_STK Task1Stk [TaskStkLengh]; // 定义用户任务1的堆栈
uint8 flag = 1;
void Task0(void *pdata); // 任务0
void Task1(void *pdata); // 任务1
/* 程序主函数 */
int main(void)
{
OSInit ();
OSTaskCreate (Task0,(void *)0, &Task0Stk[TaskStkLengh - 1], 2);
OSTaskCreate (Task1,(void *)0, &Task1Stk[TaskStkLengh - 1], 3);
OSStart ();
return 0;
}
/*******************************************************************************************************
** Task0 任务0
********************************************************************************************************/
void Task0(void *pdata)
{ char vendor[] = {"ZLG-MCU CO., LTD. Guangzhou China"};
char tag[] = {"CAT1025 EEPROM Example Base On Real Time Kernel"};
uint32 i;
char disp_buf[32];
uint8 dat_buf[32];
uint8 counter = 0; // 定义计数器
pdata = pdata;
TargetInit();
PC_DispClrScr (DISP_FGND_YELLOW+DISP_BGND_BLUE);
PC_DispStr(24, 24, vendor, DISP_FGND_YELLOW+DISP_BGND_BLUE);
PC_DispStr(20, 00, tag, DISP_FGND_YELLOW+DISP_BGND_BLUE);
while (1)
{
dat_buf[0] = 0;
dat_buf[1] = counter;
counter++;
I2cWrite(CAT1025, dat_buf, 2); // 写入计数器的值
for(i=0; i<5000; i++);
/* 打印已经写入的计数器值 */
sprintf(disp_buf, " ** Task0 is writing: %3d ** ", counter);
PC_DispStr(28, 10, disp_buf, DISP_FGND_YELLOW+DISP_BGND_BLUE);
OSTimeDly(OS_TICKS_PER_SEC);
}
}
/*******************************************************************************************************
** Task0 任务0
********************************************************************************************************/
void Task1(void *pdata)
{ char disp_buf[32];
uint8 dat_buf[32];
pdata = pdata;
while (1)
{
dat_buf[0] = 0;
dat_buf[1] = 0;
I2cRead(CAT1025, dat_buf, dat_buf, 1, 1); // 读出计数器的值
/* 打印已经读出的计数器值 */
sprintf(disp_buf, " ** Task1 is reading: %3d ** ", dat_buf[0]);
PC_DispStr(28, 11, disp_buf, DISP_FGND_YELLOW+DISP_BGND_BLUE);
OSTimeDly(OS_TICKS_PER_SEC/2);
}
}
/********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -