关于数据类型的疑问?不能定义8位的数据类型?

[复制链接]
6425|12
 楼主| flylongins 发表于 2007-9-10 10:00 | 显示全部楼层 |阅读模式
如果想从数据总线上得到8位的数据,请问应该如何定义?<br />原dsp的数据线宽度为16位。
computer00 发表于 2007-9-10 10:27 | 显示全部楼层

char

  
 楼主| flylongins 发表于 2007-9-10 10:44 | 显示全部楼层

char没用

char得到的变量值还是16位。<br />不信你试试。
computer00 发表于 2007-9-10 10:47 | 显示全部楼层

没试过。那就加与操作。

  
 楼主| flylongins 发表于 2007-9-10 13:02 | 显示全部楼层

的确是可以这么做,我也是这么想的。

不过一直没有找到合理的解释。
computer00 发表于 2007-9-10 15:12 | 显示全部楼层

有些编译器char型的就是16bit的

  
wowow 发表于 2007-9-10 17:12 | 显示全部楼层

你用的是C54xx吧?

C54的char就是16bit的,只能读了再跟0x00FF相与。<br /><br />Table&nbsp;5-1.&nbsp;TMS320C54x&nbsp;C/C++&nbsp;Data&nbsp;Types<br />Type&nbsp;Size&nbsp;Representation&nbsp;Minimum&nbsp;Value&nbsp;Maximum&nbsp;Value<br />signed&nbsp;char&nbsp;16&nbsp;bits&nbsp;ASCII&nbsp;-32&nbsp;768&nbsp;32&nbsp;767<br />char,&nbsp;unsigned&nbsp;char&nbsp;16&nbsp;bits&nbsp;ASCII&nbsp;0&nbsp;65&nbsp;535<br />short,&nbsp;signed&nbsp;short&nbsp;16&nbsp;bits&nbsp;2s&nbsp;complement&nbsp;-32&nbsp;768&nbsp;32&nbsp;767<br />unsigned&nbsp;short&nbsp;16&nbsp;bits&nbsp;Binary&nbsp;0&nbsp;65&nbsp;535<br />int,&nbsp;signed&nbsp;int&nbsp;16&nbsp;bits&nbsp;2s&nbsp;complement&nbsp;-32&nbsp;768&nbsp;32&nbsp;767<br />unsigned&nbsp;int&nbsp;16&nbsp;bits&nbsp;Binary&nbsp;0&nbsp;65&nbsp;535<br />long,&nbsp;signed&nbsp;long&nbsp;32&nbsp;bits&nbsp;2s&nbsp;complement&nbsp;-2&nbsp;147&nbsp;483&nbsp;648&nbsp;2&nbsp;147&nbsp;483&nbsp;647<br />unsigned&nbsp;long&nbsp;32&nbsp;bits&nbsp;Binary&nbsp;0&nbsp;4&nbsp;294&nbsp;967&nbsp;295<br />enum&nbsp;16&nbsp;bits&nbsp;2s&nbsp;complement&nbsp;-32&nbsp;768&nbsp;32&nbsp;767<br />float&nbsp;32&nbsp;bits&nbsp;IEEE&nbsp;32-bit&nbsp;1.175&nbsp;494e-38&nbsp;3.40&nbsp;282&nbsp;346e+38<br />double&nbsp;32&nbsp;bits&nbsp;IEEE&nbsp;32-bit&nbsp;1.175&nbsp;494e-38&nbsp;3.40&nbsp;282&nbsp;346e+38<br />long&nbsp;double&nbsp;32&nbsp;bits&nbsp;IEEE&nbsp;32-bit&nbsp;1.175&nbsp;494e-38&nbsp;3.40&nbsp;282&nbsp;346e+38<br />pointers&nbsp;16&nbsp;bits&nbsp;Binary&nbsp;0&nbsp;0xFFFF
mybao 发表于 2007-9-10 17:20 | 显示全部楼层

长见识了

16bit的char
computer00 发表于 2007-9-10 20:05 | 显示全部楼层

铃羊61单片机的C编译器的char也是16bit的。

  
 楼主| flylongins 发表于 2007-9-10 20:38 | 显示全部楼层

回 wowow

我用的是F2812
jxf301 发表于 2007-9-14 20:32 | 显示全部楼层

只用低8位就可以了

28系列的char数据类型都是16位,可以当成8位来用,只用低8位,没有什么关系,只不过有点浪费,因为高8位没有用到。
tjsheep 发表于 2007-9-14 21:28 | 显示全部楼层

其实16位做8位运算是有问题的……

  
wwh 发表于 2007-9-16 10:38 | 显示全部楼层

只是提取低8位吗

&nbsp;data&nbsp;&&nbsp;0xff
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

135

帖子

0

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