OpenEdv-开源电子网

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

STM32F429+OV2640+USART JPEG实验,输出的数据毫无规律。

[复制链接]

12

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2013-9-4
在线时间
8 小时
发表于 2015-6-3 13:16:26 | 显示全部楼层 |阅读模式
5金钱



黄色:pclk(周期约28ns)     蓝色:hs    红色:href




部分程式:

主函数:
[mw_shl_code=c,true]int main(void) { HAL_Init(); /* Configure the system clock to 168 Mhz */ SystemClock_Config(); UartHandle.Instance = USARTx; UartHandle.Init.BaudRate = 115200; UartHandle.Init.WordLength = UART_WORDLENGTH_8B; UartHandle.Init.StopBits = UART_STOPBITS_1; UartHandle.Init.Parity = UART_PARITY_NONE; UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE; UartHandle.Init.Mode = UART_MODE_TX_RX; if(HAL_UART_Init(&UartHandle) != HAL_OK) { /* Initialization Error */ Error_Handler(); } /* Enable the GPIO_LED clock */ __GPIOD_CLK_ENABLE(); __GPIOG_CLK_ENABLE(); /* Configure the Reset pin */ GPIO_InitStruct.Pin = GPIO_PIN_3; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FAST; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); /* Configure the PWDN pin */ GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FAST; HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); //PWDN ON HAL_Delay(10);//10ms HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); //Reset active HAL_Delay(10);//10ms HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_SET); //Reset off /* Initialize the Camera */ BSP_CAMERA_Init(RESOLUTION_R1600x1200); OV2640_JPEG_Mode(CAMERA_I2C_ADDRESS); OV2640_OutSize_Set(CAMERA_I2C_ADDRESS,jpeg_img_size_tbl[size][0],jpeg_img_size_tbl[size][1]);//set output size // *jpeg_buf = BSP_CAMERA_Receive(); /* Start the Camera Capture */ BSP_CAMERA_ContinuousStart((uint8_t *)&jpeg_buf,jpeg_buf_size); while (1) { if(jpeg_data_ok == 1) { p = (uint8_t *)jpeg_buf; if(HAL_UART_Transmit(&UartHandle, p, jpeg_data_len*4, 5000)!= HAL_OK) { Error_Handler(); } jpeg_data_ok = 2; } } }[/mw_shl_code]
DMA FRAME中断函数:
[mw_shl_code=c,true]void BSP_CAMERA_FrameEventCallback(void) { jpeg_data_process(); } void jpeg_data_process(void) { if(jpeg_data_ok == 0) { //get data BSP_CAMERA_Suspend(); jpeg_data_len = jpeg_buf_size - BSP_CAMERA_RemainData(); jpeg_data_ok=1; } if(jpeg_data_ok == 2) { BSP_CAMERA_Resume(); jpeg_data_ok=0; } }[/mw_shl_code]
不知道从何下手找问题,有经验的朋友指导一下我,谢谢。

最佳答案

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-6-3 13:16:27 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 18:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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