找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2167|回复: 8
收起左侧

C语言局部变量重复定义导致STM32单片机死机?

[复制链接]
ID:302293 发表于 2022-3-12 16:01 | 显示全部楼层 |阅读模式
局部变量定义依次,全局又定义一次导致死机吗?
回复

使用道具 举报

ID:624769 发表于 2022-3-13 15:49 | 显示全部楼层
定义的局部变量,和全局变量,只是名字,本身是没有任何关联的。
同名的话, 函数内只使用局部变量,函数外只使用全局变量。

至于会不会导致死机,就看,你的程序,逻辑有没有问题?
逻辑正确,做的操作也不是奔着死机去的,就不会死机。

所谓的逻辑正确: 你函数内没打算读写全局变量,函数外没打算读写那个函数内的局部变量。
回复

使用道具 举报

ID:879809 发表于 2022-3-13 19:39 | 显示全部楼层
编译不报错就不是定义的问题。
回复

使用道具 举报

ID:879348 发表于 2022-3-13 22:15 | 显示全部楼层
有时会发生神奇的问题,估计是编译器问题,我碰到过一次
回复

使用道具 举报

ID:1009413 发表于 2022-3-14 08:28 | 显示全部楼层
并不会,但是为了看程序方便,最好别一样
回复

使用道具 举报

ID:514901 发表于 2022-3-14 09:16 | 显示全部楼层
注意是不是超出堆栈的大小导致死机的,可以在STM32的启动文件改大堆栈的大小试试
回复

使用道具 举报

ID:491577 发表于 2022-3-14 11:53 | 显示全部楼层
为什么要设置同名变量,想考一考单片机到智商?不同名不好吗?
回复

使用道具 举报

ID:684084 发表于 2022-3-14 13:21 | 显示全部楼层
还是不要一样吧,不然程序有问题时找原因就麻烦了
回复

使用道具 举报

ID:885416 发表于 2022-3-17 14:52 来自手机 | 显示全部楼层
如果是keil可能是编译器优化问题,也可能是堆栈问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表