Image
Image

Creas_Tall

+ 关注

粉丝 1     |     主题 24     |     回帖 181

单片机程序优化经验
2019-3-29 16:23
  • ChipON MCU
  • 24
  • 2301
  19. 嵌入汇编---**锏 汇编语言是效率最高的计算机语言,在一般项目开发当中一般都采用C 语言来开发的,因 ...  
  18. 从编译器着手 很多编译器都具有偏向于代码执行速度上的优化、代码占用空闲太小的优化。例如Keil 开发 ...  
  17. 内联函数 在C++中,关键字inline 可以被加入到任何函数的声明中。这个关键字请求编译器用函数内部的代 ...  
  16. 循环嵌套 循环在编程中经常用到的,往往会出现循环嵌套。现在就已for 循环为例。 UINT8 i,j; for(i= ...  
  15. 函数指针妙用 当switch 语句中的case 标号很多时,或者if 语句的比较次数过多时,为了提高程序执行速 ...  
  14. 将大的switch 语句转为嵌套switch 语句 当switch 语句中的case 标号很多时,为了减少比较的次数,明智 ...  
  13. switch 语句中根据发生频率来进行case 排序 switch 语句是一个普通的编程技术,编译器会产生if-else-i ...  
  12. 减少函数调用参数 使用全局变量比函数传递参数更加有效率。这样做去除了函数调用参数入栈和函数完成后 ...  
  11. 强制转换 C 语言精髓第一精髓就是指针的使用,第二精髓就是强制转换的使用,恰当地利用指针和强制转换 ...  
  10. 用指针代替数组 在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数 ...  
  9. 适当地使用算法 假如有一道算术题,求1~100 的和。 作为程序员的我们会毫不犹豫地点击键盘写出以下的 ...  
  8. 宏函数取代函数 首先不推荐所有函数改为宏函数,以免出现不必要的错误。但是一些基本功能的函数很有必 ...  
  7. 以空间换时间 在数据校验实战当中,CRC16 循环冗余校验其实还有一种方法是查表法,通过查表可以更加快 ...  
  6. volatile 关键字 volatile 总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里 ...  
  5. register 关键字 void UARTPrintfString(INT8 *str) { while(*str && str) { UARTSendByte(*str++) ...  
  4. while 与do...while 的区别 void DelayNus(UINT16 t) { while(t--) { NOP(); } } 可以改为 voi ...  
  3. 减少运算的强度 可以使用运算量小但功能相同的表达式替换原来复杂的的表达式。 (1) 求余运算 N= N ...  
  2. 使用自加、自减指令 通常使用自加、自减指令和复合赋值表达式(如a-=1 及a+=1 等)都能够生成高质量的 程 ...  
  1. 使用尽量小的数据类型 能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型 ...  
【活动结束】GD32,春季为芯闪耀,晒出你的春季小作品。
2019-4-29 18:15
  • GigaDevice GD32 MCU
  • 19
  • 3555
  不错,奖品很丰厚,支持下!  
2
3
近期访客