久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

自己做單片機實時操作系統1前言

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年01月30日   【字體:

操作系統在之前對于我自己還說一直是一個很陌生的東西,不知道該如何的理解和定義。終于當完成某些比較繁瑣的項目時,發現多任務的操作系統是一個很好的東西。
之前總是在看著別人怎么去實現一個操作系統,最終有了自己去寫一個的想法。按照ucOS的作者說的一樣,操作系統最終就是一個保護寄存器和恢復寄存器的動作。

手上只有一個MCU飛思卡爾DG128的開發板,然后就開始寫代碼吧。當然要先練習一下自己的C 語言啦。

1、理解一下函數指針先。
我們知道每一個函數都有自己的一個指針
void ProcFun1(void)
那么ProcFun1就是一個指針。
如下面一個我測試的程序:

typedef void(*VOID_FUN_PTR)(void); 定義一個void*的類型
void DelayTime(int duty)
{
 while(duty--)
 {
  _FEED_COP(); /* feeds the dog */
 };
}


void FunTask1(void) {
int i;
 for(i = 0;i < 8;i++)
 {
   PTP = 1<<i;     //這個實在LED上顯示個流水燈。
  DelayTime(50000);
 }
}
void main(void) {
  /* put your own code here */
  VOID_FUN_PTR pFun;    創建一個局部函數指針
 InitSystem();
 EnableInterrupts;
 pFun = FunTask1;       對指針進行一個賦值
  for(;;) {
    _FEED_COP(); /* feeds the dog */
 (pFun)();            執行funtask1,取地址,然后通過()執行函數。就可以執行到制定位置的一個函數了。
  } /* loop forever */
  /* please make sure that you never leave main */
}
到這里就知道函數指針一個怎么去用了。下一步就是棧是怎么保護和恢復的的。

編輯原因--修改函數指針的理解

關閉窗口

相關文章

主站蜘蛛池模板: 成人免费视频网站在线看 | 免费国产一区 | 蜜桃臀av一区二区三区 | 日本视频在线播放 | 亚洲国产成人精品女人久久久 | 免费在线观看一区二区三区 | 国产精品久久久久免费 | 蜜桃精品视频在线 | 久久精品国产精品青草 | 精品1区2区 | 精品视频一区二区三区在线观看 | 视频二区| 国产免费一区 | 久久久久久亚洲精品 | 久久精品一区 | 日韩中文字幕av | av天天爽 | 亚洲香蕉在线视频 | 爱操av | 欧美二区三区 | 亚洲成人免费av | 欧美视频三区 | 亚洲欧美日本在线 | 免费久久99精品国产婷婷六月 | 欧美日韩三级在线观看 | 午夜精品久久久久久久久久久久 | 亚洲一二视频 | 日韩视频在线免费观看 | 又黑又粗又长的欧美一区 | 亚洲国产精品激情在线观看 | 亚洲精品一区二区三区中文字幕 | 精品久久一 | 日本人爽p大片免费看 | 精品三级在线观看 | www.久久久久久久久久久久 | 亚洲欧美精品国产一级在线 | 人人草天天草 | 国产午夜精品久久 | 国产精品日产欧美久久久久 | 五月婷婷激情网 | 黄视频免费在线 |