首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要换行字节来发送该数据

需要换行字节来发送该数据
EN

Stack Overflow用户
提问于 2010-07-06 10:17:13
回答 2查看 157关注 0票数 0

我使用C语言和Linux作为我的编程平台。现在我正在学习一些嵌入式编程。我使用POS设备进行练习,而我的主机是使用cygwin的Windows操作系统。

我创建了一个简单的应用程序,它将在目标设备上运行,读取串行端口中的数据;在主机端,我创建一个简单的应用程序,将数据写入串行端口。现在我的问题是,当我发送缓冲区末尾没有0x0a(LN)的数据时,目标设备将无法接收该数据。但我不确定这是不是已经发送了。但当我将0x0a(LN)放在要发送的缓冲区的末尾时,目标设备将接收该数据。

我是否错过了我的应用程序的某些配置?或者将0x0a字节放在tx缓冲区的末尾是正确的方式。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-06 10:29:54

听起来你的串行端口(实际上是Linux的“终端设备”)可能处于行缓冲模式。当使用tcsetattr设置它时,一定要清除c_lflag (你不想要ICANON)。您还应该检查影响CRLF和NL之间转换的输入/输出标志,因为您可能也不想要这种行为。默认终端设置面向用户/应用程序交互,而不是数据传输。

票数 2
EN

Stack Overflow用户

发布于 2010-07-06 10:28:14

听起来像是在做行缓冲。在发送数据后执行刷新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3183122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档