久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: OV7670迷你STM32照相機 制作資料 含電路圖 源碼 [打印本頁]

作者: 51hei學習技術中    時間: 2016-10-12 16:12
標題: OV7670迷你STM32照相機 制作資料 含電路圖 源碼
1 軟件程序設計
        簡易聲音播放器的軟件工作過程:通過SPI1從SD卡中讀取聲波文件,將所讀取的部分存放在一個緩沖
        器中,利用TIMER2通道1定期產生的中斷,從緩沖器中讀取聲音數據,然后根據聲音數據通過TIMER4的
        通道3產生不同頻率方波輸出。這里使用了兩個緩沖器,一個用于存放從SD卡讀到的聲音數據,另一個
        用于將聲音數據輸出到PWM,兩個緩沖區的功能不斷交替,形成一個由2個緩沖區構成的環形緩沖。播
        放聲波文件由PC機通過超級終端以命令的方式選擇,聲音的播放狀態也顯示在PC機超級終端上。
該系統軟件程序主要包含以下源文件,下面分別介紹其中主要的一些函數。限于篇幅這里不能給出工程的
全部源代碼,讀者可在realview網站下載。

main.c
該源文件包含以下幾個主要函數:
         SetupClock:用于初始化并設置系統時鐘,并允許GPIOA、GPIOB、TIM2、TIM4和SPI的時鐘;
         Speaker_Timer_Config:用于配置定時器TIM2和TIM4,TIM4的通道3處于PWM1模式;TIM2的通道1工作于
        輸出比較模式,定期發出中斷,在每次中斷修改TIM4通道3相關寄存器,使之產生不同頻率的方波;
         USART_Scanf_Name和USART_Scanf_Cmd:用于從超級終端獲取輸入字符串;
         PrintPass:用于在超級終端上輸出提示符"X:>";
         main: 主函數,首先初始化系統時鐘、串口、連接SD卡的SPI1,與SD進行通訊初始化,檢測并在超級
        終端上打印SD卡的信息;然后根據用戶在超級中輸入的命令進行操作,這里有"dir"、"cd"、"read"、
        "free"、"play"五個簡單的命令,分別是目錄項列表、目錄更換、以文本方式讀取文件、查詢SD空余
        空間和播放聲音文件;如果輸入"Play ***.wav",則處理器開始從SD卡中讀取相應的聲波文件,并將
        其放入相應的緩沖區;

msd.c
該文件用于提供SD卡的驅動,由ST公司所帶例程提供,本系統用到以下一些函數。
         SPI_Config:配置與SD卡相連接的SPI1;
         MSD_Init:初始化SD卡通訊;
         MSD_WriteByte:向SD卡寫一個字節;
         MSD_WriteByte:從SD卡讀一個字節;
         MSD_GoIdleState:令SD卡處于空閑態;
         Get_Medium_Characteristics:獲取SD卡的容量;
         MSD_SendCmd:向SD卡發命令;
         MSD_GetResponse:從SD卡獲取響應;
         MSD_ReadBlock:從SD卡讀取一塊數據;

fat16.c
該文件提供FAT16文件系統的支持,主要包含以下一些函數:
         ReadMBR:讀取MBR數據結構;
         ReadBPB:讀取BPB數據結構;
         ReadFAT:讀取文件分配表指定項;
         ReadBlock:讀取一個扇區;
         FAT_Init:獲取FAT16文件系統基本信息;
         DirStartSec:獲取根目錄的開始扇區號;
         DataStartSec:獲取數據區的開始扇區號;
         ClusConvLBA:獲取一個簇的開始扇區號;
         LBAConvClus:轉換扇區號與簇號之間的關系;
         LBAConvClus:計算可用空間,返回字節數;
         GetFileName:獲取指定文件的首扇區號;
         List_DateAndTime:獲取文件或目錄項的日期時間;
         SearchFoler:在指定范圍內查找子目錄;
         List_AllDir_Long:列出指定范圍內的目錄及目錄信息;
         FAT_FileOpen:打開指定文件;
         FAT_FileRead:讀取文件數據;

