📄 interruptcalls.c
字号:
/******************************************************************************
*
* Freescale Semiconductor Inc.
* (c) Copyright 2004-2006 Freescale Semiconductor, Inc.
* ALL RIGHTS RESERVED.
*
***************************************************************************//*!
*
* @file interruptcalls.c
*
* @author R89994
*
* @version 1.0.3.0
*
* @date Apr-20-2006
*
* @brief Executing required task as a Interrupt call
*
*******************************************************************************
*
* Detailed Description of the file. If not used, remove the separator above.
*
******************************************************************************/
#include "interruptcalls.h"
#include "string.h"
/******************************************************************************
* Global Variables *
******************************************************************************/
char structureLine = 0;
extern TaskIdentifier TaskStructure[];
/*****************************************************************************/
interrupt void priorityMin(void){
}
interrupt void priorityLow(void){
}
interrupt void priorityMid(void){
}
interrupt void priorityHigh(void){
}
/*****************************************************************************************************/
void EnableTask (char *taskName, char cycles){
char i;
char compare;
for(i = 0;; i++){
compare = (char)strcmp(TaskStructure[i].name, taskName);//find required task
if(compare == 0){ //I found the right one
TaskStructure[i].spec.suspend = cycles; //enable task
break;
}
}
}
/*****************************************************************************************************/
void DisableTask (char *taskName){
char i;
char compare;
TaskIdentifier *pTaskStructure = &TaskStructure[0];
for(i = 0;; i++){
compare = (char)strcmp(TaskStructure[i].name, taskName);//find required task
if(compare == 0){ //I found the right one
TaskStructure[i].spec.suspend = 0; //delete task
break;
}
}
}
/*****************************************************************************************************/
void RunFunctions(char run){
char i;
for(i=0;i < TASK_ARRAY_SIZE;i++){
if (TaskStructure[i].priority == run){ //do I have required priority ?
if(TaskStructure[i].spec.suspend != 0){ //Only active Task
(*TaskStructure[i].pFunc)(); //run function
TaskStructure[i].spec.counter -=1;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -