|
本帖最后由 leicai05 于 2013-11-22 22:07 编辑
书中这么说“函数中的局部变量最好不要超过12个”
我是否可以这么理解,这样的函数发生调用的时候,需要使用过多的寄存器保存变量。
这种情况还不如使用全局变量。比如我在发送串口函数的时候。
方式一
void send_news(void)
{
uchar mdata[12] = {0};//定义局部变量
mdata[0] = 0x0a;//数据赋值
mdata[1] = 0x31;
mdata[2] = 0;
mdata[11] = crc(mdata,11);//求和校验
tx_chars(mdata,12);//底层串口发送函数
}
方式二
uchar mdata[12] = {0};//定义全局变量
void send_news(void)
{
mdata[0] = 0x0a;//数据赋值
mdata[1] = 0x31;
mdata[2] = 0;
mdata[11] = crc(mdata,11);//求和校验
tx_chars(mdata,12);//底层串口发送函数
}
这两种方式是不是第二种方式更好,请教大家。
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|