📄 main.c
字号:
/**********************************************************************/
/* */
/* File name: main.c */
/* */
/* Since: 2004-Sept-20 */
/* */
/* Version: PICos18 v2.10 */
/* Copyright (C) 2003, 2004, 2005 Pragmatec. */
/* */
/* Author: Designed by Pragmatec S.A.R.L. www.pragmatec.net */
/* MONTAGNE Xavier [XM] xavier.montagne@pragmatec.net */
/* */
/* Purpose: Custom initialization and kernel start. */
/* */
/* Distribution: This file is part of PICos18. */
/* PICos18 is free software; you can redistribute it */
/* and/or modify it under the terms of the GNU General */
/* Public License as published by the Free Software */
/* Foundation; either version 2, or (at your option) */
/* any later version. */
/* */
/* PICos18 is distributed in the hope that it will be */
/* useful, but WITHOUT ANY WARRANTY; without even the */
/* implied warranty of MERCHANTABILITY or FITNESS FOR A */
/* PARTICULAR PURPOSE. See the GNU General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU General */
/* Public License along with gpsim; see the file */
/* COPYING.txt. If not, write to the Free Software */
/* Foundation, 59 Temple Place - Suite 330, */
/* Boston, MA 02111-1307, USA. */
/* */
/* > A special exception to the GPL can be applied should */
/* you wish to distribute a combined work that includes */
/* PICos18, without being obliged to provide the source */
/* code for any proprietary components. */
/* */
/* History: */
/* 2004/09/20 [XM] Create this file. */
/* */
/**********************************************************************/
#include "define.h"
/**********************************************************************
* Definition dedicated to the local functions.
**********************************************************************/
#define DEFAULT_MODE 0
/**********************************************************************
* Function prototypes.
**********************************************************************/
void main (void);
void Init(void);
void StartupHook(void);
void ShutdownHook(StatusType error);
void ErrorHook(StatusType error);
void PreTaskHook(void);
void PostTaskHook(void);
extern union Timers Tmr0;
AppModeType SelectedMode;
/**********************************************************************
* -------------------------- main function ---------------------------
*
* Setup the different alarms and start the kernel.
*
**********************************************************************/
void main(void)
{
STKPTR = 0;
SelectedMode = DEFAULT_MODE;
Init();
while(1)
{
StartOS(SelectedMode);
}
}
/**********************************************************************
* Clear all RAM memory and set PORTB to output mode.
*
* @return void
**********************************************************************/
void Init(void)
{
FSR0H = 0;
FSR0L = 0;
/* User setting : actual PIC frequency */
Tmr0.lt = _40MHZ;
/* Timer OFF - Enabled by Kernel */
T0CON = 0x08;
TMR0H = Tmr0.bt[1];
TMR0L = Tmr0.bt[0];
INTCON3bits.INT1IP = 0;
INTCON3bits.INT2IP = 0;
INTCON3bits.INT1IE = 1;
INTCON3bits.INT2IE = 1;
TRISBbits.TRISB1 = 1;
TRISBbits.TRISB2 = 1;
}
/**********************************************************************
* Hook routine called just before entering in kernel.
*
* @param error IN The new error stored in buffer
* @return error Error level
**********************************************************************/
void StartupHook(void)
{
}
/**********************************************************************
* Hook routine called just after leaving the kernel.
*
* @param error IN The last error detected by OS
* @return void
**********************************************************************/
void ShutdownHook(StatusType error)
{
}
/**********************************************************************
* Store a new error in a global buffer keeping a track of the
* application history.
*
* @param error IN The new error stored in buffer
* @return void
**********************************************************************/
void ErrorHook(StatusType error)
{
}
/**********************************************************************
* Hook routine called just before entering in a task.
*
* @return void
**********************************************************************/
void PreTaskHook(void)
{
}
/**********************************************************************
* Hook routine called just after leaving a task.
*
* @return void
**********************************************************************/
void PostTaskHook(void)
{
}
/* End of File : main.c */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -