-
目前单片机有多种C编译器,不同编译器之间有很多区别。总结后,主要有以下几点,需要弄清楚:
1.寄存器的定义
不少编译器已经自带了寄存器的定义文件,比如AT89S52, 使用KE...
-
今天调试时遇到了这个问题,以前都不注意这些警告错误,现在看来争取要做到:0错误,0警告。
中断中和中断外都调用了同一个串口打印函数,一直有上述的报警,没在意,今天调试时发现串口打...
-
优化级别说明(仅供参考):
则其中的 Code Optimization 栏就是用来设置C51的优化级别。共有9个优化级别(书上这么写的),高优化级别中包含了前面所...
-
今天调试时遇到了这个问题,以前都不注意这些警告错误,现在看来争取要做到:0错误,0警告。
中断中和中断外都调用了同一个串口打印函数,一直有上述的报警,没在意,今天调试时发现串口打...
-
本文讲述了将ANSIC程序移植到KeilC51上应该注意的事项。文章讲述了存储类型、指针类型、重入函数、根据目标系统RAM的分布的段定位和仿真栈设置、函数指针、NULL指针问题、字...
-
笔记:
(1)如何禁止KEIL初始化RAM为零?
1. 在KEIL Noinit 打钩
2.
<1> 另须对需要热启动保持的变量用__at...
-
引起我注意Keil c函数参数传递的是在一个偶然的机会,我在写一个函数的时候:如下write_byte(ulong addr, uchar dat){ &nb...
-
在C/C++中经常需要进行存储器的操作,关于数据如何在存储器中存储的问题也是非常重要的,如何在保证数据量(信息量)的同时又保证数据的存储量最小,乍一听感觉没什么好讨论的。但是作为学...
-
最近的一系列的公司笔试,也来不及总结一下,虽然都是一些小公司但是还是有很多值得总结的内容。很多的内容都是自己没有认真看书导致的,主要的问题就是格式控制、转义字符串等问题,说实在的都...
-
这几天看到好友的文章关于while(1)和for(;;)效率的讨论,手痒说了两句。回头一寻思,自己也只是推断。没有做任何实验,我们就看看这两种写法到底有什么区别:
实...
-
最近,在写程序的时候,碰到一个在自己看来非常不可思议的问题。当然,或者高手就觉得大惊少怪了,呵呵。
以下是问题相关:
平台:MEGA64;
编译环境:codeVi...
-
一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇...
-
在C++中复制控制是一个比较重要的话题,主要包括复制构造函数、重载赋值操作符、析构函数这三部分,这三个函数是一致的,如果需要手动定义了其中了一个,那么另外的两个也需要定义,通常在存...
-
一、static在C语言里面可以用来修饰变量,也可以用来修饰函数。
1、 先看用来修饰变量的时候。变量在C语言里面可分为存在全局数据区、栈和堆里。
...
-
C++中函数的参数相比C语言中的函数参数要复杂的多,其中主要的原因是C++中引入了引用以及const限定符。这两个对象的引入,使得C++中的函数参数变得异常的复杂多变,每一种类型都...
-
单链表整表创建的算法思路:
声明一结点p和计数器变量i;
初始化一空链表L;
让L的头结点的指针指向NULL,即建立一个带头结点的单链表;
循环:
生成一新结点賦值给...
-
下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏...
-
选择一个正确的名字是编程中最重要的事。以前向大家推荐过两篇文章《编程命名中的7+1个提示》 和《编程中的命名设计那点事》,今天再向大家推荐一篇。一个正确的命名可以让你更容...
-
1、在使用ModelSim时必须定义一个自己的目录来放置设计文件,这样做可以与ModelSim原有的库相区别。
2、每次设计之前必须创建新的库来记录编译过程中产生的信息,否则,工...
来自
仿真|by
永不止步步 |发表时间 2015-07-28
|0个回复
-
在proteus里,有很多可以发出声音的仿真器件,有buzzer、speaker、还有sounder,
看了看,才知道其中的区别:
sounder是...
来自
仿真|by
永不止步步 |发表时间 2016-02-29
|0个回复