|
|
我在一個(gè)STC15W系列的單片機(jī)程序開發(fā)里面,不小心出了個(gè)錯(cuò)誤。
unsigned int n;
while(1) { n++;…… }
大概就是以上邏輯。
n在實(shí)際運(yùn)行中,很快就超過了65535的限制。我想問這個(gè)情況下,繼續(xù)累加下去,n的值是一直保持65535呢?還是從0開始自動(dòng)循環(huán)呢?系統(tǒng)會(huì)不會(huì)崩潰?
根據(jù)實(shí)際情況,系統(tǒng)確實(shí)沒有崩潰,我也是在后期檢查時(shí)候才發(fā)現(xiàn)這個(gè)問題的,因?yàn)槭欠种С绦颍矣兄袛嗵觯壳案鞣N測試這個(gè)bug并沒有出現(xiàn)致命問題。但是可怕的是,1K的固件已經(jīng)燒進(jìn)去了,心中忐忑。所以想問問大師們,這樣的超限錯(cuò)誤,芯片內(nèi)變量的實(shí)際情況是怎樣的呢?我需不需要解決bug重新燒錄,還是這批就這樣放過呢?
先謝謝各位啦
|
|