<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DIY:給單片機(jī)寫個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核!

          DIY:給單片機(jī)寫個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核!

          作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏

           
          //線程2讓PC口閃爍
          void Test2(void *p)
          {
          uint8_t i;
          DDRC=0xff;
          PORTC=0XFF;
          SREG|=0X80 ;
          while(1)
          {
          for(i=0;i<8;i++)PORTC=1<
          }
          }

           
          //線程3讓PD口閃爍
          void Test3(void *p)
          {
          uint8_t i;
          DDRD=0XFF;
          PORTD=0xff;
          SREG|=0X80;
          while(1)
          {
          for(i=0;i<8;i++)PORTD=1<
          }
          }

           
          //MAIN函數(shù)
          int main(void)
          {
          uint8_t i = 0x77;
          //初始化操作系統(tǒng)
          OS_Init();

           
          //初始化線程控制塊并創(chuàng)建任務(wù)
          OS_ThreadInit(&Task1,Test1Stack,STACK_SIZE,5,0);
          OS_ThreadCreate(&Task1,Test1,&i);
          OS_ThreadInit(&Task3,Test3Stack,STACK_SIZE,5,0);
          OS_ThreadCreate(&Task3,Test3,&i);
          OS_ThreadInit(&Task2,Test2Stack,STACK_SIZE,5,0);
          OS_ThreadCreate(&Task2,Test2,&i);
          //初始化定時(shí)器
          OS_TimerInit();

           
          //啟動(dòng)內(nèi)核
          OS_KernelStart();

           
          //正常的話程序永遠(yuǎn)不會(huì)執(zhí)行到這里?。。?/div>
          while(1);
          }

           

           
          OK,開始調(diào)試咯!打開PROTEUS連線,LOAD程序,然后運(yùn)行。。。。

          本文引用地址:http://www.ex-cimer.com/article/201611/323486.htm

          成功同時(shí)運(yùn)行三個(gè)流水燈程序!太棒了!接下來在這個(gè)內(nèi)核的支持下你就可以創(chuàng)作你的應(yīng)用程序了,使用內(nèi)核提供的線程創(chuàng)建函數(shù)你可以創(chuàng)建N多個(gè)線程,當(dāng)然了,必須在內(nèi)存可接受的范圍內(nèi)。利用內(nèi)存分配函數(shù)你可以動(dòng)態(tài)申請(qǐng)和釋放內(nèi)存了。再也不用為DELAY()這種浪費(fèi)CPU效率的作法郁悶很久了。
          上面所說的所有代碼都開源,想看的同學(xué)發(fā)郵件到我EMAIL: wfm2012@126.com 索要
          下次有空再作一些應(yīng)用范例來玩玩

          上一頁 1 2 3 4 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();