NXC是什麼?

   在2001 年,Dave Baum 發表了NQC(Not Quite C), 這是一套給樂高RCX 主機使用的類C 語言,程式環境是RCX Command Center。後來在John C. Hansen 等人的努力之下改版成Bricx Command Center。Bricx Command Center 是一個整合型程式環境,支援了所有樂高智慧型主機以及眾多的第三方程式語言。最棒的是,它免費。
樂高NXT機器人 發表後,John C. Hansen 將NQC 語言延伸為NXC(Not eXactly C)程式語言,NXC 依照NXT 規格對應了C 語言的語法並完整支援了NXT 的硬體功能與多種其他廠牌的感應器,可在Bricx Command Center 中進行編輯,並提供了許多方便的直接控制介面。

從NXC可以學到什麼?

1. 銜接正規C語言自動控制或單晶片開發課程

2. NXC指令較貼近機器底層,執行效率較高

3. 藍牙通訊與I2C傳輸應用

4. 平行作業與優先權管理


如何安裝NXC環境?
   請至BricxCC官方網站下載最新版的BricxCC開發環境,目前最新版本為 3.3.8.9。BricxCC為免費軟體。下載完成後依序完成安裝即可使用。
   請注意BricxCC不包含NXT驅動程式, 如您的電腦無NXT-G, LabVIEW Education Edition或相對應的模組,請至樂高 MindStorms官方網站下載NXT驅動程式

第一個NXC範例程式
   1. BC馬達直走4秒鐘後停止

[pastacode lang=”c” message=”BC馬達正轉4秒鐘後停止” highlight=”” provider=”manual”]

task main()
{
   OnFwd(OUT_BC,75);
   Wait(4000); 
   Off(OUT_BC);
}

[/pastacode]

   2. 將音量顯示在NXT螢幕上

[pastacode lang=”c” message=”將聲音感測器偵測值顯示於NXT螢幕” highlight=”” provider=”manual”]

task main()
{
   int sound;
   SetSensorSound(S2);
   while(true)
   {
      TextOut(20, LCD_LINE2, "Sound level: ");
      NumOut(20, LCD_LINE3, sound);
      Wait(200);       //0.2秒更新一次 
      ClearScreen(); //清除螢幕
}
}

[/pastacode]

   3. 碰碰車

 

[pastacode lang=”c” message=”單觸碰感測器碰碰車” highlight=”” provider=”manual”]

task main()
{
   SetSensorTouch(S1);
   while (true)
   {
       OnFwd(OUT_BC, 60);
       if (Sensor(S1) == 1)
       {
          OnRev(OUT_BC, 75);
          Wait(500);
          Off(OUT_BC);
          OnFwd(OUT_C, 75);
          Wait(1000);
          Off(OUT_C);
          Wait(300);
        }//if
   }//while
}//main

[/pastacode]


相關資源