关于C51中的CONST。。。(没用过单片机编程的不用解答了)到底系统分配内存了么,与define的区别。。

关于C51中的CONST。。。(没用过单片机编程的不用解答了)到底系统分配内存了么,与define的区别。。,第1张

我编程的时候用const的地方用的不多

一般如果要申明一个语句或者一个变量都用#define

你说的const我看到C++里面提到过

说到const是用来维护系统的稳定性的

防止你定义一个变让搜量后在其他地方又被不小心修改了

相当于你定义的这个变量是一个只读的变量

我的理解是:const如果要用应该是用来定义程序代码段里面的内容

比方说你定圆雀义一个数码管的显示的数组可以用const

因为这个数组的内容只是用来调用的,不需要用来修改

const既然也是用来定义变量的,而且是定义只读变量的

当然在系统中要占用内存了

事实上,你在你的单片机的程序中加一个比方说:、

const int PI=3.14;

你编译后你的data的大小要加2.

而define是一个宏定义

应该是起到声明的作用

你用define声明一个语句

他不占据内存空间

不信你自己就橘滑早试试。

个人理解,如果有误,请多多指教。

这种情况是程序跑飞,这是各山滚中单片机自身决定的。有的单片机程序内如果没有循环程序,

那它会从头执行到最后,然后返回最开始继续执行。一直重复。而有的单片机再执行一次之后,就会停止。有的则是执行完后可能会进入无序运行状态,就橡仔只不知道程序跑哪里去梁唯汪了! 所以,在写单片机程序的时候,最好是加上while循环,即便你的程序只运行一次,也要在最后加上while(1)

使其一直指向这个语句而不会出现误 *** 作。

主函数main正确书写格式:

int main(void)

{

while(1)

{

}

}

REGX51.H

里面有这一句话:大迹余

#define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */

也就是 IE0_VECTOR 0 代表的是滚滚‘0’这个数字,你把IE0_VECTOR改州茄成0就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12459791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存