请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430FR5989 工具/软件:TI C/C++编译器
您好,
在UART ISR中,我使用以下代码:
开关(__ent_in_range(iv, USI_UART_UCTXCPTIFG)){
CASE USI_NONE:
Break;
CASE USI_UART_UCRXIFG://
代码
中断;
CASE UART_UART_UCTXIFG://
代码
中断;
CASE USI_SCI_SCI_UCSTIFG:
中断;
CASE UCP_UART_DEFAULT
如果我使用小代码内存模型选项编译此代码,我将获得结果优化版本,类似于:
005cb6:521.0036万E Add.W &USI_UART_UCTXCPTIFG,PC 005cba:3C23 JMP ($C$L9) 005cbc:3C1E JMP ($C$L8)
(...)
如果我使用大代码内存模型,则我获得"正常"开关版本:
MOV.W &USI_UART_UCTXCPTIFG,R15 TST.W R15 JEQ ($C$L7) DECD.W R15 JEQ ($C$L6) DECD.W R15 JEQ ($C$L5) DECD.W R15
(...)
是否可以强制编译器使用优化版本?
我发现MSP低功耗微控制器论坛中也有类似的主题,但没有答案。
此致,
Mateusz
PS。 对于可能出现的语言错误,我提前表示歉意。