|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個奇怪的ARM程序問題 |
| 作者:jackwu1780 欄目:ARM技術(shù) |
小弟寫了一個字符顯示的程序: DisplayChar(index,xPosition,yPosition,icolor);其中icolor是一個U16(unsigned SHORT)類型的變量,表明的是字符的顏色,紅色的時候是0xff80; 在DIsplayChar里面調(diào)用了一個 GetChar(Index,x,y,color);同樣的color也是一個U16的變量,最后把這個顏色賦值給一個顯示的數(shù)組,pBuffer[iWidth+(11-i)*LCM_WIDTH]=color;數(shù)組的類型是unsigned SHORT gpw_LCMDisplayBuf[LCM_HEIGHT*LCM_WIDTH]; 奇怪的地方在這里,如果按照pBuffer[iWidth+(11-i)*LCM_WIDTH]=color;顯示數(shù)據(jù)時又時無,我后來把pBuffer[iWidth+(11-i)*LCM_WIDTH]=0xff80,顯示就正常了, 搞不懂是怎么回事,哪位大哥指點一下?我用的是44b0的板子 |
| 2樓: | >>參與討論 |
| 作者: jackwu1780 于 2006/10/19 16:01:00 發(fā)布:
還有 在pBuffer[iWidth+(11-i)*LCM_WIDTH]=color;語句后面加入了printf語句打印pbuffer的值,也確實是0xff80,很奇怪就是顯示時又時無的。 |
|
| 3樓: | >>參與討論 |
| 作者: magicchip 于 2006/10/19 16:54:00 發(fā)布:
還要努力呀 |
|
| 4樓: | >>參與討論 |
| 作者: jackwu1780 于 2006/10/19 17:35:00 發(fā)布:
找到問題了 不知道原因,但是可以正常跑了。 |
|
| 5樓: | >>參與討論 |
| 作者: jackwu1780 于 2006/10/19 17:38:00 發(fā)布:
就是 程序中有一個LCM_Update(int i)函數(shù),我在調(diào)用地時候忘了給參數(shù),可是程序竟然能編譯通過,也不知道什么原因,后來找了很久,加了參數(shù)就一切OK了 |
|
| 6樓: | >>參與討論 |
| 作者: jackwu1780 于 2006/10/19 17:40:00 發(fā)布:
熱 不過還是要請教一下大哥們對這個問題有什么見解?然后就是在ADS里面,怎么看每個變量,函數(shù)分配的地址呢?謝謝了 |
|
| 7樓: | >>參與討論 |
| 作者: yappy 于 2006/10/20 9:34:00 發(fā)布:
reply 1.可能是你在聲明該函數(shù)時沒有加參數(shù):void LCM_Update(); 而定義函數(shù)時加了參數(shù),這樣的做法編譯器是不會報警的, 否則就是編譯器的編譯選項設(shè)置的有問題, 2.編譯器設(shè)置: settings -->arm linker -->listings 1.Listings 中選擇 Image map, Symbols 2.為 list file 取名,如 report.txt 3.give information on 中選擇 sizes, total 每次編譯后會生成報表文件 report.txt 其中包括你需要的信息。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |