找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2237|回復(fù): 8
收起左側(cè)

C語言局部變量重復(fù)定義導(dǎo)致STM32單片機(jī)死機(jī)?

[復(fù)制鏈接]
ID:302293 發(fā)表于 2022-3-12 16:01 | 顯示全部樓層 |閱讀模式
局部變量定義依次,全局又定義一次導(dǎo)致死機(jī)嗎?
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2022-3-13 15:49 | 顯示全部樓層
定義的局部變量,和全局變量,只是名字,本身是沒有任何關(guān)聯(lián)的。
同名的話, 函數(shù)內(nèi)只使用局部變量,函數(shù)外只使用全局變量。

至于會(huì)不會(huì)導(dǎo)致死機(jī),就看,你的程序,邏輯有沒有問題?
邏輯正確,做的操作也不是奔著死機(jī)去的,就不會(huì)死機(jī)。

所謂的邏輯正確: 你函數(shù)內(nèi)沒打算讀寫全局變量,函數(shù)外沒打算讀寫那個(gè)函數(shù)內(nèi)的局部變量。
回復(fù)

使用道具 舉報(bào)

ID:879809 發(fā)表于 2022-3-13 19:39 | 顯示全部樓層
編譯不報(bào)錯(cuò)就不是定義的問題。
回復(fù)

使用道具 舉報(bào)

ID:879348 發(fā)表于 2022-3-13 22:15 | 顯示全部樓層
有時(shí)會(huì)發(fā)生神奇的問題,估計(jì)是編譯器問題,我碰到過一次
回復(fù)

使用道具 舉報(bào)

ID:1009413 發(fā)表于 2022-3-14 08:28 | 顯示全部樓層
并不會(huì),但是為了看程序方便,最好別一樣
回復(fù)

使用道具 舉報(bào)

ID:514901 發(fā)表于 2022-3-14 09:16 | 顯示全部樓層
注意是不是超出堆棧的大小導(dǎo)致死機(jī)的,可以在STM32的啟動(dòng)文件改大堆棧的大小試試
回復(fù)

使用道具 舉報(bào)

ID:491577 發(fā)表于 2022-3-14 11:53 | 顯示全部樓層
為什么要設(shè)置同名變量,想考一考單片機(jī)到智商?不同名不好嗎?
回復(fù)

使用道具 舉報(bào)

ID:684084 發(fā)表于 2022-3-14 13:21 | 顯示全部樓層
還是不要一樣吧,不然程序有問題時(shí)找原因就麻煩了
回復(fù)

使用道具 舉報(bào)

ID:885416 發(fā)表于 2022-3-17 14:52 來自觸屏版 | 顯示全部樓層
如果是keil可能是編譯器優(yōu)化問題,也可能是堆棧問題
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表