嵌入式C语言编程小知识总结

1.   流水线被指令填满时才能发挥最大效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。

2.   在LPC2200系列中:

可以通过过下面的程序延迟10毫秒:

for(i=0;i<200;i++)

  {

       for(j=0;j<200;j++);

  }

3.   同过下面语句将一个16位的变量放在两个8位的变量中。  

 //IP数据报总长度高字节

   IpHeadUint8[10]=(IpHead.e_ip.Crc&0xff00)>>8;

      //IP数据报总长度低字节

      IpHeadUint8[11]=IpHead.e_ip.Crc&0x00ff;

4.   在对全部数组元素赋初值时,可以不指定数组长度。

eg;inta[]={1,2,3,4,5};

但如果当输出第a[5]以上的元素时,系统回输出随机数值,所以使用此方法时,不能使用超过初始值元素以上的元素。

5.   由于ADS先天性的对printf不支持;因此不便于我们调试,可以利用串口输出来代替printf来调试。

6.   用或运算,可使某位置为1,其它位不变

eg:  PINSEL0  |= 0x00000005; //设置串口引脚

使第0位和第二位置一,其他位不变。

相关推荐