關(guān)于超大數(shù)組問題:
本實驗用的編譯器是xc16-gcc.exe,集成開發(fā)環(huán)境是MPLAB IDE v8.92,當(dāng)前的編譯器配置如下:
-g -Wall -mlarge-code -mlarge-data -Os -fno-ivopts
如下圖:
其中這里有一個超大的數(shù)組:
這時候編譯會有這樣的一個錯誤:
從提示可以知道,這是一個數(shù)據(jù)超出的錯誤,但是這里是超出了數(shù)據(jù)段,而不是說超出了芯片的flash,我們可以這樣查看是否超過了flash,去掉這個數(shù)組編譯看看占用了多少flash,如下:
也就是說占用的flash空間是:81459+7674=89133,但是單片機(jī)的flash卻是這樣的:
所以即是加上數(shù)組的35408也是124541并沒有超出flash,所以這個錯誤完全是編譯器的問題,從網(wǎng)上收到這個文章:
http://electronics.stackexchange.com/questions/25878/epmp-on-pic24fj128da210
其中有關(guān)鍵的提示:
所以這里增加-mlarge-arrays這個編譯命令,如下:
這時候的編譯結(jié)果如下所示:
從網(wǎng)上找到這個辦法:
http://www.microchip.com/forums/m621857.aspx
其中的關(guān)鍵的地方是這樣的:
在文件中修改如下:
這時候編譯結(jié)果如下:
編譯成功了,要說明的是,如果數(shù)組再增大到一定的程度,如下
這時候又會出現(xiàn)新的錯誤,本人決定去弄一張更小的圖片吧,不要那么大的圖片了,所以這個錯誤將不再深究,錯誤如下:
從這里看,或許真的是因為溢出flash了
注意:上面只是說明了怎么裝數(shù)據(jù),并沒有說明怎么使用數(shù)據(jù),下面的函數(shù)給出了一個怎么使用這個數(shù)組數(shù)據(jù)的說明:
void show_photo(unsigned short int StartX, unsigned short int StartY, __prog__ unsigned char *BmpAddress)
{
__prog__ HEADCOLOR *BmpHeadr;
unsigned short int Width, Height,Column,row;
__prog__ unsigned char *BmpData;
BmpHeadr = (__prog__ HEADCOLOR *)BmpAddress;
Width = BmpHeadr->w; //177
Height = BmpHeadr->h; //100
BmpData = (__prog__ unsigned char *)(BmpAddress + sizeof(HEADCOLOR)); //sizeof表示該數(shù)組內(nèi)存的多少 單位是字節(jié) 算出像素數(shù)據(jù)在數(shù)組中的偏移
LCD_SetPos(StartX,StartX+Width-1,StartY,StartY+Height-1);
for(Column=0;Column for(row=0;row Write_Data(*(__prog__ unsigned short int *)BmpData); BmpData +=2; } } } 一定要注意這時候使用的是__prog__類型,而不是const類型 下面是這個函數(shù)的調(diào)用方法: show_photo(0,0,gImage_100X177); 這個數(shù)組的定義是這樣的: __prog__ unsigned char gImage_100X177[35408] __attribute__((space(prog)))= { 0X00,0X10,0XB1,0X00,0X64,0X00,0X01,0X1B, 0XDD,0XC6,0XDD,0XC6,0XFE,0XC6,0XFD,0XCE,0XFD,0XCE,0XFE,0XCE,0X1E,0XCF,0X1E,0XCF, 0X1E,0XCF,0X1E,0XCF,0X1E,0XC7,0X1E,0XCF,0X1E,0XCF,0X3E,0XD7,0X3E,0XD7,0X3E,0XD7, 0X3E,0XD7,0X3E,0XD7,0X3E,0XD7,0X3E,0XD7,0X3E,0XD7,0X3E,0XCF,0X3E,0XC7,0X1E,0XC7, 0X1E,0XC7,0X1E,0XC7,0X1E,0XC7,0X3E,0XC7,0X3E,0XC7,0X3E,0XCF,0X3E,0XCF,0X5E,0XCF, 0X5F,0XCF,0X3E,0XCF,0X3E,0XCF,0X3E,0XCF,0X3F,0XCF,0X3E,0XC7,0X3F,0XCF,0X3F,0XCF, 0X3F,0XC7,0X5F,0XCF,0X5F,0XCF,0X5F,0XCF,0X5E,0XCF,0X5F,0XCF,0X5F,0XCF,0X5F,0XCF, 現(xiàn)在我們可以看看實驗效果了:
上一篇:PIC單片機(jī)實現(xiàn)LCD1602滾動顯示字符串
下一篇:PIC單片機(jī)之IO口映射問題
推薦閱讀
史海拾趣
面對電子行業(yè)供應(yīng)鏈復(fù)雜多變的挑戰(zhàn),Gem Asia積極實施供應(yīng)鏈優(yōu)化和數(shù)字化轉(zhuǎn)型戰(zhàn)略。公司引入先進(jìn)的ERP系統(tǒng)和物聯(lián)網(wǎng)技術(shù),實現(xiàn)了從原材料采購、生產(chǎn)制造到物流配送的全鏈條數(shù)字化管理。這一舉措不僅提高了生產(chǎn)效率和產(chǎn)品質(zhì)量,還降低了運營成本,增強(qiáng)了企業(yè)的市場競爭力。同時,Gem Asia還加強(qiáng)了與上下游企業(yè)的合作,共同構(gòu)建了一個高效協(xié)同的供應(yīng)鏈生態(tài)系統(tǒng)。
作為電子行業(yè)的領(lǐng)先企業(yè)之一,AGM始終堅持以創(chuàng)新為核心競爭力。公司不斷投入研發(fā)資源,加強(qiáng)與國際先進(jìn)企業(yè)的合作與交流,積極引進(jìn)和吸收新技術(shù)、新工藝和新材料。同時,AGM還注重人才培養(yǎng)和團(tuán)隊建設(shè),打造了一支高素質(zhì)、專業(yè)化的研發(fā)團(tuán)隊。這些努力為AGM在未來的發(fā)展中保持領(lǐng)先地位提供了有力保障,也為公司實現(xiàn)可持續(xù)發(fā)展奠定了堅實基礎(chǔ)。
以上五個故事從不同角度展示了遨格芯微(AGM)公司在電子行業(yè)中的發(fā)展歷程和取得的成就。通過不斷的技術(shù)創(chuàng)新和市場拓展,AGM逐漸在可編程邏輯技術(shù)領(lǐng)域嶄露頭角,成為電子行業(yè)的佼佼者。未來,隨著科技的不斷進(jìn)步和市場需求的不斷變化,AGM將繼續(xù)保持創(chuàng)新精神和敏銳的市場洞察力,為電子行業(yè)的發(fā)展貢獻(xiàn)更多力量。
C-MAX Time Solutions公司在發(fā)展過程中,逐漸認(rèn)識到深耕細(xì)分市場的重要性。公司針對工業(yè)控制、安防監(jiān)控等特定領(lǐng)域,推出了定制化的時間同步解決方案。這些方案不僅滿足了客戶的特殊需求,也提高了C-MAX在這些細(xì)分市場的占有率。通過不斷積累口碑和經(jīng)驗,C-MAX逐漸在電子行業(yè)中樹立起了專業(yè)、可靠的形象。
AK-Nord_GmbH公司自成立之初,便以技術(shù)創(chuàng)新為核心競爭力。在公司發(fā)展的早期階段,團(tuán)隊研發(fā)出了一款具有革命性的電源管理芯片,該芯片以其高效能和穩(wěn)定性迅速贏得了市場的認(rèn)可。隨著技術(shù)的不斷完善和迭代,公司逐漸在電源管理領(lǐng)域樹立了領(lǐng)先地位。隨后,AK-Nord_GmbH又投入大量資源進(jìn)行無線通信技術(shù)的研發(fā),成功推出了一系列高性能的無線通信模塊,進(jìn)一步鞏固了其在電子行業(yè)中的地位。
在20世紀(jì)80年代初,F(xiàn)ORYARD公司由一群電子工程師在硅谷創(chuàng)立。起初,公司專注于研發(fā)高性能的半導(dǎo)體芯片,但面臨激烈的市場競爭和技術(shù)壁壘。為了突破重圍,F(xiàn)ORYARD決定聚焦于低功耗、高集成度的微控制器(MCU)領(lǐng)域。經(jīng)過數(shù)年的潛心研發(fā),公司成功推出了一款具有革命性創(chuàng)新的MCU產(chǎn)品,憑借其出色的性能和價格優(yōu)勢,迅速在智能家居和可穿戴設(shè)備市場占據(jù)一席之地。這一成功不僅為公司贏得了市場認(rèn)可,也為后續(xù)的技術(shù)創(chuàng)新和業(yè)務(wù)拓展奠定了堅實基礎(chǔ)。
在20世紀(jì)80年代初,F(xiàn)ORYARD公司由一群電子工程師在硅谷創(chuàng)立。起初,公司專注于研發(fā)高性能的半導(dǎo)體芯片,但面臨激烈的市場競爭和技術(shù)壁壘。為了突破重圍,F(xiàn)ORYARD決定聚焦于低功耗、高集成度的微控制器(MCU)領(lǐng)域。經(jīng)過數(shù)年的潛心研發(fā),公司成功推出了一款具有革命性創(chuàng)新的MCU產(chǎn)品,憑借其出色的性能和價格優(yōu)勢,迅速在智能家居和可穿戴設(shè)備市場占據(jù)一席之地。這一成功不僅為公司贏得了市場認(rèn)可,也為后續(xù)的技術(shù)創(chuàng)新和業(yè)務(wù)拓展奠定了堅實基礎(chǔ)。
我用的是西門子TC35i 的GSM 模塊 用串口線與計算機(jī)連接上后,模塊燈閃爍 打開超級終端卻不能輸入AT指令, 請問要怎么解決? 還有 模塊與PC機(jī)連接 ,與設(shè)備要怎么連接? GPRS MODEM 的接口 原配的串口線 … 查看全部問答∨ |
請教Windows XP編程環(huán)境下如何控制網(wǎng)絡(luò)驅(qū)動? 我需要在Windows XP環(huán)境下實現(xiàn)某種程度的網(wǎng)關(guān)功能,因此需要在應(yīng)用軟件中直接控制網(wǎng)絡(luò)驅(qū)動。需要兩個最為基本的控制功能: (1)驅(qū)動控制。這需要通過CreateFile來創(chuàng)建控制句柄。但不知道相應(yīng)的設(shè)備描述應(yīng)該是什么。 (2)用DeviceIoControl通過 ...… 查看全部問答∨ |
Mini6410接3G上網(wǎng)卡上WCDMA聯(lián)通網(wǎng)實現(xiàn)了(2010-10-4) 轉(zhuǎn)自:http://www.arm9home.net/read.php?tid-8184.html Mini6410新進(jìn)展,現(xiàn)在可以接3G上網(wǎng)卡上網(wǎng)了,首先實現(xiàn)的是世界通用聯(lián)通WCDMA網(wǎng)絡(luò),有圖有真相,這是基于命令行實現(xiàn)的,下一步是把它改為圖形界面,離我們的目標(biāo)又進(jìn)了一步,歡呼吧,等待吧 ...… 查看全部問答∨ |
TI閱讀:運算放大器增益穩(wěn)定性第2部分:DC增益誤差分析 本帖最后由 dontium 于 2015-1-23 13:33 編輯 運算放大器增益穩(wěn)定性第2部分:DC增益誤差分析 … 查看全部問答∨ |
650元出LM4F232H5QD TI官方M4開發(fā)板 全新 參加TI的關(guān)于M4的培訓(xùn)班, 送了一塊 LM4F232H5QD M4的開發(fā)板,就是官方149美刀的那個 板子全新 未開封 現(xiàn)650元出手。 可支付寶交易: http://item.taobao.com/item.htm?id=15019045654… 查看全部問答∨ |
在lpc1788上移植RT-Thread,個人代碼存放位置問題 我想利用在lpc1788上移植成功的RT-Thread1.00版本上開發(fā)一個系統(tǒng),自己寫的代碼只能在 rt_application_init()函數(shù)里寫嗎?該函數(shù)后面的 /* init timer thread */ rt_system_timer_thread_init(); /* ...… 查看全部問答∨ |
2.8寸屏 ILI9331驅(qū)動的觸屏彩晶與XPT2046驅(qū)動的觸屏彩晶有什么區(qū)別 本人是菜鳥,剛自學(xué)STM32,買的開放板配套的例程都用不了,網(wǎng)上下載的一些程序,但是液晶型號不同,所以一直調(diào)試不出理想的效果,網(wǎng)上下載了其中的這兩款的液晶數(shù)據(jù)手冊,但是還是很難找出他們的區(qū)別,程序那里要怎樣修改才能顯示互通… 查看全部問答∨ |
想寫一個處理器,從RAM中讀取一個矩陣。想了想覺得不可能,所以請高人指點。 [ 本帖最后由 dongxh 于 2012-11-28 18:57 編輯 ]… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 半導(dǎo)體關(guān)稅可能會使您的下一輛汽車更加昂貴
- 潮起!人形機(jī)器人成本的20%-30%——靈巧手,國產(chǎn)3大廠商正快速產(chǎn)業(yè)化!
- AB Dynamics發(fā)布用于無人駕駛測試的物體檢測系統(tǒng)
- AI重構(gòu)出行:高階輔助駕駛的破局之路
- 廣汽即將發(fā)布全新星源增程技術(shù)
- Yole表示,到2030年,數(shù)據(jù)中心芯片市場規(guī)模將達(dá)到5000億美元
- 綠色節(jié)能趨勢下的延時繼電器發(fā)展:低功耗設(shè)計與環(huán)保材料應(yīng)用
- 國內(nèi)車企在固態(tài)電池領(lǐng)域的挑戰(zhàn)和技術(shù)方案
- 資本熱捧 + 政策護(hù)航,2025 人形機(jī)器人能否叩開 “量產(chǎn)元年” 大門?
- 耐世特推出用于智能運動控制的 MotionIQ?軟件套件
- DIY FPGA初級學(xué)習(xí)板
- 有獎直播:基于TI Jacinto™ 的深度學(xué)習(xí)平臺介紹
- 【贈書100%有禮】一本書教你如何開發(fā)測試系統(tǒng),深入了解數(shù)據(jù)采集系統(tǒng)
- 有獎活動|下載資料、預(yù)約視頻 泰克 HDMI 2.1 測試方案
- 只為汽車更安全,下載 TI DRV3000系列產(chǎn)品手冊,搶樓截圖入好禮嘍!
- 一覽TE可靠的電源連接家族產(chǎn)品,下載贏TTI定制禮品
- 瑞薩電子100套開發(fā)套件等你來搶
- 有獎直播|MPS電感解決方案,助力更好的開關(guān)電源設(shè)計
- Follow me第二季第1期來啦!與得捷一起解鎖【Adafruit Circuit Playground Express】超能力!
- 在WinCE6.0平臺下,如何將攝像頭的CAM_IOControl方法與DirectShow兼容起來,尤其是此方法第二個參數(shù)該如何使用
- 2011年全國大學(xué)生電子設(shè)計競賽報名工作通報
- CC4015------雙4位移位寄存器
- FPGA仿真介紹 (轉(zhuǎn))
- 工控機(jī)USB通信負(fù)載能力
- 新一代ASSP優(yōu)化手持設(shè)備中的電源管理
- 【Atmel SAM R21創(chuàng)意大賽周計劃】第4周 無線部分初探
- 求助-----尋找433MHz RF 傳輸,接收IC
- 第二波嵌入式處理直播主題月第二場今天開始:基于C2000的數(shù)字車載電源控制系統(tǒng)
- 關(guān)于單片機(jī)的C語言