|
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
做了一個(gè)傳遞變量地址的程序,發(fā)現(xiàn)GCC給了一個(gè)警告,非常奇怪 |
作者:prozm 欄目:單片機(jī) |
我做了一個(gè)液晶程序,HD61202(2,2,2,ZERO);這個(gè)是子程序,其中第四個(gè)是一個(gè)數(shù)組,我的意思是將ZERO數(shù)組的首地址取出后,傳遞到子程序內(nèi)部, void HD61202 (uchar C,uchar page,uchar z,uchar *TEMP)這是內(nèi)部函數(shù),在加*取出其地址中的內(nèi)容,現(xiàn)在程序基本能夠顯示,但是GCC始終給出警告MAIN.c:15: warning: passing arg 4 of `HD61202' makes integer from pointer without a cast 我是studio上模擬了一下,知道了原因,大致是該數(shù)組是在SRAM中的,而SRAM是16位的地址,所以要用INT,我試了改*TEMP為*((int*)TEMP),*(int TEMP)都不行,雖然程序行了,但感覺這個(gè)警告還是滿刺眼的,希望高手能告訴我一下,謝謝 |
2樓: | >>參與討論 |
作者: John_Lee 于 2006/4/13 0:32:00 發(fā)布:
不知所云 |
3樓: | >>參與討論 |
作者: lwen1999 于 2006/4/13 12:16:00 發(fā)布:
如果真跟你說一樣,改為int* TEMP,調(diào)用時(shí)用(int*) TEMP |
4樓: | >>參與討論 |
作者: prozm 于 2006/4/13 22:01:00 發(fā)布:
晚上又試了一下 貼一下我的程序 void HD61202 (uCHAR C,uCHAR page,uCHAR z,uCHAR *TEMP) /*該函數(shù)為輸入接口函數(shù),c為三屏選擇(0-2),page為頁面選擇(0-3),z為一屏四字位置選擇(0-3),TEMP為指針變量,是一個(gè)數(shù)組指針地址變量*/ { uCHAR k; HD61202_cg_screen(C); HD61202_busy(); page<<=1; page=0xb8|page; HD61202_busy(); HD61202_send_dat(page); /*****************第1行********************/ HD61202_busy(); HD61202_send_dat(0x40+z*16); for(k=0;k<16;k++) {HD61202_busy(); HD61202_send_dat_disp(*(TEMP+k));}/*字的上半部顯示*/ HD61202_busy(); HD61202_send_dat(page+1); HD61202_busy(); HD61202_send_dat(0x40+z*16); for(k=0;k<16;k++) {HD61202_busy(); HD61202_send_dat_disp(*(TEMP+k+16));}/*字的下半部顯示*/ } 晚上又試了一下,發(fā)現(xiàn)不是完全正常,我用studio模擬,發(fā)現(xiàn)使用的NIAN數(shù)組的SRAM地址是0x0076是正常顯示的,但我的另一個(gè)數(shù)組RI的SRAM地址是0x0116就顯示亂碼了,其在void HD61202中的TEMP地址為0x0000,好像根本沒有傳進(jìn)去,也就說明了只能傳CHAR的地址,有高位就不行了,各位有遇到過的嗎? |
5樓: | >>參與討論 |
作者: winsu 于 2006/4/14 8:29:00 發(fā)布:
你的數(shù)組是如何定義的 |
6樓: | >>參與討論 |
作者: prozm 于 2006/4/14 19:20:00 發(fā)布:
數(shù)組的定義 const uchar NIAN[32]={ 0x00,0x00,0x00,0x00,0x00,0x50,0x48,0xEC,0x26,0xEE,0xFC,0x94,0x96,0x90,0x80,0x80, 0x00,0x00,0x00,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x7F,0x00,0x00,0x00,0x00,0x00 /*年*/ }; |
7樓: | >>參與討論 |
作者: terrence 于 2006/4/16 21:27:00 發(fā)布:
感覺跟const有關(guān) 不知道GCCAVR中,const會(huì)產(chǎn)生什么作用; 研究下匯編... |
|
|
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |