📄 my_os.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 + -