|
本設(shè)計(jì)是基于STM32和OV7670攝像頭模塊在SD卡上建立FATFS文件系統(tǒng)實(shí)現(xiàn)拍照保存為BMP格式圖片的設(shè)計(jì)。
基本原理
OV7670攝像頭模塊先將采集的數(shù)據(jù)保存在大容量存儲(chǔ)器AL422B中,STM32直接通過(guò)I2C向OV7670芯片寫數(shù)據(jù),初始化,寫命令將數(shù)據(jù)寫到AL422B,STM32控制AL422將數(shù)據(jù)讀出來(lái),OV7670配置的是RGB格式QVGA輸出,一個(gè)像素輸出3個(gè)子節(jié),RGB格式又具體分為565,所以需要將3個(gè)子節(jié)轉(zhuǎn)換為一個(gè)565格式的數(shù)據(jù)讓LCD可以識(shí)別出顏色來(lái),這樣的話一個(gè)320*240大小的屏幕總共寫76800次,寫完之后屏幕便會(huì)顯示當(dāng)前畫面,OV7670的模塊每一楨數(shù)據(jù)是320*240*3個(gè)字節(jié),我們配置使用溢出信號(hào)的方式來(lái)觸發(fā)STM32 接收數(shù)據(jù)包,也就是當(dāng)OV7670采集完一楨數(shù)據(jù)后,VSYNC會(huì)發(fā)出一個(gè)信號(hào)提示數(shù)據(jù)采集完畢,STM32開(kāi)啟一個(gè)外部觸發(fā)中斷EXIT來(lái)監(jiān)聽(tīng)VSYNC,當(dāng)進(jìn)入中斷時(shí)立即讀取AL422里的數(shù)據(jù)送屏顯示。
當(dāng)有按鍵按下時(shí),我們調(diào)用FATFS文件系統(tǒng)中的建立文件名函數(shù),再調(diào)用BMP編碼函數(shù)將從LCD的RAM讀出的數(shù)據(jù)寫進(jìn)SD卡內(nèi),寫之前語(yǔ)言判斷SD卡是否有效等,最后將帶走有BMP格式的圖片保存起來(lái)
轉(zhuǎn)自:http://www.xiaovdiy.cn/?post=98
|
|