TOP

FAQ 常見問答

    • .開發程式時,如何減少佔用的RAM以及ROM?

      1.位元組型變數與常量作比較或運算時,常量如果是unsigned類型,在常量後增加“U”字母,可提高代碼 效率。
      2.多個判斷語句不要進行疊加,儘量多分出幾個判斷,可減少代碼量。
      3.少用指針,且用到也儘量先將參數傳至另一變數,不要直接用指標參與運算。
      4.在滿足運算要求的情況下,用適合的資料類型,而不要用佔用位元組較多的資料類型。
      5.“*”,“/”少用,能用移位完成的用移位完成,不能用的最好編寫乘除法副程式來完成,內部的乘除很占ROM,同時我們也提供了常用基本數學運算的庫以方便客戶使用。

      注:更多詳細內容,請參看SN8 C Studio compiler,Help選項中的相關資訊。
    • .如何將變數強制定義在某BANK空間中,且在程式中如何進行BANK切換處理?

      1.SN8 C使用 #pragma rambank x 強制定義變數分配於某BANK空間中。
      例如:
      #pragma rambank 0
      Unsigned int temp;
      Unsigned int buf; //後面的變數都將被分配至BANK 0中,直至BANK 0填滿。

      注:在使用時要注意,所選用的晶片是否存在所分配的BANK空間。
      2.程式中,並不需要對變數進行強制分配BANK空間,SN8 C 編譯器會自動將所定義的變數按先後順序進行BANK分配,使用時也會自動切換BANK。
      3.在嵌入組合語言程式時,必須注意各變數所在的BANK空間,進行BANK切換。
    • .SN8C是否支持Goto語句?

      SN8C完全支持Goto語句,但爲了保證程式的完整正確性,建議少用Goto語句。
    • .使用內部乘除法,較占用RAM和ROM空間,如何解决?

      不能直接使用內部的“*”、“/”,否則占用RAM和ROM比較多,最好用移位元方法編寫副程式完成此類操作。
    • .如何使用LCD 和KEYBOARD simulater進行軟體仿真?

      此部分請直接與FAE聯繫,可以提供相關學習資料。
    • .進行嵌彙編時需要注意哪些問題?局部變數和總體變數如何調用?

      在使用SN8 C 嵌入組合語言程式時,可直接使用__asm{},來進行,在調用全局可使用CNameToAsmLabel或用“_+總體變數名”來調用,局部變數只能用CNameToAsmLabel來調用,如以下常式: int g_a;
      int main(void)
      {
      int i1;
      __asm
      {
      SelectBank(g_a);
      MOV A,#0x01;
      MOV CNameToAsmLabel(g_a),A; // g_a = 1;
      MOV A,_g_a; // A=g_a ;
      MOV CNameToAsmLabel(i1),A; // i1 = g_a;
      }
      }
    • .SN8 C是否支援SIN計算?

      可支援但占用RAM較多,用戶可直接調用MATH.H檔來使用。
    • .SN8C compiler是否可用于編寫彙編代碼?有什麽注意事項?

      可用于編寫彙編代碼,但其無法使用BANK1中的RAM定義變數(可以使用My_DATA segment data bank 1來在BANK1中定變數,這與匯編譯器定義方式不相同,不能用ORG 100H之後來定義。)
    • .SN8C初始化如何清RAM?

      SN 8C 在進入 MAIN 程式之前已對 RAM 作了清除動作,可不用再對 RAM 進行處理,如在程式中還想對 RAM 進行清除操作, 可 直接調用 _ClrRAM() 。
    • .SN8 C Studio仿真PWM功能的時候,怎麽樣查看PWM的脉衝有無輸出?

      經由軟體撰寫 PWM 相關設定程式幷配合 ICE 模擬功能後,可在 ICE 上量測 PWM 相對應 I/O PIN 脚只有用 ICE 仿真才能看到 。
    • .SONIX 8位元單片機的C語言編程的效率如何?是否穩定?

      目前 SONIX C Compiler 編程效率在 1 : 1.4 , 且配合 良好的程式結構及書寫風格更能提高效率,對于軟體的穩定性方面,自 V136 版本發布後,基本上未出現 BUG ,可以保證功能的正確性,且已有很多客戶在使用 SN 8 C 進行産品開發,有很多産品開發完成且銷售中, 用戶可到公司網站 SN8_C_Studio 下載最新版使用。
    • .SONIX哪些編譯環境支持軟件仿真(不連接仿真器)?

      目前支持軟件仿真的編譯環境有:
      1.SN8P1XXX系列彙編編譯軟件S8ASM;
      2.SONIX C編譯軟件SN8 C Studio(同時支持C語言和彙編的軟件仿真);
      SN8P2XXX系列彙編編譯軟件M2ASM暫不支持離綫軟件仿真功能。