单片机编程和平时c语言编程的区别
我看到单片机程序都不是用的c99标准主函数是voidmain(){...}这样的也就是没有return0;这个语句所以单片机运行到这步会怎么样?还有就是一般声明变量的时候...
我看到单片机程序都不是用的c99标准
主函数是void main(){...}
这样的 也就是没有return 0;这个语句
所以单片机运行到这步会怎么样?
还有就是一般声明变量的时候都是声明的外部变量
这有什么好处么? 展开
主函数是void main(){...}
这样的 也就是没有return 0;这个语句
所以单片机运行到这步会怎么样?
还有就是一般声明变量的时候都是声明的外部变量
这有什么好处么? 展开
5个回答
展开全部
单片机的主程序要在一个循环体内才可以保证单片机稳定的运行,所以禁止出现return这个东东的在主程序中,你可能看过很多单片机程序,如果之前一直前行,到最后至少都会有一个while(1);来结束,就是将程序稳定在这个地方,以保证之前程序的“成果”。如果没有这个,程序就从此不受控而乱了。
申明变量时并不是都声明为外部变量,只有需要时才会如此声明的。
申明变量时并不是都声明为外部变量,只有需要时才会如此声明的。
追问
可是c99规定main函数返回值必须是int的呀
追答
当然你也可以加int,这样语法上也不会出错,你return 0时相当于单片机程序勇往直前而已,最终结果是跑飞而已。
展开全部
在main主函数中都有一个while语句进行循环,结果表现在单片机上,比如流水灯。单片机编程主要是与硬件结合,一般不需要返回值
至于声明变量的时候都是声明的外部变量,我同意楼上说法,根据需要去写。
至于声明变量的时候都是声明的外部变量,我同意楼上说法,根据需要去写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的。
2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器 具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。
2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器 具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main 这种写法很常见,但是在有些编译器上通不过,它要求必须有返回值,但有些编译器没之歌要求,大家就用void了, 在单片机的main函数里,一般会有一个大的死循环,初始化完成后就在这个死循环里运行,所以一般不会到return这
至于声明外部变量,这个我认为你的意思是定义变量吧,而不是声明变量。定义局部变量和外部变量根据需要而定,这个不是死的
其实 只有外部变量需要声明,局部变量不需要的,注意这里的声明不是定义,要能区分变量声明和变量定义的区别
至于声明外部变量,这个我认为你的意思是定义变量吧,而不是声明变量。定义局部变量和外部变量根据需要而定,这个不是死的
其实 只有外部变量需要声明,局部变量不需要的,注意这里的声明不是定义,要能区分变量声明和变量定义的区别
追问
可是c99规定main函数返回值必须是int的呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-07
展开全部
没区别啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询