乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      零成本學(xué)習(xí)單片機(jī)編程之從hello word開始

       leafcho 2019-02-12

      本人從事從2004年大學(xué)畢業(yè)開始從事開發(fā)工作,先后做過單片機(jī)開發(fā)、ucOSII開發(fā)、手機(jī)開發(fā)、android APP開發(fā)、PHP開發(fā)、微信小程序開發(fā),目前從事物聯(lián)網(wǎng)開發(fā)。我本人并非學(xué)計算機(jī)的,除了學(xué)校上課之外,基本上這些開發(fā)都是自學(xué)的。邊學(xué)習(xí)邊工作,基本上以學(xué)以致用為目的,用到什么學(xué)習(xí)什么。

      深深體會到自學(xué)的艱辛,尤其是最初入門的時候,那道砍邁過去后面再學(xué)習(xí)基本上就簡單多了,所謂觸類旁通,舉一反三。但是前面打基礎(chǔ)的時候是非常費力的,看到很多評論說C語言指針太難了,后來就放棄了。其實那是沒有找到好的學(xué)習(xí)方法,沒有人指導(dǎo)。只要有人帶一帶指點一下,問題很快就能解決。

      相比于國外的開源學(xué)習(xí)氛圍,我認(rèn)為我們做的還遠(yuǎn)遠(yuǎn)不夠,我們的編程大師還非常少,像ucLinux、ucOSII、FreeRtos等等非常有名的嵌入式操作系統(tǒng),商業(yè)的更不用說了,太多了。我們在軟件方面一直都是落后的狀態(tài),當(dāng)然近幾年我們自己也有不少好的作品。比如,Huawei LiteOS、Alios Things、djyos、RT-Thread、SylixOS等。一直想為學(xué)習(xí)單片機(jī)的同學(xué)做點什么,今年相對來說會輕松一些,利用閑暇時間,給大家分享一些案例、學(xué)習(xí)方法和心得。本課系列課程主要針對初學(xué)者、單片機(jī)學(xué)習(xí)愛好者、學(xué)習(xí)中遇到困難者,有什么不清楚的地方可以留言討論。


      本課的第一個案例,從串口編程輸出hello word

      首先、打開proteus(需要安裝文件的童鞋,發(fā)我私信1000,將自動給你軟件連接)

      零成本學(xué)習(xí)單片機(jī)編程之從hello word開始

      在打開文件->示例工程,如下圖所示

      零成本學(xué)習(xí)單片機(jī)編程之從hello word開始

      打開之后是原理圖,這個是ADC擴(kuò)展采樣的電路,暫時不管它

      零成本學(xué)習(xí)單片機(jī)編程之從hello word開始

      本節(jié)我們只演示,串口輸出hello word的內(nèi)容

      第二、修改代碼如下

      void delayFunc(unsigned int ms)//不精確的延時10ms

      {

      unsigned int i=0;

      while(ms--)

      {

      while(++i<1000);

      i=0;

      }

      return;

      }

      void SendString(const char *s) //串口發(fā)送

      {

      while(*s) {

      TI=0;

      SBUF=*s++;

      while(TI==0);

      }

      }

      void main(void)

      {

      unsigned int delay, MSB , LSB, adc_Res;

      //串口初始化部分

      SCON = 0xDA; // SCON: mode 1, 8-bit UART, enable rcvr */

      TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit reload */

      TH1 = 0xFD; // TH1: reload value for 1200 baud @ 12MHz */

      TR1 = 1; // TR1: timer 1 run */

      TI = 1; // TI: set TI to send first char of UART */

      while(1)

      {

      printf('hello Word!!\n'); //串口輸出hello word

      delayFunc(50);//延時500ms

      SendString('hello MCU!!\r\n');//串口輸出hello MCU

      delayFunc(50);//延時500ms

      }

      }

      代碼解析已經(jīng)在具體代碼中了,運行結(jié)果如下圖所示,是不是很簡單呢??!

      零成本學(xué)習(xí)單片機(jī)編程之從hello word開始

      最后、總結(jié)知識點

      1.串口初始化部分可以參考8051的數(shù)據(jù)手冊,這部分都是標(biāo)準(zhǔn)8051內(nèi)核通用的,哪個廠家的都一樣

      2.注意printf函數(shù)是對串口格式輸出函數(shù),它的代碼不是公開的,而是封裝在stdio庫中,是一個標(biāo)準(zhǔn)額庫函數(shù)

      3.換行小知識點,不知道你注意到?jīng)]有

      printf('hello Word!!\n');

      SendString('hello MCU!!\r\n');

      為什么一個是\n換行,而后面一個是\r\n表示換行呢?

      這其中的原因出在printf庫函數(shù)上,printf在發(fā)現(xiàn)\n時會自動轉(zhuǎn)換成\r\n輸出,所以后面一個函數(shù)輸出hello MCU時,必須是標(biāo)準(zhǔn)的\r\n才可以。

      本節(jié)課就結(jié)束了,有什么疑問歡迎留言討論!

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多