OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6901|回复: 3

STM32f407+OV7670+USART1上传pc全是0

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-4-20
在线时间
0 小时
发表于 2015-4-20 16:00:02 | 显示全部楼层 |阅读模式
5金钱
大家好,初学f407,做ov7670摄像头实验,图像格式为QCIF(176*144,1帧数据占12672字节:176/2*144/2*2) RGB565。使用帧中断中通过串口1把数据传到pc上,可是PC上看不到图像,十六进制浏览全是0,在论坛里也看了很多相关的帖子,调了好几天都没有解决。所以求助大家,希望大家我分析给些建议。一下是实验配置代码:内存数组定义 uint8_t buf_byte[12672] 
/*OV7670 QCIF RGB565  */
 {0x3a, 0x04},//dummy
{0x40, 0xd0},//565   
{0x12, 0x0c},//QCIF RGB

配置代码:
//DCMI配置
DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous;//????????
  DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware;//????????HSYNC,VSYNC
  DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Falling;//PCLK ?????????§
  DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High;//VSYNC ?????????§
  DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_High;//HSYNC ?????????§
  DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame;//????????
  DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b;//8??????????
  DCMI_Init(&DCMI_InitStructure); 

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
   NVIC_InitStructure.NVIC_IRQChannel = DCMI_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//??????????1
 NVIC_InitStructure.NVIC_IRQChannelSubPriority =3; //×???????3
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ?¨??????
 NVIC_Init(&NVIC_InitStructure); //?ù?????¨????????????VIC?????÷??

//????DMA Stream 
DMA_DeInit(DMA2_Stream1);
    DMA_InitStructure.DMA_Channel = DMA_Channel_1; //?¨??1 DCMI?¨?? 
  DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&DCMI->DR; //???è???·??CMI->DR
  DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)buf_byte;//DMA ?????÷0???·
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;//???è???????÷????
  DMA_InitStructure.DMA_BufferSize =1;//?????????? 
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//???è·?????????
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//?????÷????????
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;//???è?????¤??:32??
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;//?????÷?????¤?? 
  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;// ???????·???? 
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;//????????
  DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; //FIFO????       
  DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;//??????FIFO 
  DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;//???è??·?????????
  DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; //?????÷??·????????? 
  DMA_Init(DMA2_Stream1, &DMA_InitStructure);//??????DMA Stream
// DMA_ITConfig(DMA2_Stream1,DMA_IT_TC,ENABLE);

   DCMI_ITConfig(DCMI_IT_FRAME,ENABLE);  
   DCMI_ITConfig(DCMI_IT_VSYNC,ENABLE);  
   DCMI_ITConfig(DCMI_IT_LINE,ENABLE);        
   DCMI_ITConfig(DCMI_IT_ERR, ENABLE);
   DCMI_ITConfig(DCMI_IT_OVF, ENABLE);


帧中断
//DCMI????·???????
void DCMI_IRQHandler(void)
{
if(DCMI_GetITStatus(DCMI_IT_FRAME)==SET)//??????????????
{
DCMI_ClearITPendingBit(DCMI_IT_FRAME);//??????????
 DCMI_CaptureCmd(DISABLE);

    for(i=0;i<BUFSIZE-1;i++)
{   
USART_SendData(USART1,buf_byte); 
      while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
}
DCMI_CaptureCmd(ENABLE); 
}
if(DCMI_GetITStatus(DCMI_IT_OVF)==SET)
  {
    DCMI_ClearITPendingBit(DCMI_IT_OVF);
  }
    if(DCMI_GetITStatus(DCMI_IT_ERR)==SET)
  {
    DCMI_ClearITPendingBit(DCMI_IT_ERR);
  }
  if(DCMI_GetITStatus(DCMI_IT_VSYNC)==SET)
  {
   
    DCMI_ClearITPendingBit(DCMI_IT_VSYNC);
  }
  if(DCMI_GetITStatus(DCMI_IT_LINE)==SET)
  {
    DCMI_ClearITPendingBit(DCMI_IT_LINE);
  }
}





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2015-4-21 00:12:38 | 显示全部楼层
自己给一个固定数据传输下试试。正常不?
得学会 一个个问题排查。化整为零
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-4-21 08:21:32 | 显示全部楼层
是的之前我已经试过了给固定值,能发上来,夹杂0。 现在调试出来有数据,不全是零,但是pc端无图像显示,感觉上传数据是错误的。参考别人的代码,有只发低八位,今天打算再试试,也请大家帮忙分析,谢谢原子哥建议。
回复

使用道具 举报

7

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2013-10-5
在线时间
9 小时
发表于 2015-8-6 13:13:33 | 显示全部楼层
回复【3楼】chuxue:
---------------------------------
楼主QCIF图像输出解决了吗?求分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 17:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表