单片机编程技巧问答(2) 25.在单片机C编成时,如何才能使生成的代码具有和汇编一样的效率? 答:如果是使用C语言编程时,不太可能生成的代码具有1:1和汇编一样的效率。 C语言命令要被硬件识别并执行,必须通过编译器编译。编译器分为前端、中端、后端。前端与各种计算机语言写的程序打交道,后端与处理器的基... 2023-06-13 单片机编程技巧常见问题文章基础课其他
IAR中的位操作之一:位清除 例:_DEVICE_RCC.CR &= ~(BIT(1)); // 清除CR的第(1+1)位,相当於 _DEVICE_RCC.CR &= 0xFFFF FFFD(以下内容的编译为IAR5.20) \ 00000000 0748 LDR.N R0,??main_0 ;; 0x40021000 \ 00000002 0168 LDR R1,[R0, #+0] \ 0000000... 2023-06-13 IAR位操作位清除程序设计编程技巧文章软件开发
编程中常见错误原因 1.拼写错误a) 变量名,宏名,函数名等拼写错误,在编译阶段直接报错;b) 变量名,宏名,函数名等拼写为相近的变量名,宏名,函数名等,在运行时出错;2.逻辑错误a) if语句的真值逻辑判断,没有包括全部的条件,或者包含了不需要的条件;b) 选择计算方式时,采用了错误的计算方法;3.边界值问题(Off-one)a) i... 2023-06-13 编程技巧程序设计经验分享函数文章软件开发
C语言高效编程的几招,你会了几招了? 第1 招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1 招--以空间换时间。例如:字符串的赋值。方法A,通常的办法:#define LEN 32char string1 [LEN];memset (string1,0,LEN);strcpy (string1... 2023-06-13 C语言高效编程编程技巧文章软件开发编程规范
C语言-编程技巧-谈谈代码风格──谈谈缩进 缩进(indent),一个保证代码整洁、层次清晰的主要手段。请先看下面代码:BOOL bTrue;int nCount = 0;for (int i=2; i<100; i ){bTrue = TRUE;for (int j=2; j if ( i%j == 0 ){bTrue = FALSE;break;}if (bTrue)nCount = i;}它们是做什么的?hehe....别耐... 2023-06-13 C语言编程技巧代码风格缩进文章基础课C语言基础
嵌入式系统C语言编程需要遵守什么样的原则 大家对C语言非常熟悉了,你是否这样一个疑问呢:为什么学习这么久的C语言,自己还徘徊在入门处呢?看过很多别人的编程经验总结,发现他们多数是在说自己的编程技巧。谁都知道好的编程技巧能显著提高程序的效率,但是这样的技巧是靠大量的工程实践总结的。只有在有一定功底后,才可以去... 2023-06-13 嵌入式系统C语言编程技巧原则文章软件开发嵌入式OS
教你如何学习好单片机编程设计 目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟... 2023-06-13 单片机编程技巧基础知识文章软件开发编程规范
DSP编程技巧之答疑解惑 1、 虽然可用的存储空间看起来比section的长度要大,但是链接器为何提示“placement fails for object”?这种情况一般是因为段的空间的分配是并不是我们想象中的连续的一个紧挨一个,而是被编译器给“分块”管理了。在内存地址分配时,一个段需要完全适配... 2023-06-13 DSP编程技巧单片机文章
DSP编程技巧之:详解cmd C28x的编译器把存储空间划分为两个部分进行管理,包括:1. 程序存储空间:包含可执行的代码,初始化的记录和switch-case使用的表。2. 数据存储空间:包含外部变量,静态变量以及系统的栈;一般情况下,各个寄存器对应的存储空间也归类在数据空间里。为了方便管理,不同种类的代码、变量等... 2023-06-13 DSP编程技巧CMD文件文章单片机
DSP编程技巧分享:函数调用 一.父函数调用子函数在父函数调用子函数(被调函数)时,通常会执行以下的步骤:1.如果寄存器不是SOE类型的(入口保存,saveonentry),即它的值没有被被调用函数占用,但是在被调用函数返回值之后又会用到该寄存器的值的话,则该寄存器的值被保存在栈中。2.如果被调函数返回一个结构体,... 2023-06-13 DSP编程技巧函数调用文章单片机
DSP编程技巧:数据类型 64位整数的处理从上面的表中,可以看出C28x的编译器是支持64位的整数类型的,这使得在处理某些高精度智能编码器的反馈数据时特别方便,因为在更老的不支持64位整数类型的器件上编程时,需要我们自己定义64位类型,在运算时要自己定义运算规则才行。一个long long类型的整数需要使... 2023-06-13 DSP编程技巧数据类型文章单片机
DSP编程技巧之:编译指示 1. CHECK_MISRA它的作用与在编译器选项中使用--check_misra是相同的,都是对特定源文件使能MISRA-C:2004规则检查(汽车工业软件可靠性联会),使用方法是:#pragma CHECK_MISRA (" {all|required|advisory|none|rulespec} ");其中的rulespec是具体MISRA中的规则,使用方法请参考... 2023-06-13 DSP编程技巧编译指示文章单片机
DSP编程技巧之:关键字 1. constconst关键字用来定义值不会发生变化/不允许被改变的变量、数组等,即相当于这些变量、数组是“只读”的。通常情况下,const定义的全局变量会存放在cmd文件定义的.const段中,而.const段一般会被链接器分配到ROM或者FLASH存储,而不是RAM中;考虑到片上ROM/FLAS... 2023-06-13 DSP编程技巧关键字文章单片机
DSP编程技巧之:代码优化必须考虑的问题 1. 小心使用汇编表达式在C/C++代码中,有时候一些操作难免会对某些CPU寄存器进行操作,此时要使用内嵌的汇编表达式,例如asm("EALLOW"),或者重置某个中断的掩码寄存器等。在优化代码时,编译器会重新调整某些代码段的顺序,自己决定使用某些寄存器(例如AR0-AR7这样的辅助寄存器),... 2023-06-13 DSP编程技巧代码优化文章单片机
8051单片机模块化编程技巧 目前在8051 单片机应用开发中主要有两种编程语言:汇编语言和C51 语言。C51 语言是一种结构化的编程语言,采用C51 编写的应用程序结构清晰、模块化程度高、可读性强、并容易移植。但C51 语言也有缺点,就是编译后生成的目标代码空间要比汇编的大。而且目前单片机的教材还是侧... 2023-06-13 51单片机编程技巧基础知识文章单片机
C51单片机编程技巧:LCD1602编程经验分享 这次我来分享一下我的LCD1602的编程经验:先说明一下,我下面要说的LCD1602的芯片驱动是HD44780,如果你们的LCD1602驱动芯片不是HD44780,那么下面的内容是不适用的。我对LCD1602的整体理解这里说一下我对LCD1602的整体理解哈,LCD1602是一个可以显示两行字符的LCD显示器,每一行可... 2023-06-13 51单片机编程技巧LCD1602文章单片机