亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chap5.c

?? 摩托羅拉Mc6811利程
?? C
字號(hào):
// Chapter 5 6811 C programs// Jonathan W. Valvano// This software accompanies the book,// Embedded Microcomputer Systems: Real Time Interfacing// published by Brooks Cole, 1999// Program 5.4. C code for the two main programs and shared subroutine.int Sub(int j){ int i;    PORTC=1;  /* Port C=program is being executed */    i=j+1;    return(i);}void ProgA(){ int i;    i=5;    while(1) { PORTC=2; i=Sub(i);}}void ProgB(){ int i;    i=6;    while(1) { PORTC=4; i=Sub(i);}}// Program 5.5. C code for the thread control block.struct TCB{   struct TCB *Next;      /* Link to Next TCB */    unsigned char *SP;     /* Stack Pointer when not running  */    unsigned int  Id;      /* output to PortB visualizing active thread */    unsigned char MoreStack[49];  /* more stack */    unsigned char CCR;     /* Initial CCR */    unsigned char RegB;    /* Initial RegB */    unsigned char RegA;    /* Initial RegA */    unsigned int RegX;     /* Initial RegX */    unsigned int RegY;     /* Initial RegY */    void (*PC)(void);      /* Initial PC */};typedef struct TCB TCBType;typedef TCBType * TCBPtr;TCBType sys[3]={  {  &sys[1],           /* Pointer to Next */     &sys[0].MoreStack[49],    /* Initial SP */     1,                 /* Id */     { 0},     0x40,0,0,0,0,      /* CCR,B,A,X,Y */     ProgA, },          /* Initial PC */  {  &sys[2],           /* Pointer to Next */     &sys[1].MoreStack[49],    /* Initial SP */     2,                 /* Id */     { 0},     0x40,0,0,0,0,      /* CCR,B,A,X,Y */     ProgA, },          /* Initial PC */  {  &sys[0],           /* Pointer to Next */     &sys[2].MoreStack[49],    /* Initial SP */     4,                 /* Id */     { 0},     0x40,0,0,0,0,      /* CCR,B,A,X,Y */     ProgB, } };        /* Initial PC */// Program 5.6. C code for the thread switcher.TCBPtr RunPt;   /* Pointer to current thread  */#pragma interrupt_handler ThreadSwitch()void ThreadSwitch(){asm(" ldx _RunPt\n"    " sts 2,x");      RunPt=RunPt->Next;      PORTB=RunPt->Id;  /* PortB=active thread */asm(" ldx _RunPt\n"    " lds 2,x");      TOC3=TCNT+20000;  /* Thread runs for 10 ms */      TFLG1=0x20; }     /* ack by clearing TOC3F */void main(void){ DDRC=0xFF;      /* PortC outputs specify that program is running */       RunPt=&sys[0];   /* Specify first thread */asm("  sei");       TOC3vector=&ThreadSwitch;       TFLG1 = 0x20;   /* Clear OC3F */       TMSK1 = 0x20;   /* Arm TOC3 */       TOC3=TCNT+20000;       PORTB=RunPt->Id;asm("  ldx _RunPt\n"    "  lds 2,x\n"    "  cli\n"    "  rti");}    /* Launch First Thread */// Program 5.7. C function to create a new thread.void create(void (*program)(void), int TheId){  TCBPtr NewPt;     // pointer to new thread control block  NewPt=(TCBPtr)malloc(sizeof(TCBType)); // space for new TCB  if(NewPt==0)return;  NewPt->SP=&(NewPt->CCR-1);  /* 6811 Stack Pointer when not running  */  NewPt->Id=TheId;            /* used to visualize active thread */  NewPt->CCR=0x40;            /* Initial CCR, I=0 */  NewPt->RegB=0;              /* Initial RegB */  NewPt->RegA=0;              /* Initial RegA */  NewPt->RegX=0;              /* Initial RegX */  NewPt->RegY=0;              /* Initial RegY */  NewPt->PC=program;          /* Initial PC */  if(RunPt){    NewPt->Next=RunPt->Next;    RunPt->Next=NewPt;}       /* will run Next */  else    RunPt=NewPt;              /* the first and only thread */// Program 5.11. C code for a counting semaphore.struct	sema4    // counting semaphore based on 3 binary semaphores{   int value;   // semaphore value    char s1;     // binary semaphore    char s2;     // binary semaphore    char s3;     // binary semaphore};typedef struct sema4 sema4Type;typedef sema4Type * sema4Ptr;void Wait(sema4Ptr semaphore){     bWait(&semaphore->s3);  // wait if other caller to Wait gets here first     bWait(&semaphore->s1);  // mutual exclusive access to value     (semaphore->value)--;  // basic function of Wait     if((semaphore->value)<0){         bSignal(&semaphore->s1); // end of mutual exclusive access to value         bWait(&semaphore->s2);   // wait for value to go above 0         }     else         bSignal(&semaphore->s1); // end of mutual exclusive access to value     bWait(&semaphore->s3);       // let other callers to Wait get in}                            void Signal(sema4Ptr semaphore){     bWait(&semaphore->s1);  // mutual exclusive access to value     (semaphore->value)++;  // basic function of Signal     if((semaphore->value)<=0)        bSignal(&semaphore->s2);   // allow S2 spinner to continue     bSignal(&semaphore->s1); // end of mutual exclusive access to value}void Initialize(sema4Ptr semaphore, int initial){    semaphore->s1=1;   // first one to bWait(s1) continues    semaphore->s2=0;   // first one to bWait(s2) spins    semaphore->s3=1;   // first one to bWait(s3) continues    semaphore->value=initial;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费电影| 国产精品人人做人人爽人人添| 欧美精品自拍偷拍| 欧美视频日韩视频在线观看| 色偷偷一区二区三区| 91福利小视频| 99精品欧美一区二区三区小说| 国产原创一区二区三区| 精品一区二区三区av| 国产精品久久久久久久蜜臀| 18成人在线观看| 国产精品一区二区黑丝| 天天射综合影视| 亚洲欧美激情小说另类| 色综合天天做天天爱| 成人免费观看男女羞羞视频| 国产一区二区三区高清播放| 91小视频在线免费看| 91精品国产综合久久久久| 自拍偷拍亚洲激情| 亚洲综合999| 成人午夜精品在线| 欧美一级二级三级蜜桃| 亚洲高清免费观看| 色综合久久久久综合体桃花网| 欧美久久婷婷综合色| 成人免费毛片aaaaa**| 国产日本欧洲亚洲| 91浏览器在线视频| 视频在线观看91| 国产又粗又猛又爽又黄91精品| 91久久精品日日躁夜夜躁欧美| 日本一区二区视频在线| 国产成人综合在线| 一色桃子久久精品亚洲| 91网上在线视频| 亚洲精品视频免费观看| 91国偷自产一区二区使用方法| 中文字幕欧美日韩一区| 成人18视频日本| 一区二区三区四区av| 欧美日韩日日骚| 9久草视频在线视频精品| 九九热在线视频观看这里只有精品| 又紧又大又爽精品一区二区| 国产欧美综合在线观看第十页| 欧美变态凌虐bdsm| 7777精品伊人久久久大香线蕉| av欧美精品.com| 丁香激情综合国产| 国产盗摄一区二区三区| 国产在线视频精品一区| 极品美女销魂一区二区三区免费| 在线播放中文一区| 国产东北露脸精品视频| 蜜乳av一区二区| 亚洲欧美另类小说视频| 精品少妇一区二区三区在线播放| www.日韩大片| 狠狠色狠狠色综合| 亚洲综合图片区| 国产精品久久久久久一区二区三区| 欧美一级片在线| 在线观看亚洲成人| 国产91丝袜在线播放九色| 久久成人av少妇免费| 久久精品999| 亚洲va欧美va国产va天堂影院| 日韩精品一区二区三区swag | 亚洲一区二区三区三| 久久久久国产精品麻豆| 制服.丝袜.亚洲.中文.综合| 99久久精品久久久久久清纯| 韩国女主播成人在线| 亚洲午夜久久久久久久久电影院| 中文字幕不卡在线观看| 国产日韩欧美一区二区三区乱码 | 国模套图日韩精品一区二区| 亚洲国产视频网站| 一区二区高清在线| 亚洲同性同志一二三专区| 久久久国产一区二区三区四区小说| 日韩欧美的一区二区| 日韩亚洲欧美成人一区| 日韩丝袜情趣美女图片| 日韩一区二区三区精品视频| 91精品综合久久久久久| 91精品国产一区二区人妖| 日韩一级黄色大片| 日韩免费高清视频| 中文字幕欧美国产| 亚洲综合色视频| 九九视频精品免费| 国产成人在线色| 色哟哟精品一区| 日韩一二在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产色综合久久| 一区二区高清在线| 国产九色sp调教91| 欧美吻胸吃奶大尺度电影| 欧美精品一区二区三区视频| 国产欧美日韩亚州综合 | 51久久夜色精品国产麻豆| 精品蜜桃在线看| 亚洲狠狠爱一区二区三区| 麻豆久久久久久久| 91高清在线观看| 国产欧美精品一区二区三区四区| 亚洲美腿欧美偷拍| 日韩和的一区二区| 在线观看视频欧美| 国产精品久久久一本精品 | 亚洲精品一区在线观看| 伊人色综合久久天天| 国产精品小仙女| 欧美一区二区黄| 婷婷国产在线综合| 国产一区二区免费视频| 国产成人日日夜夜| 中文字幕一区二区三区乱码在线| 麻豆91在线播放免费| 国产麻豆精品视频| 91福利国产精品| 欧美日韩成人高清| 国产精品欧美久久久久无广告 | 欧美亚洲国产一区二区三区| 日韩欧美国产一区二区在线播放| 丝袜亚洲另类欧美综合| 国产精品初高中害羞小美女文| 欧美精品一区二区精品网| 日韩一区二区三区三四区视频在线观看 | ㊣最新国产の精品bt伙计久久| 欧美刺激午夜性久久久久久久| 99在线精品观看| 99在线精品一区二区三区| 亚洲精品一区在线观看| 日韩不卡免费视频| 在线播放中文一区| 日韩福利电影在线| 欧美日韩极品在线观看一区| 欧美日韩二区三区| 午夜精品久久久久久久| 99国产精品久久久久久久久久| 久久综合九色综合97_久久久| 成人免费av资源| 精品国产三级a在线观看| 中文字幕日韩欧美一区二区三区| 成人综合婷婷国产精品久久| 中文字幕第一页久久| 国产精品123| 国产精品国产成人国产三级| 国产一区二区按摩在线观看| 91精品国产综合久久久久久漫画 | 91网站最新地址| 亚洲国产成人tv| 国产日韩欧美精品电影三级在线| 一本色道久久综合精品竹菊| 日本va欧美va瓶| 亚洲成人中文在线| 日韩理论电影院| 国产精品国产馆在线真实露脸| 欧美一区二区三区喷汁尤物| av电影在线观看不卡| 韩国中文字幕2020精品| 免费三级欧美电影| 亚洲伦理在线精品| 欧美精品一区二区久久婷婷| 欧美精品在线观看播放| 欧洲精品中文字幕| 色综合久久综合网| 99国产精品一区| 99久久精品国产精品久久| 成人激情免费网站| 成人自拍视频在线观看| 国内精品国产成人| 国产精品18久久久久久久久久久久 | 石原莉奈在线亚洲三区| 亚洲国产sm捆绑调教视频 | 欧洲生活片亚洲生活在线观看| 成人精品国产福利| 欧美这里有精品| 欧美肥胖老妇做爰| 精品国产乱码久久久久久图片| 欧美一区二区三区在线视频| 欧美一区二区三区白人| 精品久久久久久久久久久院品网| 久久亚洲春色中文字幕久久久| 久久久无码精品亚洲日韩按摩| 国产欧美日韩在线视频| 亚洲男人的天堂av| 久草热8精品视频在线观看| 国产精品亚洲一区二区三区在线 | 久久亚洲精品小早川怜子| 成人免费在线视频| 日韩精品电影在线观看| 顶级嫩模精品视频在线看| 在线观看一区日韩| 久久亚洲欧美国产精品乐播| 亚洲女同一区二区|