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暂不支持离线软件仿真功能。