?? test.c
字號:
/****************************************Copyright (c)**************************************************
** 廣州周立功單片機發(fā)展有限公司
** 研 究 所
** 產(chǎn)品一部
**
** http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: test.c
**創(chuàng) 建 人: 陳明計
**最后修改日期: 2003年7月2日
**描 述: 數(shù)據(jù)隊列使用例子。先定義一個數(shù)據(jù)隊列QueueBuf,然后使用一個任務(wù)循環(huán)向數(shù)據(jù)隊列發(fā)送數(shù)據(jù),另一任務(wù)則
** 從隊列中取得數(shù)據(jù),轉(zhuǎn)換后向串口發(fā)送。使用EasyARM軟件的數(shù)碼管顯示輸出結(jié)果。
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 陳明計
** 版 本: v1.0
** 日 期: 2003年7月2日
** 描 述: 原始版本
**
**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "config.h"
#define TASK_STK_SIZE 64
OS_STK TaskStk[TASK_STK_SIZE];
OS_STK TaskStartStk[TASK_STK_SIZE];
//int32 QueueBuf[15];
void TaskStart(void *data);
void Task (void *pdata);
/*********************************************************************************************************
** 函數(shù)名稱: main
** 功能描述: c語言的主函數(shù),由它啟動多任務(wù)環(huán)境
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: PC_DispClrScr,OSInit,OSTaskCreate,OSStart
**
** 作 者: 陳明計
** 日 期: 2003年7月1日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int main (void)
{
OSInit();
OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
OSStart();
return 0;
}
/*********************************************************************************************************
** 函數(shù)名稱: TaskStart
** 功能描述: μCOS-II的第一個任務(wù),通常由它初始化目標(biāo)板和建立其它任務(wù)
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊:
**
** 作 者: 陳明計
** 日 期: 2003年7月1日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 const ShowTable[11] = {
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00};
// 0 1 2 3 4 5 6 7 8 9
void TaskStart (void *pdata)
{
// QUEUE_DATA_TYPE Ch;
pdata = pdata; /* 避免編譯警告 */
OSTaskCreate(Task, (void *)0, &TaskStk[TASK_STK_SIZE - 1], 8); /* 創(chuàng)建任務(wù) */
TargetInit(); /* 目標(biāo)板初始化 */
//QueueCreate((void *)QueueBuf, sizeof(QueueBuf), NULL, NULL); /* 建立數(shù)據(jù)隊列 */
for (;;)
{
OSTimeDly(40); /* 延時 */
//if (QueueRead(&Ch, (void *)QueueBuf) == QUEUE_OK) /* 接收數(shù)據(jù) */
//{
// PC_DispChar(0x80, 0, ShowTable[Ch], 0); /* 顯示接收到的數(shù)據(jù) */
// }
}
}
/*********************************************************************************************************
** 函數(shù)名稱: Task
** 功能描述: μCOS-II的任務(wù)
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊:
**
** 作 者: 陳明計
** 日 期: 2003年7月1日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Task (void *pdata)
{
uint8 i;
pdata = pdata; /* 避免編譯警告 */
for (;;)
{
/*
#if EN_QUEUE_WRITE > 0
for (i = 0; i < 10; i++)
{
if (QueueWrite((void *)QueueBuf, i) == OS_Q_FULL) /* FIFO方式發(fā)送數(shù)據(jù) */
{
i--; /* 錯誤處理 */
}
OSTimeDly(20); /* 延時 */
}
#endif
#if EN_QUEUE_WRITE_FRONT > 0
for (i = 0; i < 10; i++)
{
if (QueueWriteFront((void *)QueueBuf, i) == OS_Q_FULL) /* LIFO方式發(fā)送數(shù)據(jù) */
{
/* 錯誤處理 */
OSTimeDly(40);
i--;
}
}
OSTimeDly(600);
#endif
*/
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -