⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_os.h

📁 avr Rtos 255 Task avr Rtos 255 Task
💻 H
字号:
//////SISTEM OPERARE V1.1.
//adresa registru stiva
#define SPH   0X3E
#define SPL   0x3D

//numarul maxim de taskuri in vector
#define NR_MAX_TASK 4
#define T_EROARE    0
#define T_OK        1
#define TICK_TIME   63 //pentru o diviziune de aproximativ 1 ms
//dimensiunea unui task in memorie (stiva soft si stiva hard alocata)
//deocamdata toate task-urile sunt de acceasi lungime in memorie - 256
#define OSTaskStkSize 100
#define OSTaskStkSizeHard 24
//#define OSTaskStkSizeReg  60
//variabile boolean
//#define TRUE  0x01
//#define FALSE 0x00
//structura unui task
typedef struct t{
  unsigned char adr_task[OSTaskStkSize];//stiva unui task
//eventual si alte elemente pentru prioritate
  unsigned char nr_timpi;//numarul de perioade de ceas (x..) alocate
  unsigned char activ;//starea taskului
} task;

//kernelu'
/*typedef struct kern{
  task t;
  struct kern *t_urm;
}kernel;*/

//contorul task-ului curent
//unsigned char task_curent;
//timpul curent executat
//unsigned char task_time;
//unsigned char t_sph;
//unsigned char t_spl;
//contorul task-ului ultim
//unsigned char task_ultim;
//vectorul de task-uri (procese)/
//task v_task[NR_MAX_TASK];


//functii declarate sistem operare
void start_so(void);//initializeaza sistemul de operare
unsigned char creaza_task(void (*taskf)(void),unsigned char numar);//creaza un task
unsigned char comuta_task(void);//comuta intre task-uri daca este cazul
void get_tsp(void);
void push_var(void);
void pop_var(void);
void init_task(void);
void  PopSP(void);
//void control_on(void);
//void control_off(void);
void lcd_req(void);
void lcd_release(void);
void comuta(void);
void delay_1_ms(unsigned int time);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -