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.
器件型号:CCSTUDIO-MSP
工具/软件:Code Composer Studio
大家好、 我最近切换到了 CCS 10.1.1.00004、现在遇到了一个无法解决的问题。 我可以通过一个最小的 CCS 管理示例来重复该问题。 请参阅下面的内容。 在标记的行上、数组地址丢失。 数组地址保存在寄存器中。
执行后、寄存器包含一个 Wong 值。 我的旧 GCC 编译器做得对、它使用 RAM、此时没有寄存器。 可能我做了一些错误。 有人能不能让它尝试一下、也可以尝试一下
建议? 优化完全关闭、编译器为 TI v20.2.3.LTS、 CPU 为 MSP430F2274。 非常感谢。 #include /** * main.c */ static void test_list (unsigned char * data、unsigned int len) { unsigned long ul_id; UL_id =(无符号长整型)(数据[0]); UL_id+=((unsigned long)(数据[1])<<8);//<<后面的数组地址错误!! UL_id+=((无符号长整型)(数据[2])<<16); UL_id+=((无符号长整型)(数据[3])<<24); } void test (空测试) { unsigned char buffer [8]={0、1、2、3、4、5、6、7}; test_list (buffer、8); } int main (void) { WDTCTL = WDTPW | WDTHOLD;//在 (1){时停止看门狗计时器 test(); } 返回0; }
感谢你的帮助。
您说得对、该示例工作正常。 我被误导了、因为调试器使用 R12来显示
阵列、但如果寄存器发生更改、则会显示错误区域。 因此、该示例并未真正反映出来
我的最终计划中的基本问题。 它们的 ul_id 结果最终不正确。 似乎我可能有问题
RAM 和/或堆栈大小。
再次感谢