完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
3个回答
|
|
|
假设51有128个字节的RAM单元可用,你的全局变量用了50个,但是你的一个函数里面,局部变量的定义超过了28个,例如void test(void){ char array[100];} 这么做的话编译器未必会报错,但是单片机在运行时,由于你的局部变量太多了,所以在调用此函数时会冲涮掉你的全局变量。这是一种越界,还有一种越界,是当你定义int i[20]; 执行i[20]=1;甚至i[50]=1;的操作,编译器一般不会报错,但执行明显会涮掉未知领域了。
希望能对你有帮助,想在这一领域共同探讨的话,可以加我微信: baofeng_zouyu |
|
|
|
|
|
|
|
|
是你的数字超过最大值了,跟栈没关系,大的数字改成浮点数,需要的时候再取整即可
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1845 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4767 浏览 0 评论
4248 浏览 9 评论
3837 浏览 16 评论
4413 浏览 1 评论
4233浏览 3评论
2397浏览 0评论
3415浏览 0评论
1176浏览 0评论
2862浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 02:27 , Processed in 0.934808 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1209