<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[单片机通过串口发送一个16位数]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sat, 27 Mar 2010 16:26:37 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	void send_data( long data) <br/>&#123; <br/>SBUF=data; <br/>while (TI== 0 ); <br/>TI= 0 ; <br/>&#125;<br/>data是一个16位数,这个程序发送有问题吗? <br/><br/>这样怎么行啊。SBUF是8位的你发16位的。。。建议你分两次发，首先发高8位，然后发低八位，接收到后吧高8位向左移8位即A&lt;&lt;8。。。B是低8位这样就出来了DATA=A&lt;&lt;8&#124;B.<br/><br/>有问题 SBUF寄存器是8位的 分2次才可以 <br/><br/>一般来说你何必要这么发送呢，采用一个char型的8位数不是更好吗？<br/>但是不一定出错，很多单片机都提供了促发传送的功能，也就是说，有一个FIFO队列，你可以一次写入2个或4个字节，这样的话就可以提高传送的效率和速度了，现在的单片机一般都带这个功能，所以说对于错很麻烦，光看这点东西是不行的 <br/><br/>相当有问题，这么一来data的高8位被自动截掉了，确实得要分两次 ，如：对于1000，0XE8---低8位，0X03---高8位！<br/><br/><br/>U8 a,b;<br/>U16 c;<br/>a = c&#124;0x00ff;<br/>c &gt;&gt;= 8;<br/>b = c&#124;0x00ff;<br/><a href="http://jackxiang.com/attachment.php?fid=89" target="_blank"><img src="http://jackxiang.com/attachment.php?fid=89" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/><br/>00000011&nbsp;&nbsp;：高位 十六进制：3&nbsp;&nbsp;十进制：3<br/>11111101&nbsp;&nbsp;：地位 十六进制：FD&nbsp;&nbsp;十进制：253<br/><br/>十六进制的高位+十六进制的低位 = 3FD&nbsp;&nbsp;===》转为：十进制等于：1021<br/>1021/2047*70-10 = 24.91450903度<br/><br/><br/><br/>temp_value_height = ((temp_value &gt;&gt; 8) &amp; 0xff) &amp;0x7;<br/><br/>解释：<br/>回忆未来(372647693)&nbsp;&nbsp;19:09:29<br/>我学php的。哈哈<br/>石涛(47957728)&nbsp;&nbsp;19:09:36<br/>temp_value &gt;&gt; 8， 将高八位移位到低八位<br/>回忆未来(372647693)&nbsp;&nbsp;19:09:50<br/>那低八位到哪儿去了？<br/>石涛(47957728)&nbsp;&nbsp;19:09:59<br/>那个你就不用管了<br/>石涛(47957728)&nbsp;&nbsp;19:10:03<br/>因为你不需要<br/>回忆未来(372647693)&nbsp;&nbsp;19:10:10<br/>嗯，然后呢？<br/>回忆未来(372647693)&nbsp;&nbsp;19:10:30<br/> &amp; 0xff&nbsp;&nbsp;？？<br/>石涛(47957728)&nbsp;&nbsp;19:10:31<br/>&amp; 0xff是将现在的数值的高8位清0<br/>石涛(47957728)&nbsp;&nbsp;19:11:01<br/>&amp; 0x7，就是取现在的数的低3位<br/>回忆未来(372647693)&nbsp;&nbsp;19:11:03<br/>也就是刚才高八位移到低8位后高还是有东西的？<br/>石涛(47957728)&nbsp;&nbsp;19:11:56<br/>因为移位之后是将原来的24~16位的移位到8~15了<br/>石涛(47957728)&nbsp;&nbsp;19:12:18<br/>如果你的temp_value是个32位数的话<br/><br/><br/><br/><br/><br/><br/><br/><br/>http://zhidao.baidu.com/question/110038192.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 单片机通过串口发送一个16位数]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>