最近在學習官方freertos中文實用教程中,在二值信號量單元,我跑檔案給的實體時,發現__asm(0x82)這一段怎么也通不過編譯,是不是keil version 5中插入這種匯編代碼段需要什么設定?請各位大佬告知一下。
static void vPeriodicTask(void *pvParameters)
{
for(;;)
{
vTaskDelay(500/portTICK_RATE_MS);
SEGGER_RTT_printf(0,"periodic task - About to generate an interrupt.\r\n");
__asm{int 0x82};
SEGGER_RTT_printf(0,"periddic task - Interrupt generate.\r\n\r\n\r\n");
}
}
他給報的錯誤如下:
..\Main\main.c(20): error: #2901: Expected an inline assembly instruction
__asm{int 0x82};
..\Main\main.c(20): error: #3081: expected end of line or a ";"
__asm{int 0x82};
這種情況是不是我不能直接使用__asm{}這樣的陳述句?或是我有其他什么錯誤,望各位大佬告知一下。謝謝各位了
uj5u.com熱心網友回復:
樓主你好,我也遇到了同樣的問題,一個延時的內嵌匯編函式,報錯,你解決了嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/28070.html
標籤:非技術區