uart.c
該文件提供USART串口驅動函數,可以參考7.5串行通訊接口實例的程序;

hw_config.c
該文件包含系統初始化設置函數和中斷配置函數。
         Set_System:用于提供系統時鐘及電源設置;
         NVIC_Config:用于設置中斷向量,允許TIM2中斷;

stm32f10x_it.c
該文件僅包含一個函數TIM2_IRQHandler,即在每次TIM2中斷時從緩沖器中讀取音頻數據送TIM4定時器,
以用于產生不同頻率的聲音。

UnicodeToGB2312.c
該文件僅包含一個函數UnicodeToGB2312,處理從UniCode編碼到GB2312字符的轉換,用于處理長文件名。

2 運行過程
(1)        使用MDK通過ULINK 2仿真器連接開發板,或使用兩根USB電纜分別將CN1和CN5 與PC機USB端口相連
(使用板上自帶的UlinkMe);
(2)        使用串口線將開發板的串口COM0與PC機連接,在PC機上運行windows自帶的超級終端串口通信程序
(波特率115200、1位停止位、無校驗位、無硬件流控制);或者使用其它串口通信程序;
(3)        打開實驗例程目錄MP3 Player\Simple Wave Player下的Simple Wave Player.Uv2工程,將其編譯鏈
接后燒寫到開發板中;
(4)        將帶有測試聲波文件TEST1.wav、TEST2.wav拷貝到SD卡中,并將SD插入評估板的SD連接器中;
(5)        重啟動開發板,在超級終端上將看到SD卡的信息以及提示符"X:>",鍵入dir命令然后回車將列出
SD卡上的所有文件和目錄;
(6)        可在超級終端中輸入"dir"、"cd"、"free"、"read"等命令(注:read 命令后跟文件名;讀出并
輸出文件的文本內容,可以正確顯示文本文件如以txt,c,h,s為后綴的文件),觀察運行結果;注意,
由于程序中沒有進行大小寫轉換,因此命令只能使用小寫;
(7)        在超級終端中輸入"play TEST1.wav"或"play TEST2.wav",如果程序運行正常,通過開發板的揚聲
器或者耳機將能聽到音樂聲。


所有資料下載含源程序:
迷你STM32照相機OV7670.zip (4.41 MB, 下載次數: 108)

作者: pong    時間: 2021-6-5 18:36
可惜沒有Altium Designer的電路圖工程文件,只是原理圖的pdf




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产免费xxx | 久精品久久 | 日韩在线不卡视频 | 日韩国产中文字幕 | 日韩精品视频一区二区三区 | 一级欧美一级日韩片 | 国产亚洲精品一区二区三区 | 精品无码久久久久久国产 | 黄色大片免费网站 | 久久精品亚洲 | av免费网站在线观看 | 久久中文字幕av | 久国久产久精永久网页 | 高清国产午夜精品久久久久久 | 国产福利视频 | 国产欧美精品一区二区色综合朱莉 | 男人天堂网址 | 中文在线一区 | 国产探花在线精品一区二区 | 国内自拍偷拍视频 | 四虎影院一区二区 | 中文字幕蜜臀av | 欧美精品一区二区在线观看 | 国产激情精品视频 | 成年人视频在线免费观看 | 中文字幕福利视频 | 欧美日韩国产精品激情在线播放 | 色香蕉在线| 日日躁狠狠躁aaaaxxxx | 国产乱码一区 | 国产精品免费一区二区三区 | 久久另类视频 | 国产精品久久久久久久久久久久久久 | 在线成人免费视频 | 国产精品免费在线 | 中文字幕日韩在线 | 中文字幕一区二区三区在线观看 | 日韩电影免费在线观看中文字幕 | 国产精品久久久久久久午夜片 | 免费天天干 | 亚洲三级视频 |