__asm void MSR_MSP(uint32_t addr) 提示:error:expected '(' after 'asm'

SYSTEM\sys\sys.c:33:7: error: expected '(' before 'void' __ASM void MSR_MSP(u32 addr)

在STM32中的sys.c文件编译报出这个错误时:

__ASM void MSR_MSP(u32 addr)
{
MSR MSP, r0 //set Main Stack value
BX r14
}

如果你上上面那种写法的话,那就修改成下面这种应该就没事了

void MSR_MSP(u32 addr)
{
__ASM volatile("MSR MSP, r0"); 
__ASM volatile("BX r14");
}

转载地址:https://www.cnblogs.com/zengsf/p/7170629.html

你可能感兴趣的:(__asm void MSR_MSP(uint32_t addr) 提示:error:expected '(' after 'asm')