-
我把一些学习心得写在这里,希望 能给于志同道合的人一点帮助,同时也记录下自己点点滴滴。 首先要有个开发环境。下个MASM6.1X 与MASN5...
-
【问题】
不理解wait指令是干什么用的,还有就是可不可以给栈段社标号,然后用offset获取栈段的偏移地址呢?jmp指令只能在代码段中跳转吗,能不能跳到数据段?&n...
-
写代码:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代...
-
开场白:上一节提到在累计主循环次数来实现计时,随着主函数里任务量的增加,为了保证延时时间的准确性,要不断修正设定上限阀值const_time_level 。我们该怎么...
-
开场白:上一节讲了同一个按键短按与长按的区别触发功能,这节要教会大家两个知识点:第一个知识点:如何在上一节的基础上,略作修改,就可以实现按住一个独立按键不松手的连续步进触发。第二个...
-
开场白:上一节讲了按住一个独立按键不松手的连续步进触发功能,这节要教会大家如何在上一节的基础上,略作修改,就可以实现按键的加速匀速触发。具体内容,请看源代码讲解。(1)硬件平台:基...
-
1) C忌讳绝对定位。 常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变...
-
1、单片机晶振不起振原因分析
遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?
(1) PCB板布线错误;
(2) 单片机质量有问题;
(3) 晶振质量有...
-
对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project),即使是点亮 LED 这样简单的功能程序也不例外,因此我们首先要新建一个工程,打开我们的 Keil ...
-
开场白:
上一节讲了判断数据头的程序框架,但是在很多项目中,仅仅靠判断数据头还是不够的,必须要有更加详细的通讯协议,比如可以包含数据类型,数据地址,有效数据长度,有效数据,数据校...
-
要研究指针,我们得先来深入理解内存地址这个概念。打个比方:整个内存就相当于一个拥有很多房间的大楼,每个房间都有房间号,比如从 101、102、103 一直到 NNN,我们可以说...
-
常量和符号常量
在程序运行过程中,其值不能被改变的量称之为常量。常量分为不同的类型,有整型常量如 1、2、3、100;浮点型常量 3.14、0.56、-4.8...
-
我们上一节的这个液晶滚屏移动程序,大概有 160 行左右。随着我们硬件模块使用的增多,程序量的增大,我们往往要把程序写到多个文件里,方便代码的编写、维护和移植。
...
-
我们在前边学数据类型的时候,主要是字符型、整型、浮点型等基本类型,而学数组的时候,数组的定义要求数组元素必须是相同的数据类型。在实际应用中,有时候还需要把不同类型的数据组成一个...
-
在《C语言深度剖析》这本书中留有一个问题,枚举变量的大小是多少?
1、大家猜一下下面这段程序粗体部分输出的结果是多少?
2、在printf(char *fmt.....
-
1.const int a=20 和 int const a=20
它们两个的实际意义是一样的,a可以称作符号常量,代表20这个数。
2.int func1(int value...
-
sizeof 是关键字不是函数,其实就算不知道它是否为32 个关键字之一时,我们也可以借助编译器确定它的身份。看下面的例子:int i=0;A),sizeof(int); B),s...
-
C语言有以下几种取整方法:1、直接赋值给整数变量。如:int i = 2.5; 或 i = (int) 2.5;这种方法采用的是舍去小数部分
2、C/C++中的整数除法运算符&l...
-
typedef enum{ERROR = 0,SUCCESS = !ERROR} ErrorStatus;这个代码怎么解释?
这个语句的作用是为数据类型enum{ERROR = ...
-
自己以前用结构体时,较少封装实现方法即:函数指针。这一点,造成了现在对于程序扩展起来有些捉襟见肘,这里以后要注意。
同时,函数参数也尽量使用结构体,这样避免函数接口...