久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
51單片機(jī)會不會因為定義太多變量導(dǎo)致無法運(yùn)行呢
[打印本頁]
作者:
啊哦額一烏
時間:
2019-3-18 00:43
標(biāo)題:
51單片機(jī)會不會因為定義太多變量導(dǎo)致無法運(yùn)行呢
51單片機(jī)會不會因為 定義太多東西 而導(dǎo)致無法運(yùn)行呢?? 如果有。這么辦???
作者:
凌凈清河
時間:
2019-3-18 07:41
不嚴(yán)格的說,只要你的變量總數(shù)不超過單片機(jī)的RAM范圍,就沒有什么影響。否則只能換用較大RAM的型號或者優(yōu)化代碼。
作者:
devcang
時間:
2019-3-18 07:44
肯定會的,,,精簡程序、精簡邏輯
作者:
HC6800-ES-V2.0
時間:
2019-3-18 07:54
如果定義變量太多而無法運(yùn)行的話,程序在編譯時就會提示、報錯了,不會讓程序在執(zhí)行過程中出問題。如果 報錯了,可以增加內(nèi)存(外掛)的方法修改,或者選用RAM大的芯片。
作者:
w2009118161
時間:
2019-3-18 08:33
可以在變量或者數(shù)組前加一個code標(biāo)志位,將變量存儲位置由ram轉(zhuǎn)為flash中。
作者:
xuyaqi
時間:
2019-3-18 08:42
如果定義太多東西,超過了內(nèi)存容量,就會導(dǎo)致無法運(yùn)行,那就要優(yōu)化,不要定義太多東西。要不就換內(nèi)存大的單片機(jī)。
作者:
momo0527
時間:
2019-3-18 09:24
不會哦
作者:
xiaob123
時間:
2019-3-18 09:53
精煉是比較好的
作者:
hhh402
時間:
2019-3-18 11:21
如果變量多要加關(guān)鍵字xdata,如:u8 xdata cs[512]; 不加編譯會報錯,如果編譯能夠通過一般沒有問題,我的程序有2千個變量都沒有問題,STC8單片機(jī),4k內(nèi)存。
作者:
seasonLin
時間:
2019-3-18 13:58
變量數(shù)量要小于單片機(jī)的RAM最大值,除此外還必須留有一定空閑的RAM空間給堆棧使用,否則可能造成堆棧溢出,程序跑飛。
作者:
seasonLin
時間:
2019-3-18 14:11
seasonLin 發(fā)表于 2019-3-18 13:58
變量數(shù)量要小于單片機(jī)的RAM最大值,除此外還必須留有一定空閑的RAM空間給堆棧使用,否則可能造成堆棧溢出, ...
如果RAM空間內(nèi)存不夠,可以嘗試以下方法:
1. 能用局部變量,就不用全局變量。
2. 函數(shù)嵌套不要過多(嵌套過多會浪費(fèi)部分RAM)
3. 能用const類型的常量,就不用全局變量或者局部變量
4. 用部分flash替代RAM使用,僅適用于變量修改頻率超低的情況下,想想flash寫壽命,就知道當(dāng)前產(chǎn)品合不合適使用該方式了。
作者:
zzfwhlltz
時間:
2019-3-18 14:25
單片機(jī)也是有一定內(nèi)存的 如果超出內(nèi)存范圍 肯定是不行的
作者:
小燕子@啦啦
時間:
2019-3-18 14:30
我之前也遇到過這樣的問題,解決辦法有兩種:一是優(yōu)化代碼,減少全局變量的定義,可以用指針替代;另外一種就是增加輔助存儲器,這樣也是可以解決的。
作者:
基爾梆硬
時間:
2019-3-18 17:49
1 單片機(jī)一個引腳有多個功能是不會引起混亂的 因為它們是分時使用的
或使用了這個功能 就不允許使用另一種功能了。
2 例如:
單片機(jī)的P0口的8 個引腳 即作為低8位地址總線 又作為8位數(shù)據(jù)總線
它們不會發(fā)生沖突 在ALE為低電平時,P0口的8 個引腳作為低8位地址總線
當(dāng)ALE為高電平時,P0口的8 個引腳作為8位數(shù)據(jù)總線使用。
是分時使用的 即不同的時間做為不同的引腳使用 所以在使用上是不會發(fā)生沖突
還有 當(dāng)P3.0和P3.1作為串口的數(shù)據(jù)輸入輸出線使用時,就不能作為一般I/O口使用了。
也不會發(fā)生沖突的。
作者:
12345678110
時間:
2019-3-18 18:02
不會 但是變量太多會導(dǎo)致編譯器無法編譯通過 可以嘗試修改優(yōu)化等級和大小模式
作者:
是居啊
時間:
2019-3-18 18:42
一般是不會的,大多數(shù)編寫的程序遠(yuǎn)小于其上限的大小
作者:
Y_G_G
時間:
2019-3-18 23:37
就看你是什么變量了
如果是全局變量,這肯定是有上限的,就看單片機(jī)的RAM
但如果是局部變量,只要函數(shù)不要嵌套太多,那幾乎是沒有上限的
局部變量只在調(diào)用函數(shù)時用到當(dāng)前地址,返回之后,這個地址就會空出來了
比如你有兩個延時函數(shù),A和B
A函數(shù)里面用到變量 i
B函數(shù)里面也用到 i
當(dāng)調(diào)用完A之后,再調(diào)用B,那么,實際上 i 只占用了一個地址
作者:
726434632
時間:
2019-3-19 09:42
如果idata變量用得過多,而且中斷或者函數(shù)嵌套嚴(yán)重的話,會造成堆棧溢出。然后產(chǎn)生懷疑人生的不可預(yù)知的程序錯誤。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产美女在线精品免费
|
日韩伦理一区二区
|
国产精品日韩在线
|
亚洲+变态+欧美+另类+精品
|
黄色一级视频
|
欧美成视频
|
精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区
|
97av视频
|
欧美亚洲在线视频
|
久久国产精品一区二区三区
|
日韩毛片
|
国产精品一区久久久
|
九九热精品在线视频
|
天天草天天干
|
中文字幕一区二区三区四区不卡
|
日韩中文字幕在线播放
|
欧美日产国产成人免费图片
|
欧美日韩一区在线
|
欧美日韩国产欧美
|
天堂中文资源在线
|
亚洲超碰在线观看
|
国产成人一区二区三区精
|
国产一区中文
|
欧美成人h版在线观看
|
欧美日韩免费在线
|
夜夜夜久久久
|
亚洲精品福利在线
|
99精品在线观看
|
亚洲精品二区
|
人人玩人人添人人澡欧美
|
最新黄色毛片
|
超碰精品在线观看
|
国产成人福利在线观看
|
黄在线
|
亚洲一区二区
|
亚洲成人精品国产
|
成人美女免费网站视频
|
毛片网站在线观看视频
|
一二三四av
|
在线播放一区
|
精品一区二区三区中文字幕
|