freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stm32的數(shù)碼相框系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)軟件畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-27 18:52本頁(yè)面
  

【正文】 TM32 的 TXD),TXD 和 PA10(STM32 的RXD)通過跳線帽連接起來,這樣我們就把 PL2303 和 MCU 的串口 1 連接上了。這里由于硬件板自帶了一鍵下載電路,所以并不需要去關(guān)心 BOOT0 和 BOOT1 的狀態(tài),但是為了讓下載完后可以按復(fù)位執(zhí)行程序,要把 BOOT1 和 BOOT0 都設(shè)置為 0。設(shè)置完成如下圖所示:東南大學(xué)成賢學(xué)院畢業(yè)論文 30 圖 330 開發(fā)板串口下載跳線設(shè)置接著我們?cè)?USB_232 處插入 USB 線,并接上電腦,如果之前沒有安裝 PL2303 的驅(qū)動(dòng)(如果已經(jīng)安裝過了驅(qū)動(dòng),則應(yīng)該能在設(shè)備管理器里面看到 USB 串口,如果不能則要先卸載之前的驅(qū)動(dòng),卸載完后重啟電腦(必要步驟),再重新安裝我們提供的驅(qū)動(dòng)),則電腦會(huì)提示找到新硬件,如下圖所示:圖 331 找到新硬件我們不理會(huì)這個(gè)提示,直接找到光盤軟件文件夾下的 PL2303 驅(qū)動(dòng),安裝該驅(qū)動(dòng)。在驅(qū)動(dòng)安裝完成之后,拔掉 USB 線,然后重新插入電腦,此時(shí)電腦就會(huì)自動(dòng)給其安裝驅(qū)動(dòng)了。在安裝完成之后,可以在電腦的設(shè)備管理器里面找到 USB 串口(如果找不到,則重啟下電腦),如下圖所示:圖 332 USB 串口驅(qū)動(dòng)安裝成功東南大學(xué)成賢學(xué)院畢業(yè)論文 31 上圖中我們顯示的 USB 串口為 COM5,不同電腦可能不一樣,可能是 COMCOM6 等,但是Prolific USBtoSerial Comm Port,這個(gè)一定是一樣的,如果沒找到,則有可能是安裝有誤或者系統(tǒng)不兼容。在安裝了 USB 串口驅(qū)動(dòng)之后,我們就可以開始串口下載程序了,這里我們的串口下載軟件選擇的是 mcuisp,該軟件屬于第三方軟件,由單片機(jī)在線編程網(wǎng)提供,大家可以去 免費(fèi)下載,目前最新版本為 。該軟件啟動(dòng)界面如下:圖 333 mcuisp 啟動(dòng)界面然后我們選擇要下載的 HEX 文件,以前面我們新建的工程為例,因?yàn)槲覀兦懊娴墓こ虥]有在KEIL 文件,所以在 USER 文件的。下面我們看看如何設(shè)置:先在工程里面點(diǎn)擊,打開 Output 選項(xiàng)卡,勾選 Create HEX File 選項(xiàng),如下圖所示:圖 334 MDK 設(shè)置生成 HEX 文件圖中選中第二個(gè)紅圈內(nèi)的選項(xiàng),可以使編譯器產(chǎn)生瀏覽信息,方便快速查看函數(shù)和變量等,這點(diǎn)在后面會(huì)介紹。選中之后點(diǎn)擊 OK,重新編譯,編譯結(jié)果如下圖所示:東南大學(xué)成賢學(xué)院畢業(yè)論文 32 圖 335 重新編譯結(jié)果從上圖中可以看到,編譯器已經(jīng)產(chǎn)生了 hex 文件了,然后我們打開 USER 文件夾,看看里面發(fā)生了什么變化?如下圖所示:圖 336 新編譯生成文件從上圖可以看到,重新編譯產(chǎn)生了很多文件,其中就有我們所需要的 hex 文件(圖中紅圈圈中),至此,我們就可以開始下載了。用 mcuisp 軟件打開 USER 文件夾,找到 ,打開并進(jìn)行相應(yīng)設(shè)置后,如下圖所示:圖 337 mcuisp 設(shè)置東南大學(xué)成賢學(xué)院畢業(yè)論文 33 圖 337 中紅圈圈中的設(shè)置,是我們建議的設(shè)置。編程后執(zhí)行,這個(gè)選項(xiàng)在無一鍵下載功能的條件下是很有用的,當(dāng)選中該選項(xiàng)之后,可以在下載完程序之后自動(dòng)運(yùn)行代碼。否則,下載代碼之后,必須先將 B0 連接 GND,再按復(fù)位鍵,才能開始運(yùn)行剛剛下載的代碼。硬件板雖然自帶了一鍵下載功能,但是還是建議選上這個(gè)設(shè)置。編程前重裝文件,該選項(xiàng)也比較有用,當(dāng)選中該選項(xiàng)之后,mcuisp 會(huì)在每次編程之前,將 hex文件重新裝載一遍,這對(duì)于代碼調(diào)試的時(shí)候是比較有用的。最后,我們選擇的 DTR 的低電平復(fù)位,RTS 高電平進(jìn) BootLoader,這個(gè)選擇項(xiàng)選中,mcuisp就會(huì)通過 DTR 和 RTS 信號(hào)來控制板載的一鍵下載功能電路,以實(shí)現(xiàn)一鍵下載功能。如果不選擇,則無法實(shí)現(xiàn)一鍵下載功能。這個(gè)是必要的選項(xiàng)(在 BOOT0 接 GND 的條件下)。在裝載了 hex 文件之后,我們要下載代碼還需要選擇串口,這里 mcuisp 有智能串口搜索功能。每次打開 mcuisp 軟件,軟件會(huì)自動(dòng)去搜索當(dāng)前電腦上可用的串口,然后選中一個(gè)作為默認(rèn)的串口(一般是您最后一次關(guān)閉時(shí)所選則的串口)。也可以通過點(diǎn)擊菜單欄的搜索串口,來實(shí)現(xiàn)自動(dòng)搜索當(dāng)前可用串口。串口波特率則可以通過 bps 那里設(shè)置,對(duì)于 STM32,該波特率最大為 230400bps,這里我們一般選擇最高的波特率:460800,讓 mcuisp 自動(dòng)去同步。搜索完串口之后界面如下圖所示:圖 338 搜索串口從之前 USB 串口的安裝可知,開發(fā)板的串口被識(shí)別為 COM5 了,所以我選擇 COM5。選擇了相應(yīng)串口之后就可以通過按”開始編程(P)”這個(gè)按鈕,一鍵下載代碼到 STM32 上,下載成功后如下圖所示:東南大學(xué)成賢學(xué)院畢業(yè)論文 34 圖 339 下載完成上圖中,我用圈圈圈出了 mcuisp 對(duì)一鍵下載電路的控制過程,其實(shí)就是控制 DTR 和 RTS 電平的變化,控制 BOOT0 和 RESET,從而實(shí)現(xiàn)自動(dòng)下載。另外界面提示已經(jīng)下載完成(如果老提示:開始連接…,需要檢查一下,開發(fā)板的設(shè)置是否正確,是否有其他因素干擾等),并且從0X80000000 處開始運(yùn)行了,我打開串口調(diào)試助手選擇 COM5,會(huì)發(fā)現(xiàn)從硬件板發(fā)回來的信息,如下圖所示:圖 340 程序開始運(yùn)行了接收到的數(shù)據(jù)和我仿真的是一樣的,證明程序沒有問題。至此,說明下載代碼成功了,并且也從硬件上驗(yàn)證了代碼的正確性。東南大學(xué)成賢學(xué)院畢業(yè)論文 35 第四章 程序設(shè)計(jì)與調(diào)試 系統(tǒng)描述本系統(tǒng)采用基于 ARM CortexM3 內(nèi)核的 STM32 作為主控制器,外擴(kuò) SD 卡以及 TFT 彩屏。系統(tǒng)通過文件系統(tǒng)讀取 SD 卡內(nèi)存儲(chǔ)的 BMP、JPEG、JPG 格式圖片,把多幅圖片以幻燈片的形式從 TFT 屏上顯示出來。同時(shí),通過 STM32 內(nèi)部的 RTC 模塊使系統(tǒng)具有掉電不遺失日期及時(shí)鐘的功能。系統(tǒng)框圖如圖 41 所示。圖 41 系統(tǒng)框圖 軟件設(shè)計(jì) 文件讀取本設(shè)計(jì)需要用到 FAT(FAT16/32)文件系統(tǒng)來讀取 SD 卡上的字庫(kù)和 UNICODE 到 GBK 的轉(zhuǎn)換碼表到 W25X16 部分,因此要重點(diǎn)介紹 FAT 文件系統(tǒng)。FAT 文件系統(tǒng)本身比較復(fù)雜,所以這里只簡(jiǎn)單介紹一下。常用的文件系統(tǒng)有 FAT12/16/32 等,F(xiàn)AT12 是最古老的文件系統(tǒng),只能管理 8M 左右的空間,現(xiàn)在基本淘汰了。FAT16 則可以管理 2G 的空間(通過特殊處理也能管理 2G 以上的空間),而 FAT32則能管理到 2TB(2048GB)的空間。FAT32 較 FAT16 的優(yōu)勢(shì)還在于 FAT32 采用了更小的簇,可以更有效的保存信息,而不會(huì)造成較多的浪費(fèi)。XP 在 SD 卡里面建立的文件系統(tǒng)最常用的也就是 FAT16 和 FAT32。這是由 XP 在格式化 SD 卡的時(shí)候建立的,通常 SD 卡上的數(shù)據(jù)信息由 MBR、DBR、FAT、FDT 和數(shù)據(jù)區(qū) 5 個(gè)部分組成(有的也沒有MBR)。我們以 FAT32 為例做介紹。MBR 稱為主引導(dǎo)記錄區(qū),該區(qū)存儲(chǔ)了分區(qū)表等信息,位于 SD 卡的扇區(qū) 0(物理扇區(qū)),在其分區(qū)信息里面記錄了 DBR 所在的位置,SD 卡一般只會(huì)有一個(gè)分區(qū),所以也就只要找到分區(qū) 1 的 DBR 所在位置就可以了。DBR 稱為操作系統(tǒng)引導(dǎo)記錄區(qū),如果沒有 MBR,那么 DBR 就位于 0 扇區(qū),如果有則必須通過MBR 區(qū)得到 DBR 所在的地址,然后讀出 DBR 信息。在 DBR 區(qū),我們可以知道每個(gè)扇區(qū)所占用的字節(jié)數(shù)、每個(gè)簇的扇區(qū)數(shù)、FAT 表的份數(shù)、每個(gè) FAT 表的扇區(qū)數(shù)、跟目錄簇號(hào)、FAT 表 1 所在的扇區(qū)等一系列非常重要的信息。FAT 稱為文件分配表(FAT 表),一般一個(gè)卡上會(huì)存在 2 個(gè) FAT 表,一個(gè)用作備份,一個(gè)用作使用。FAT 表一般緊隨 DBR,另一個(gè) FAT 表則緊隨第一個(gè) FAT 表,這樣只要知道了第一個(gè) FAT 表的位置及大小,那么第二個(gè) FAT 表的位置也就確定了。FAT 表記錄了每個(gè)文件的位置和區(qū)域,是一種鏈?zhǔn)浇Y(jié)構(gòu),F(xiàn)AT 以“F8 FF FF 0F FF FF FF FF”這樣的 8 個(gè)字節(jié)為表頭,用以表示 FAT 表的開始,后面的數(shù)據(jù)每四個(gè)字節(jié)為一個(gè)簇項(xiàng)(從第 2 簇開始),用來標(biāo)記下一個(gè)簇所在的位置,這樣每個(gè)位置都存儲(chǔ)了下一個(gè)簇,只要按著這個(gè)表走,就可以找到文件的所有內(nèi)容。如果找到下一個(gè)簇位置,里面記錄的是“FF FF FF 0F”,代表這個(gè)文件到此就結(jié)束了,沒有后續(xù)簇了,這樣一個(gè)文件的讀東南大學(xué)成賢學(xué)院畢業(yè)論文 36 取就結(jié)束了。FDT 稱為文件根目錄表,這個(gè)區(qū)域固定為 32 個(gè)扇區(qū),假設(shè)每個(gè)扇區(qū)為 512 個(gè)字節(jié),那么更目錄下最多存放 512 個(gè)文件(假設(shè)都用短文件名存儲(chǔ),每個(gè)短文件名占 32 個(gè)字節(jié))。文件目錄表是另一個(gè)重要的部分,F(xiàn)AT 文件系統(tǒng)中(僅以短文件名介紹),文件目錄項(xiàng)在目錄表下以 32 個(gè)字節(jié)的方式記錄,各字段定義如下:表 文件目錄項(xiàng)各字節(jié)定義從上表可知,我們?cè)谖募哪夸涰?xiàng)就可以找到該文件的其實(shí)簇,然后在 FAT 表里面找到該簇開始的下一個(gè)簇,依次讀取這些簇就可以把整個(gè)文件讀出來了。 圖像解碼與顯示 BMP 文件格式BMP 是一種與硬件設(shè)備無關(guān)的圖像文件格式,使用非常廣。它采用位映射存儲(chǔ)格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP 文件所占用的空間很大。BMP 文件的圖像深度可選 lbit、4bit、8bit 及 24bit。BMP 文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是按從左到右、從下到上的順序。典型的 BMP 圖像文件由三部分組成:位圖文件頭數(shù)據(jù)結(jié)構(gòu),它包含 BMP 圖像文件的類型、顯示內(nèi)容等信息;位圖信息數(shù)據(jù)結(jié)構(gòu),它包含有 BMP 圖像的寬、高、壓縮方法,以及定義顏色等信息。部分代碼://BMP 信息頭typedef __packed struct{DWORD biSize 。 //說明 BITMAPINFOHEADER 結(jié)構(gòu)所需要的字?jǐn)?shù)。LONG biWidth 。 //說明圖象的寬度,以象素為單位 LONG biHeight 。 //說明圖象的高度,以象素為單位 WORD biPlanes 。 //為目標(biāo)設(shè)備說明位面數(shù),其值將總是被設(shè)為 1 WORD biBitCount 。 //說明比特?cái)?shù)/象素,其值為 12或 32DWORD biCompression 。 //說明圖象數(shù)據(jù)壓縮的類型。其值可以是下述值之一:東南大學(xué)成賢學(xué)院畢業(yè)論文 37 DWORD biSizeImage 。//說明圖象的大小,以字節(jié)為單位。當(dāng)用 BI_RGB 格式時(shí),可設(shè)置為 0 LONG biXPelsPerMeter 。//說明水平分辨率,用象素/米表示LONG biYPelsPerMeter 。//說明垂直分辨率,用象素/米表示DWORD biClrUsed 。 //說明位圖實(shí)際使用的彩色表中的顏色索引數(shù)DWORD biClrImportant 。 //說明對(duì)圖象顯示有重要影響的顏色索引的數(shù)目,如果是 0,表示都重要。} BITMAPINFOHEADER 。//BMP 頭文件typedef __packed struct{ WORD bfType 。 //39。BM39。,用來識(shí)別 BMP 位圖類型 DWORD bfSize 。 //文件大小,占四個(gè)字節(jié) WORD bfReserved1 。//保留 WORD bfReserved2 。//保留 DWORD bfOffBits 。 //從文件開始到位圖數(shù)據(jù)(bitmap data)開始之間的的偏移量}BITMAPFILEHEADER 。//彩色表typedef __packed struct { BYTE rgbBlue 。 //指定藍(lán)色強(qiáng)度 BYTE rgbGreen 。 //指定綠色強(qiáng)度 BYTE rgbRed 。 //指定紅色強(qiáng)度 BYTE rgbReserved 。//保留,設(shè)置為 0 }RGBQUAD 。//位圖信息頭typedef __packed struct{ BITMAPFILEHEADER bmfHeader。BITMAPINFOHEADER bmiHeader。 }BITMAPINFO。//解碼這個(gè) BMP 文件 BOOL BmpDecode(FileInfoStruct *BmpFileName){ u16 count。 u8 rgb ,color_byte。u16 x ,y,color,tmp_color 。 u16 uiTemp。 //x 軸方向像素計(jì)數(shù)器 u16 countpix=0。//記錄像素 u8 realx=0。u16 realy=0。 //x,y 的實(shí)際坐標(biāo)u8 yok=1。 東南大學(xué)成賢學(xué)院畢業(yè)論文 38 BITMAPINFO *pbmp。//臨時(shí)指針 CurFile=BmpFileName。 F_Open(CurFile)。//打開文件 F_Read(CurFile,jpg_buffer)。//讀出 512 個(gè)字節(jié) pbmp=(BITMAPINFO*)jpg_buffer。//得到 BMP 的頭部信息 count=pbmp。 //數(shù)據(jù)偏移,得到數(shù)據(jù)段的開始地址color_byte=pbm
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1