日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年01月28日(星期二)

2020年01月28日 | PIC單片機(jī)之關(guān)于超大數(shù)組問題

發(fā)布者:清新天空 來源: eefocus關(guān)鍵字:PIC單片機(jī)  超大數(shù)組  編譯器 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

關(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)在我們可以看看實驗效果了:

關(guān)鍵字:PIC單片機(jī)  超大數(shù)組  編譯器 引用地址:PIC單片機(jī)之關(guān)于超大數(shù)組問題

上一篇:PIC單片機(jī)實現(xiàn)LCD1602滾動顯示字符串
下一篇:PIC單片機(jī)之IO口映射問題

推薦閱讀

集微網(wǎng)消息,據(jù)中國證券報報道,中科曙光X86芯片進(jìn)展順利,2年研發(fā)周期即將結(jié)束。AMD在2016年Q1的業(yè)績報告中宣布向AMD與曙光合資公司提供X86芯片技術(shù)許可,合資公司將利用該技術(shù)開發(fā)X86芯片。2017年初公司獲批籌建先進(jìn)微處理器技術(shù)國家工程實驗室,成為事實上舉國之力突破X86芯片獨家領(lǐng)軍。按照CPU芯片2年研發(fā)周期的規(guī)律,預(yù)計曙光將在今年上半年完成量產(chǎn)...
歐司朗已于近日成功完成圣彼得大教堂全新LED照明系統(tǒng)的規(guī)劃和安裝工作,目前新系統(tǒng)已全面啟用。憑借歐司朗創(chuàng)新的數(shù)字照明理念,世界第一大教堂——圣彼得大教堂綻放新光。教堂的整體照明理念由歐司朗為其量身定制,以展現(xiàn)出教堂內(nèi)珍藏藝術(shù)品的迷人風(fēng)采。 過去,教堂某些小型的偏殿走廊的穹頂及其他許多區(qū)域都幾乎沒有照明。全新LED照明系統(tǒng)啟用后,...
(1)用于真空滅弧室生產(chǎn)線中滅弧室的質(zhì)量控制,斷路器生產(chǎn)廠家的滅弧室的入庫檢驗。(2)用于檢測安裝于開關(guān)整機(jī)上的真空滅弧室的真空度。這類檢測主要用于供電部門的例行檢修及容量試驗中對真空滅弧室承受能力的判定。連線將面板上的磁控電流輸出端通過導(dǎo)線與磁控線圈相連,使滅弧室觸頭至于分狀態(tài)(線圈套于滅弧室外),將高壓線和信號輸入線分別接滅弧...
Strategy Analytics新興終端技術(shù)(EDT)團(tuán)隊最新發(fā)布的研究報告預(yù)測, 2020年全球藍(lán)牙耳機(jī)的總銷量將超過3億部。其中,真無線立體聲(TWS)藍(lán)牙耳機(jī)的銷量增長了近90% 。報告提供了到2025年全球TWS藍(lán)牙耳機(jī)、藍(lán)牙耳機(jī)銷量和收入的預(yù)測,報告還詳細(xì)列出了2020年領(lǐng)先的TWS耳機(jī)廠商全球市場份額。 ...

史海拾趣

問答坊 | AI 解惑

自舉電路(很全面的原理及應(yīng)用)

喜歡的可以下載!很全面的自舉電路學(xué)習(xí)資料…

查看全部問答∨

西門子TC35i 與 PC連接問題

我用的是西門子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ū)別,程序那里要怎樣修改才能顯示互通…

查看全部問答∨

ISE VHDL 如何通過端口給二維數(shù)組賦值呢?

想寫一個處理器,從RAM中讀取一個矩陣。想了想覺得不可能,所以請高人指點。 [ 本帖最后由 dongxh 于 2012-11-28 18:57 編輯 ]…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved