STM32mini板和OV7670摄像头的串口实验
最近在做用STM32mini板和OV7670摄像头的串口实验,把RGB值通过串口传给电脑,参考了下http://www.openedv.com/posts/list/12583.htm帖子,有些收获,但是为什么串口收不到得到的RGB值呢?换了个例程测试了下串口可以收到数据,但为什么不能接收到RGB值呢?下面是修改后的源码,大多数参考上面那个帖子:
view sourceprint?
01void camera_refresh(void)
02{
03u32 j,i;
04 u16 color,color1,color2;
05u16 r,g,b;
06if(ov_sta==2)
07{
08LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右
09LCD_SetCursor(0x00,0x0000); //设置光标位置
10LCD_WriteRAM_Prepare(); //开始写入GRAM
11
12 OV7670_RRST=0; //开始复位读指针
13 OV7670_RCK_L;
14 OV7670_RCK_H;
15 OV7670_RCK_L;
16 OV7670_RRST=1; //复位读指针结束
17 OV7670_RCK_H;
18for(j=0;j<76800;j++)
19{
20OV7670_RCK_L;
21color = GPIOC->IDR&0XFF; //读数据
22OV7670_RCK_H;
23color=color1;
24color<<=8;
25OV7670_RCK_L;
26color = GPIOC->IDR&0XFF; //读数据
27OV7670_RCK_H;
28color|=color2;
29LCD->LCD_RAM=color;
30// printf("%d,",color1);
31// printf("%d\n",color2);
32r= color1 & 0xF8;
33g=((color1 &0x07 )<<3 | (color2 & 0xe0 ) >>5 ) << 2;
34b=(color2 & 0x1f )<<3;
35printf(",%d,%d,%d,\n",r,g,b);
36}
37}
38
39EXTI->PR=1<<8; //清除LINE8上的中断标志位
40ov_sta=0; //开始下一次采集
41 ov_frame++;
42// LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
43}
44
45int main(void)
46{
47u8 lightmode=0,saturation=2,brightness=2,contrast=2;
48u8 effect=0;
49u8 len;
50u8 t;
51usmart_dev.init(72); //初始化
52OV7670_Init();
53delay_ms(1500);
54OV7670_Light_Mode(lightmode);
55OV7670_Color_Saturation(saturation);
56OV7670_Brightness(brightness);
57OV7670_Contrast(contrast);
58 OV7670_Special_Effects(effect);
59
60TIM6_Int_Init(10000,7199); //10Khz计数频率,1秒钟中断
61EXTI8_Init(); //使能定时器捕获
62OV7670_Window_Set(10,174,240,320);//设置窗口
63 OV7670_CS=0;
64
65delay_init(); //延时函数初始化
66NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
67uart_init(9600); //串口初始化为9600
68
69while(1)
70{
71if(USART_RX_STA&0x8000)
72{
73len=USART_RX_STA&0x3f;//得到此次接收到的数据长度
74 printf("\r\n您发送的消息为:\r\n\r\n");
75for(t=0;t<len;t++)
76{
77USART_SendData(USART1, USART_RX_BUF);//向串口1发送数据
78while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
79}
80 camera_refresh();
81
82delay_ms(10);
83}else
84{
85 printf("请输入数据,以回车键结束\n");
86delay_ms(10);
87}
88
89}
90
91}
亲各位大神帮助。。。。。 谢谢了啊。。。。。。。。。 自言自语,还乱七八糟。一看就是来混水摸鱼来了。 就算是复制别人的东西,也要排个版啊。 帮顶,希望早点解决,也好学习学习 楼主使用ov7670带FIFO还需要接SCCB引脚吗?就是SIOC和SIOD?
页:
[1]