打印

printf输出十六进制00的问题

[复制链接]
271|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
卡拉瓦乔|  楼主 | 2020-4-25 13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是刚接触单片机,以前是搞plc梯形图的,据说PLC里面也是单片机。我想用gprs远程给PLC操作仪表RS485。指南者F103配SIM800模块,用野火的GSM800C模块资料\STM32控制代码\F103指南者开发板配套例程GSM_GPRS_TCP程序,里面只改了IP,其他的没改,用网络串口助手发16进制发01 08 03 17 22 00 00 00 00 00 00 00 00 00 00 00 00 00 46 3E。结果STM32串口返回PostTCP:01 08 03 17 22  0A。去掉printf("PostTCP:%s\n",redata);里面的PostTCP:后返回01 08 03 17 22 0A,再去掉\n后,0A没有了。现在问题是遇到00后字符串就结束了。我把printf("%s",redata);里面s改成其他:如16进制的X,0X,d还有其他类型的数据,输出都不是01 08 03 17 22 00 00 00 00 00 00 00 00 00 00 00 00 00 46 3E。请问这怎么解决?还有TCP怎么保持长期连接??



我的意思是网络助手发送01 08 03 17 22 00 00 00 00 00 00 00 00 00 00 00 00 00 46 3E。串口助手收到的也是01 08 03 17 22 00 00 00 00 00 00 00 00 00 00 00 00 00 46 3E。现在只能收到01 08 03 17 22.零以后的没有了,怎样才能收到完整的数据??

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

438

帖子

0

粉丝