發新話題
打印

Array 位址空間被佔用

Array 位址空間被佔用

我在使用時,發現變數有不如預期的數值被存入現象,
發現被存入的數值是其它變數的數值,被次重新執行都相對應.
第一次發現是使用在Array時,
通常被覆蓋的地方,都出在所宣告ARRAY的第一個BYTE或最後一個BYTE.
看了一下,Silicon Lab IDE的視窗中,symbol view中是可以看到每個變數定義的位址,
曾經有檢查到,軟體自動定義的位址空間會相衝.
所以我有時也都先故意宣告一個沒有有用到的變數,來將要用的變數往後移.
因為我不會宣告一個Array變數在我所指定的位址範圍內.
所以這個問題至今查到這,也還沒完全解決.
請問有人了解是哪裡出了問題了嗎?
謝謝.

TOP

你有將Array宣告為全區域變數嗎?

TOP

應該是有!
宣告如下Array.
unsigned char sensor_data[8];
我是在所有副程式外面宣告的,包括main().
所以應該算是全域變數吧.

TOP

你的IDE版本是那一版的?
建議你去Update Silicon Lab IDE最新的,再Try it!

J.K

TOP

我的IDE版本是3.4版
也有想過是不是版本有差,或沒安裝好.
我再試試.
謝謝.

TOP

發新話題