五、ov_camera 配置
基本概念:
比如我們採用uxga時序,rgb565格式輸出,每2個位元組組成乙個畫素的顏色(低位元組在前,高位元組在後)
這樣每行輸出總共有1600*2個pclk週期,輸出1600*2個位元組
dcmi介面簡介- 初始化流程:
①配置相關引腳的復用功能,使能dcmi時鐘
②設定dcmi工作模式及pclk/hsync/vsync
③設定dma
④啟動dcmi傳輸
//sccb起始訊號
//當時鐘為高的時候,資料線的高到低,為sccb起始訊號
//在啟用狀態下,sda和scl均為低電平
//sccb停止訊號
//當時鐘為高的時候,資料線的低到高,為sccb停止訊號
//空閒狀況下,sda,scl均為高電平
void
sccb_stop
(void
)
ov2640_pwdn=0;
//power on
rt_hw_ms_delay(1
);ov2640_rst=0;
//復位ov2640
rt_hw_ms_delay(1
);ov2640_rst=1;
//結束復位
sccb_init()
;//初始化sccb 的io口
sccb_wr_reg
(ov2640_dsp_ra_dlmt,
0x01);
//操作sensor暫存器
sccb_wr_reg
(ov2640_sensor_com7,
0x80);
//軟復位ov2640
reg=
sccb_rd_reg
(ov2640_sensor_midh)
;//讀取廠家id 高八位
reg<<=8;
reg|
=sccb_rd_reg
(ov2640_sensor_midl)
;//讀取廠家id 低八位
res = reg;
if(reg!=ov2640_mid)
reg=
sccb_rd_reg
(ov2640_sensor_pidh)
;//讀取廠家id 高八位
reg<<=8;
reg|
=sccb_rd_reg
(ov2640_sensor_pidl)
;//讀取廠家id 低八位
if(reg!=ov2640_pid)
log_i
("ov2640 camera id:%x %x "
,reg,res)
;
//這裡採用svga
//初始化 ov2640,採用svga解析度(800*600) fps:30
OV 2640 攝像頭除錯問題
ov2640攝像頭使用 sccb 協議進行傳輸,很多說該協議 與 i2c 協議類似 或 相同,但是通過踩坑後發現還是有些細微的差別,踩坑情況和下面博主相同 下面記錄下內容 sccb讀寫邏輯 ov2640寫位址0x60 轉化為8bit裝置位址 寫暫存器 start 0x60 暫存器id 資料 stop...
STM32驅動OV7725攝像頭顏色識別
實驗目的 使用stm32驅動ov7725攝像頭進行影象實時採集,在tft螢幕上實時顯示並識別影象中的特定顏色,在顏色的周圍畫上框。實驗現象 實現原理 將攝像頭的資料讀出寫入tft屏,讀取tft螢幕上的畫素點的顏色進行識別。由於rgb格式的顏色資料的效果不好,所以將其轉換為hsl格式資料。首先遍歷尋找...
STM32學習筆記之攝像頭實驗(OV2640)
簡介 ov2640是omnivision公司生產的一顆1 4寸的cmos uxga 1632 1232 影象感測器。該感測器體積小 工作電壓低,提供單片uxga攝像頭和影像處理器的所有功能。通過sccb 匯流排控制,可以輸出整幀 子取樣 縮放和取視窗等方式的各種解析度8 10位影像資料。uxga最高...