野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14483|回复: 10

printf输出十六进制00的问题

[复制链接]
发表于 2018-5-24 08:20:38 | 显示全部楼层 |阅读模式
本帖最后由 fuxxxx 于 2018-5-24 13:38 编辑

我是刚接触单片机,以前是搞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.零以后的没有了,怎样才能收到完整的数据??
回复

使用道具 举报

发表于 2018-5-24 08:54:55 | 显示全部楼层
这个没搞懂你的是什么情况
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-24 10:02:55 | 显示全部楼层
printf("%s",redata);怎么样才能遇到零不结束,固定接受字符数量结束可以实现吗
回复 支持 反对

使用道具 举报

发表于 2018-5-24 10:04:45 | 显示全部楼层
用sendString吧
回复 支持 反对

使用道具 举报

发表于 2018-5-24 10:06:27 | 显示全部楼层
fuxxxx 发表于 2018-5-24 10:02
printf("%s",redata);怎么样才能遇到零不结束,固定接受字符数量结束可以实现吗

%s 是遇到‘\0’结束,不想它结束就手动把数组里的这个内容改成其它的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-24 13:11:12 | 显示全部楼层
随风 发表于 2018-5-24 10:06
%s 是遇到‘\0’结束,不想它结束就手动把数组里的这个内容改成其它的

不能改成其他的,这个是仪表厂家通讯指定的,一定要按这样通讯才可以。因为刚学单片机,大修改代码还不行,现在不是零的是可以零,就是零以后的没有接受了,因为遇到零就结束了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-24 13:40:00 | 显示全部楼层

sendString这个真的不会,要改好多地方吗?
回复 支持 反对

使用道具 举报

发表于 2018-5-24 14:26:02 | 显示全部楼层
fuxxxx 发表于 2018-5-24 13:40
sendString这个真的不会,要改好多地方吗?

一个自定义的串口发送数据的函数,可以教程里面有,可以自己设置发送字符串长度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-26 20:45:10 | 显示全部楼层
哎,不容易搞懂,买成品的数传电台了,,,,,,,
回复 支持 反对

使用道具 举报

发表于 2018-5-26 21:38:14 | 显示全部楼层
fuxxxx 发表于 2018-5-26 20:45
哎,不容易搞懂,买成品的数传电台了,,,,,,,

sendString就是个循环一个字节一个字节发送的函数啊,例程里面有的啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-3 10:41:00 | 显示全部楼层
用这个了成品的数传
QQ截图20180603104003.png
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 19:58 , Processed in 0.061540 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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