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

📄 dev_init.c.svn-base

📁 我们自己开发的一个OSEK操作系统!不知道可不可以?
💻 SVN-BASE
字号:
typedef struct dev{ 
            char devname[40];
            struct dev *next;
            unsigned devISR:2;
            unsigned short index;      
            }dev;

#define insert(interrupt_routine,source) do{  \
source.next=interrupt_routine[source.index].next;\
interrupt_routine[source.index].next=&source; \
}while(0)

dev devlist[10];//debugger

#define dev_number  sizeof(devlist[])/sizeof(dev)//unsigend
typedef struct dev_opt{
                    int (*read)();
                    int (*write)();
                    int (*ioc)();
                    int (*open)();
                    int (*close)();
                    char devname[40];
                   }dev_opt;
//dev_opt dev_operation[(int)dev_number];debugger
dev_opt dev_operation[10];//debugger

#define INIT_DEV(devlist)  do{  for( dev * point=devlist;point!=0;point++)\
                                              {   point->init(); /*init dev*/\
                                                  interrupt_source source;\
                                                  source.index=point->index;\
                                                  source.action=point->handler;\
                                                  source.devname=point->devname;\
                                              if(interrupt_routine[point->index].devISR==0)\
                                                interrupt_routine[source.index].devISR=point->devISR;\                                                  insert(interrupt_routine,source);  \                                                                  }\
                                }while(0)






⌨️ 快捷键说明

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