<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
<channel>
 <title><![CDATA[串口缓冲区的处理&nbsp;&nbsp;LINUX&nbsp ..]]></title>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792]]></link>
 <description><![CDATA[Latest 20 replies of 串口缓冲区的处理&nbsp;&nbsp;LINUX&nbsp ..]]></description>
 <copyright><![CDATA[Copyright(C) ]]></copyright>
 <generator><![CDATA[PHPWind Forums by PHPWind Studio]]></generator>
 <lastBuildDate><![CDATA[Mon, 27 Jul 2026 05:33:20 +0000]]></lastBuildDate>
  <image>
 <url><![CDATA[images/rss.gif]]></url>
 <title><![CDATA[PHPWind Board]]></title>
 <link><![CDATA[http://121.40.142.80]]></link>
 <description><![CDATA[]]></description>
  </image>
<item>
 <title><![CDATA[Re:串口缓冲区的处理 LINUX&#160;&#160;MICRO2440]]></title>
 <description><![CDATA[呵呵，这个问题有意思
[quote]我是应该先解析前面两包，然后再同时去读第三包后半包数据？还是有什么更好的办法？[/quote]
你认为什么是更好的办法，不等下一包的数据收全了就拿去处理？

[quote]
定时读缓冲区吗？还是别的办法？[/quote]
1） 定时去读，看看后续数据来了没
2） 等着设备告诉你后续数据来了，然后去读出来 ..]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8988]]></link>
 <author><![CDATA[kasim]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 07:08:38 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[回 5楼(kasim) 的帖子]]></title>
 <description><![CDATA[我还是打个比方说我这个情况吧。

比如：
第一包 3字节
第二包 5字节
第三包 6字节

那我去读，一下读到10字节，怎么办？我想要知道的比较合理的处理方式，当然不会站那对着数据发呆。
比如，我是应该先解析前面两包，然后再同时去读第三包后半包数据？还是有什么更好的办法？
定时读缓冲区吗？还是别的办法？]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8985]]></link>
 <author><![CDATA[happycxz]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 06:48:59 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[Re:串口缓冲区的处理 LINUX&#160;&#160;MICRO2440]]></title>
 <description><![CDATA[我把你的问题换个说法：
假设每个包有两个字节，现在你一下收到了3个字节数据，头上两个是一个完整的数据包，最后一个是下一个数据包的头一个，你怎么办？对着它们发呆？]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8983]]></link>
 <author><![CDATA[kasim]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 06:33:38 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[回 3楼(kasim) 的帖子]]></title>
 <description><![CDATA[好像你说的这些不是我想要知道的，不过还是非常感激总版主大人！ [s:6] 

我想要知道的是：串口接收到数据都往缓冲区去堆，，虽然有顺序，但是，我要去把这些数据分析出来，一般会采取什么方法比较合适？可以简语程序来表示一下吗？我以前只做过单片机的UART通信，那个简单的呀，只有一字节的缓冲区，有数据来了马上中断， ..]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8979]]></link>
 <author><![CDATA[happycxz]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 06:05:28 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[Re:串口缓冲区的处理 LINUX&nbsp;&nbsp;MICRO2440]]></title>
 <description><![CDATA[串口驱动(物理层)只是负责把接收到的数据包传递给需要它的人(协议层或者更高层应用程序)，驱动根本没有数据包格式的概念，只有一个byte一个byte的0101。把收到的数据按照一定的格式(协议)重新组包(reassemble)是驱动层之上的模块应该做的事，准确的说，是通信协议层。
最简单的例子是TCP/IP，你不可能让你的网卡驱动去解析 ..]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8977]]></link>
 <author><![CDATA[kasim]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 05:44:43 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[Re:Re:串口缓冲区的处理 LINUX&nbsp;&nbsp;MICRO2440]]></title>
 <description><![CDATA[[quote]引用第1楼kasim于2009-08-21 11:35发表的 Re:串口缓冲区的处理 LINUX&nbsp;&nbsp;MICRO2440 :

是我语文有问题还是你写的有问题？为什么我看不懂你想问什么呢？
[/quote]
是我写的有问题 [s:11]
我的本意是：能否在从机对主机发送的数据包发送完成时，即当前没有数据在发送时，主机才去读缓冲区，因为缓冲区里的数 ..]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8973]]></link>
 <author><![CDATA[happycxz]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 04:56:12 +0000]]></pubdate>
</item>
<item>
 <title><![CDATA[Re:串口缓冲区的处理 LINUX&nbsp;&nbsp;MICRO2440]]></title>
 <description><![CDATA[[quote]3、有没有办法判断串口已经没有数据发来了再去读缓冲区？最重要的就是这一条。[/quote]
是我语文有问题还是你写的有问题？为什么我看不懂你想问什么呢？]]></description>
 <link><![CDATA[http://121.40.142.80/read.php?tid=2792#8969]]></link>
 <author><![CDATA[kasim]]></author>
 <category><![CDATA[Linux技术交流区]]></category>
 <pubdate><![CDATA[Fri, 21 Aug 2009 03:35:19 +0000]]></pubdate>
</item>
</channel></rss>