工程师您好:dsp c5517 中st0_55 st1_55 st3_55 这个三个寄存器如何访问,其中一些位我想在程序中设置它们,具体如何操作?
Shine:
如果你要进行位操作的话,可以用BCLR, BSET指令。http://www.ti.com/lit/ug/swpu073e/swpu073e.pdf
也可以直接对寄存器地址进行操作。
user4117338:
回复 Shine:
老师:直接位操作不行,错误见图1
Shine:
回复 user4117338:
BCLR是汇编语句,如果要在C中用的话,需要用asm ( " BCLR XF"); 语句。
user4117338:
回复 Shine:
老师:我按照您的asm(" BCLR XF");
在console窗口出现
"C:\Users\admin\AppData\Local\Temp\0692410", ERROR! at line 2037: [E0000] parse error BCLR XF ^ 1 Assembly Error, No Assembly Warnings
Errors in Source – Assembler Aborted
>> Compilation failuregmake: *** [amain.obj] Error 1gmake: Target `all' not remade because of errors.
**** Build Finished ****
Shine:
回复 user4117338:
双引号前后忘了加空格,再试试asm ( " BCLR XF " );
user4117338:
回复 Shine:
还是一样的错误,都试过了。
user4117338:
回复 user4117338:
老师:编写 asm(“ NOP”);能通过,但是编写asm(" BCLK XF");就是不行!!!! 有什么地方设置的问题吗?
Shine:
回复 user4117338:
看一下ccs->Properties -> C/C++-Build -> Runtime Model Options下面不要勾选 "Codegen outputs algebraic assembly" ,"Select assembly source language" 选择 mnemonic。
Tony Tang:
回复 user4117338:
你看附件在你哪能编译不?不会是你建工程时选CPU类型选错了吧。
user4117338:
回复 Tony Tang:
能编译,我没有选错编译芯片,刚刚看过了