请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F2800157 您好!
我在 CCS 中刚刚面临一个问题、在该问题中、我必须将移位位保留15个以上的位置、并且它只是将它们完全丢弃。
我附加了一个图像、其中显示了代码和变量值。 我需要移动这些位、因为参考手册中 

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我在 CCS 中刚刚面临一个问题、在该问题中、我必须将移位位保留15个以上的位置、并且它只是将它们完全丢弃。
我附加了一个图像、其中显示了代码和变量值。 我需要移动这些位、因为参考手册中 

问题是这个表达式...
(uint32_t)(1 << 31)
... 不像预期的那样工作。 常量值的类型 1 为 内部 。 在 C2000编译器中、 内部 宽度为16位。 在 C 语言中、如果移位量大于或者等于左操作数的宽度、此运行状态为未定义。 C2000编译器发出类似于...的诊断
"file.c", line 5: warning: shift count is too large
... 然后将表达式更改为0。 重写...
(1L << 31)
为 长 常量的后缀 1 将类型更改为 长 。 该类型 长 宽度为32位。 工作正常。
谢谢。此致、
-乔治