久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
ov7670+stm32 灰度圖采集程序
[打印本頁]
作者:
oaujunpong
時(shí)間:
2017-5-6 15:20
標(biāo)題:
ov7670+stm32 灰度圖采集程序
分享一個(gè)ov7670 +stm32 灰度圖采集程序給大家
CMOS OV7670-FIFO模塊測試程序
將帶FIFO的OV7670模塊插入板上的CMOS1接口中,攝像頭朝上,接上電源,TFT上顯示攝像頭拍攝圖像。
由于CMOS的數(shù)據(jù)先讀入MCU后,MCU再將圖像數(shù)據(jù)送到TFT上顯示,故顯示速度相對較慢。
注意:
由于FIFO控制腳復(fù)用了JTAG調(diào)試引腳,故該程序不能用JTAG在線調(diào)試。
一旦程序下載到芯片中后,JTAG引腳將被當(dāng)作普通IO口使用,并且在沒有解鎖前,不能夠再次進(jìn)行JTAG仿真測試。
解鎖辦法:
通過串口下載一個(gè)正常的程序到芯片中即可,比如可以選擇QF-TEST-LED中的文件進(jìn)行下載。
J1 1、2端用跳帽連接
J2 1、2端用跳帽連接
J3 1、2端用跳帽連接
0.png
(49.67 KB, 下載次數(shù): 67)
下載附件
2017-5-6 18:01 上傳
程序升級:
按key2按鍵,可實(shí)現(xiàn)解鎖JTAG口,此時(shí)可以通過仿真器下載程序,若要看到圖像,注意要拔掉仿真器。
源程序:
#include <stm32f10x.h>
#include <stdio.h>
#include <usart.h>
#include <Nvic_Exit.h>
#include <delay.h>
#include <tft.h>
#include <ov7670.h>
#include<I2C.h>
#include "include.h"
#include "Image.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void USART_Configuration(void);
void IO_Init(void);
extern u8 KEY;
u16 PixelCounter; //用于像素計(jì)數(shù)
u8 datareadyflag;
//u8 data[40*160];
u8 data[R][C];
u8 * Data;
#define White 244
#define Black 0
#define STRM 500
#define STRL 380
#define STRR 652
//#define STRE 1200
u8 InterruptLine=0;
u8 TrueLine;
u8 DataReadyFlag=0;
u8 BlackLineData[R];
u8 Left[R]={1};
u8 Right[R]={C-1};
//uchar Mid[R]={R/2};
u8 LastFieldMid1=45;
u8 LastFieldMid2=45;
u8 ThresholdValue=130;
s16 Err = 0;
s16 Errlast = 0;
s16 Errd = 0;
s16 Errdlast = 0;
s16 Erri = 0;
s16 Roadtype = 0;
s16 Errhistory[8]={0};
u16 Steerangle = 0;
const u16 SlampeLine[R]= //采樣行,校準(zhǔn)縱向畸變
{
56,//
57,//
58,//
59,//
60,//
61,//121.5
62,//118
64,//114.5
66,//111
68,//107.5
70,//104
72,//100.5
74,//97
76,//93.5
79,//90
82,//86.5
85,//83
88,//79.5
91,//76
94,//72.5
97, //69
101,//65.5
105,//62
110,//58.5
115,//55
120,//51.5
126,//48
134,//44.5
142,//41
150,//37.5
158,//34
166,//30.5
174,//27
182,//23.5cm
190,//20cm
204,//16.5cm
220,//13cm
238 //9.5cm
};
main()
{
RCC_Configuration();;//系統(tǒng)時(shí)鐘設(shè)置
delay_init(72); //延時(shí)初始化
USART1_Init(115200);//串口1初始化
// printf("QF: You are welcom!\r\n");
Cmos_CS =1 ;
LCD_Init();
IO_Init();
GPIO_Configuration();
USART_Configuration();
LCD_Clear(BLUE); //清屏
POINT_COLOR=YELLOW;
BACK_COLOR=BLUE;
//LCD_ShowString(20,50,"QF Welcom");
/// LCD_ShowString(20,100,"STM32 Camera");
// LCD_ShowString(20,150,"MYOV7670 Initing......");
CMOS1_PWDN=0;
CMOS1_RST=0;
delay_ms(20);
CMOS1_RST=1;
InitI2C0();
while(1!=Cmos7670_init()); //CMOS初始化
Exit_Init(GPIOC, GPIO_Pin_4, GPIO_Mode_IPU, EXTI_Trigger_Falling, 2, 5); //VSYNC
Exit_Init(GPIOD, GPIO_Pin_2, GPIO_Mode_IPU, EXTI_Trigger_Falling, 2, 0);
while(1)
{
if (datareadyflag==1)
{
EXTI->IMR &=~(1<<4); //屏蔽中斷
EXTI->PR |=(1<<4); //清楚懸掛標(biāo)記位;
datareadyflag=0;
//-----------------------------------------------------------------------
// DataAnalyse(1);
send_pic();
//-----------------------------------------------------------------------
EXTI->IMR|=(1<<4); //允許外部中斷,以便接收下幀圖像數(shù)據(jù)
}
}
}
/*******************************************************************************
* Function Name : RCC_Configuration
* Description : RCC select(external 8MHz)
* Input : NO
* Output : NO
* Return : NO
*******************************************************************************/
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1, ENABLE);
}
void IO_Init(void)
{
RCC->APB2ENR|=1<<0;//開啟輔助時(shí)鐘
RCC->APB2ENR|=1<<2;//先使能外設(shè)PORTA時(shí)鐘
RCC->APB2ENR|=1<<3;//先使能外設(shè)PORTB時(shí)鐘
RCC->APB2ENR|=1<<4;//先使能外設(shè)PORTC時(shí)鐘
GPIOA->CRH=0X33333333; //PORTA上拉輸出
GPIOA->CRL=0X33333333;
GPIOA->ODR=0XFFFF;
GPIOB->CRL=0X88888888; //PB0-7 上拉輸入
GPIOB->CRH=0X33333333; //PB8-15 上拉輸出
GPIOA->ODR=0XFFFF;
GPIOC->CRH=0X33333333; //PORTC上拉輸出
GPIOC->CRL=0X33333333;
GPIOC->ODR=0XFFFF;
JTAG_Set(JTAG_SWD_DISABLE); //JTAG功能禁止,復(fù)用JTAG端口
}
//保持原有配置
void GPIO_Configuration(void)
{
/* 定義 GPIO 初始化結(jié)構(gòu)體 GPIO_InitStructure */
GPIO_InitTypeDef GPIO_InitStructure;
/* 設(shè)置USART1的Tx腳(PA.9)為第二功能推挽輸出模式 */
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
下載(此代碼年代久遠(yuǎn),采用的老版本的庫和老版本看Keil編寫的):
Keil代碼.7z
(272.38 KB, 下載次數(shù): 60)
2022-11-22 02:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
_少年放肆的夢
時(shí)間:
2017-8-5 12:07
謝謝樓主
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩欧美一区二区三区免费观看
|
午夜成人免费视频
|
日本国产一区二区
|
国产午夜精品一区二区三区嫩草
|
久久九九99
|
中文字幕一区二区三区四区不卡
|
午夜精品久久久久久久久久久久久
|
91在线免费视频
|
91久久久久
|
国产日韩精品在线
|
欧美一区二区视频
|
成人激情免费视频
|
国产一区二区精品在线
|
亚洲精品电影网在线观看
|
亚洲精美视频
|
国产 欧美 日韩 一区
|
亚洲精品久久久一区二区三区
|
91国内精精品久久久久久婷婷
|
日日天天
|
欧美黄色性生活视频
|
色婷婷狠狠
|
久久大陆
|
国产成人99av超碰超爽
|
亚洲国产aⅴ精品
|
日韩精品一区二区三区
|
成人免费高清
|
日韩精品一区二区三区高清免费
|
成人精品一区二区三区四区
|
www亚洲一区
|
日韩亚洲一区二区
|
久久精品国产一区二区电影
|
一区二区在线视频
|
中文字幕一级毛片
|
欧美日韩一区二区三区四区五区
|
一区二区三区精品视频
|
国产精品久久久久aaaa九色
|
视频一区在线观看
|
成人乱人乱一区二区三区软件
|
中文字幕亚洲一区二区三区
|
北条麻妃一区二区三区在线视频
|
农村妇女毛片精品久久久
|