OpenEdv-开源电子网

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

开发板网络,不能发送数组

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2011-6-13
在线时间
0 小时
发表于 2015-10-26 15:36:15 | 显示全部楼层 |阅读模式
5金钱
 我的STM32407网络,发送数组的时候,当出现00的时候就不能发送了,网络调试助手收不到后面的数据

u8 Tcp_server_Sendbuf[34]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,
                        0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x00,0x00,0x33,0x44,0x55,0x06,0x07,0x88,0x99,0x99

最佳答案

查看完整内容[请看2#楼]

如果是不带操作系统的例程的话把轮训函数tcp_server_pool()中发送数据时计算发送缓冲区大小的函数改为sizeof,默认用的strlen函数。strlen函数在计算长度的时候遇到0就停止了,这就是为什么0以后的数据发送不出去的原因。就是下图红色框框中两行用到的strlen的地方,换成sizeof,换的时候注意一下函数里面的参数怎么填写!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-10-26 15:36:16 | 显示全部楼层
如果是不带操作系统的例程的话把轮训函数tcp_server_pool()中发送数据时计算发送缓冲区大小的函数改为sizeof,默认用的strlen函数。strlen函数在计算长度的时候遇到0就停止了,这就是为什么0以后的数据发送不出去的原因。就是下图红色框框中两行用到的strlen的地方,换成sizeof,换的时候注意一下函数里面的参数怎么填写!

开往春天的手扶拖拉机
回复

使用道具 举报

70

主题

6758

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12989
金钱
12989
注册时间
2012-11-26
在线时间
3789 小时
发表于 2015-10-26 16:32:30 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
高端大气啊
学无止境
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-10-26 17:01:47 | 显示全部楼层
回复【3楼】jermy_z:
---------------------------------
唉,这意味着我的例程又要改了
开往春天的手扶拖拉机
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2011-6-13
在线时间
0 小时
 楼主| 发表于 2015-10-27 10:15:21 | 显示全部楼层
谢谢 版主, 很及时解决我的问题。 
按照建议已经修改好了。
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-1-6
在线时间
4 小时
发表于 2016-1-9 17:05:23 | 显示全部楼层
很有帮助
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 00:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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