__asm("指令");这种语法是内联汇编的语法。
而RMDK下,内联汇编仅支持ARM汇编语言,不支持Thumb或者Thumb-2汇编语言;但内嵌汇编器支持Thumb和Thumb-2。
“target architecture/processor”及STM32的core cortex-M3是thumb-2指令,所以不支持ARM模式。
因此,对于STM32 在RMDK工具下,只能采用内嵌汇编的方式。
举例如下:
__asm void wait()
{
nop
BX lr
}
然后在之后的C代码中调用该函数:
void delay()
{
wait();
}
而RMDK下,内联汇编仅支持ARM汇编语言,不支持Thumb或者Thumb-2汇编语言;但内嵌汇编器支持Thumb和Thumb-2。
“target architecture/processor”及STM32的core cortex-M3是thumb-2指令,所以不支持ARM模式。
因此,对于STM32 在RMDK工具下,只能采用内嵌汇编的方式。
举例如下:
__asm void wait()
{
nop
BX lr
}
然后在之后的C代码中调用该函数:
void delay()
{
wait();
}