1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
3个回答
|
|
假设51有128个字节的RAM单元可用,你的全局变量用了50个,但是你的一个函数里面,局部变量的定义超过了28个,例如void test(void){ char array[100];} 这么做的话编译器未必会报错,但是单片机在运行时,由于你的局部变量太多了,所以在调用此函数时会冲涮掉你的全局变量。这是一种越界,还有一种越界,是当你定义int i[20]; 执行i[20]=1;甚至i[50]=1;的操作,编译器一般不会报错,但执行明显会涮掉未知领域了。
希望能对你有帮助,想在这一领域共同探讨的话,可以加我微信: baofeng_zouyu |
|
|
|
|
|
是你的数字超过最大值了,跟栈没关系,大的数字改成浮点数,需要的时候再取整即可
|
|
|
|
只有小组成员才能发言,加入小组>>
3314 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9059 浏览 16 评论
4088 浏览 18 评论
1178浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 07:08 , Processed in 1.197265 second(s), Total 81, Slave 62 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号