实际的工程项目文件,大致如下所示。内部的注释都删除了。
/*
************************************************************************************************
*
* File: MCtrl_OSA.c
*
* Compilers: Microchip C18
*
* Controller: PIC18F67k22
*----------------------------------------------------------------------------------------------
*
* Description: This program written with RTOS OSA.
*
************************************************************************************************
*/
#include <osa.h>
#include <p18f67k22.h>
#include "includes.h"
/********************************************************************************
* *
* Function: main *
* *
*------------------------------------------------------------------------------*
* *
********************************************************************************/
void main (void)
{
PIC18F_Init();
OS_Init();
OS_Bsem_Set(BS_TM1628_FREE);
OS_Bsem_Set(BS_ADC_FREE);
OS_Bsem_Set(BS_KEY_EFFECT);
OS_Flag_Create(F_Homing);
OS_Flag_Create(F_Nozzel);
OS_Flag_Create(F_CrValve);
OS_Flag_Init(F_Nozzel ,0x00);
OS_Flag_Init(F_CrValve,0x00);
OS_Task_Create(0, Task_Nozzle_Ctrl);
OS_Task_Create(0, Task_StepMT_Ctrl);
OS_Task_Create(0, Task_Temp_Getting);
OS_Task_Create(1, Task_Seat_Detect);
OS_Task_Create(1, Task_ADC_TempCtrl);
OS_Task_Create(1, Task_Light_Detect);
OS_Task_Create(1, Task_Flow_Detect);
OS_Task_Create(2, Task_KeyScan);
OS_Task_Create(2, Task_LED_Flash);
OS_Task_Create(3, Task_IRKey_Scan);
OS_EI();
ClrWdt();
WDTCONbits.SWDTEN =1;
OS_Run();
}
|