请帮我分析下, 将数据由字转换成字节 这段程序好吗

[复制链接]
2418|2
 楼主| mingyuekd 发表于 2008-11-7 17:48 | 显示全部楼层 |阅读模式
//&nbsp;将数据由字转换成字节<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;i&nbsp;&lt&nbsp;10;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UART1_TX_BUF[2&nbsp;*&nbsp;i]&nbsp;=&nbsp;(char)(ADC_BUF_Temp1&nbsp;&&nbsp;0x00ff);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UART1_TX_BUF[2*i+1]=(ADC_BUF_Temp1&gt&gt8)&0x00ff;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
xwj 发表于 2008-11-7 18:05 | 显示全部楼层

看大小端模式对不对了

对的话直接memcpy(UART1_TX_BUF,ADC_BUF_Temp1,20);即可<br /><br />如果大小端模式反了(数据高低位顺序反了),那就这样:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*dest,*scr;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest=UART1_TX_BUF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scr=ADC_BUF_Temp1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;i&nbsp;&lt&nbsp;10;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*dest++&nbsp;=&nbsp;*(scr+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*dest++&nbsp;=&nbsp;*scr;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scr+=2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />实际上也就是强制指针转换,全部按照字节来读写<br />
 楼主| mingyuekd 发表于 2008-11-7 18:32 | 显示全部楼层

非常谢谢上面二楼朋友

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

本版积分规则

58

主题

151

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部