社区
C语言
帖子详情
串口通讯问题,请教高手为什么发送10怎么会得到0D 0A呢?
huyoujun
2005-10-17 01:45:55
unsigned char cmd[128]={10,10,10,10};
slen=write(icom,cmd,4);
我用以上代码向icom串口发送数据,通过串口调试程序(16进制显示)接收到的却是0D 0A 0D 0A 0D 0A 0D 0A
为什么每个10都会多出一个0D来呢?
在线等待高手们的解答.........
...全文
450
7
打赏
收藏
串口通讯问题,请教高手为什么发送10怎么会得到0D 0A呢?
unsigned char cmd[128]={10,10,10,10}; slen=write(icom,cmd,4); 我用以上代码向icom串口发送数据,通过串口调试程序(16进制显示)接收到的却是0D 0A 0D 0A 0D 0A 0D 0A 为什么每个10都会多出一个0D来呢? 在线等待高手们的解答.........
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huyoujun
2005-10-17
打赏
举报
回复
struct termios Opt;
tcgetattr(fd, &Opt);
Opt.c_oflag &= ~OPOST;
正解
这个参数设完后,系统就不会把10当成\r\n了.
谢谢大家给我的提示
doway
2005-10-17
打赏
举报
回复
10 就是 0A 也就是 \n,
\n 就是换行符,而换行符有时用两个字符 \r\n 表示。
fishmans
2005-10-17
打赏
举报
回复
0D十进制就是13,就是个回车符罗
huyoujun
2005-10-17
打赏
举报
回复
不懂你说的意思
doway
2005-10-17
打赏
举报
回复
应该与写入部分的代码有关系,看起来象是将 \n 转换成 \r\n 了。
huyoujun
2005-10-17
打赏
举报
回复
对了,这是在linux下的程序
huyoujun
2005-10-17
打赏
举报
回复
怎么解决这个问题呢?
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章