OpenEdv-开源电子网

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

ov2640采集JPEG图像通过串口2发送到上位机正常,但通过以太网udp发送数据异常

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-4-12
在线时间
0 小时
发表于 2015-4-12 18:07:29 | 显示全部楼层 |阅读模式
5金钱

通过串口2拿到的图像:


通过wireshark抓取的udp数据包:




在udp数据包里面只能找到FFD8,看不到FFD9
我是通过合并摄像头实验和网络通信实验,形成的代码:
核心代码如下:

[mw_shl_code=c,true]OV2640_JPEG_Mode(); My_DCMI_Init(); DCMI_DMA_Init((u32)&jpeg_buf,jpeg_buf_size,DMA_MemoryDataSize_Word,DMA_MemoryInc_Enable); OV2640_OutSize_Set(jpeg_img_size_tbl[size][0],jpeg_img_size_tbl[size][1]); DCMI_Start(); while(1) { if(jpeg_data_ok==1) { p=(u8*)jpeg_buf; LCD_ShowString(30,210,210,16,16,"Sending JPEG data..."); udp_demo_senddata(p);//udp发送JPEG数据 for(i=0;i<jpeg_data_len*4;i++) {                         while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET); USART_SendData(USART2,p); //串口输出 key=KEY_Scan(0); if(key)break; } [/mw_shl_code] [mw_shl_code=c,true]        …… [/mw_shl_code] [mw_shl_code=c,true]}[/mw_shl_code] [mw_shl_code=c,true]
[mw_shl_code=c,true]void udp_demo_senddata(u8 *jpeg_buf) { struct pbuf *ptr; u8 msgbuf[30]; sprintf((char*)msgbuf,"Packet Size:%d",jpeg_data_len*4); LCD_ShowString(30,250,200,16,16,msgbuf); ptr=pbuf_alloc(PBUF_TRANSPORT,jpeg_data_len*4,PBUF_POOL); if(ptr) { sprintf((char*)msgbuf,"Send Packet:%d",jpeg_data_len*4); LCD_ShowString(30,270,200,16,16,msgbuf); ptr->payload=(void*)jpeg_buf;//tcp_demo_sendbuf; udp_send(udppcb,ptr); pbuf_free(ptr); } } [/mw_shl_code]
[/mw_shl_code]

其余代码没有特别大的改动,原子哥怎么破??????

我是小白啊,这水太深了,我伤不起!

 

4-12.rar

12.08 MB, 下载次数: 1216

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-4-12 22:36:57 | 显示全部楼层
你这图像看起来也是个图了啊。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-4-12
在线时间
0 小时
 楼主| 发表于 2015-4-13 14:28:27 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
好激动,大神!这张图片怎么可能这么多零呢?我正在用Jlink调试,图像缓存好像挺正常的,应该是发送udp过程中出现了问题。
只是不知道是什么问题。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-4-13 23:55:38 | 显示全部楼层
回复【3楼】妄wo:
---------------------------------
ov2640输出,是有一些0的,不过没你这个这么多。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-4-12
在线时间
0 小时
 楼主| 发表于 2015-4-14 20:33:48 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
 我昨天仔细检查了一下发送的数据包,将发送的jpeg数据全部替换成了'a',发现在特定的位置还是会变成00000000000000……数据包的长度为5152byte,我套用程序时只知道stm32f4支持巨型帧,没有仔细看,sorry啊。
现在的问题是5152byte的数据怎样用udp发送出去?我是启用巨型帧还是分段发送????还有分片怎么处理??
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-4-12
在线时间
0 小时
 楼主| 发表于 2015-4-14 20:44:05 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
这是我的程序,这个函数调用的函数都是原子哥你光盘上默认的。其中jpeg_data_len*4=5152
我不太清楚是程序哪里出问题了,原子大大帮忙看下, O(∩_∩)O谢谢

void udp_demo_senddata()
{
struct pbuf *ptr;
u8 msgbuf[50];
u32 i;
u8 *p;
sprintf((char*)msgbuf,"acket Size:%d",jpeg_data_len*4);
LCD_ShowString(30,250,200,16,16,msgbuf);
ptr=pbuf_alloc(PBUF_TRANSPORT,jpeg_data_len*4,PBUF_POOL);
if(ptr)
{
ptr->payload=(void*)jpeg_buf;//tcp_demo_sendbuf; 
sprintf((char*)msgbuf,"malloc:%x %x",ptr,ptr->payload);
LCD_ShowString(30,270,200,16,16,msgbuf);
p=(u8*)jpeg_buf;
for(i=0;i<jpeg_data_len*4;i++){
p='a';
}
udp_send(udppcb,ptr);
pbuf_free(ptr);

}>
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-4-14 22:23:40 | 显示全部楼层
回复【5楼】妄wo:
---------------------------------
分开发送。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2015-7-30
在线时间
1 小时
发表于 2015-7-31 09:46:14 | 显示全部楼层
回复【3楼】妄wo:
---------------------------------
楼主请问你有没有合适的上位机呢?我这边也是能出来正常的数据,但是就是没有图像
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 18:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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