樓主我編譯了一下電機的Keil工程,出現了如下錯誤:
.\STM32_OLED.axf: Error: L6218E: Undefined symbol delay_us (referred from ultrasonicwave.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 1 error messages.
".\STM32_OLED.axf" - 1 Error(s), 3 Warning(s).
Target not created
這個錯誤是delay_us這個函數體沒有定義造成的,發現你是注釋了void delay_us(u32 nus)這個函數,把注釋去掉,然后檢查一下SYSTEM_SUPPORT_OS這個宏有沒有定義,沒有定義的話,定義一下,示例代碼如下:
#define SYSTEM_SUPPORT_OS 1
#if SYSTEM_SUPPORT_OS
void delay_us(u32 nus)
{
}
然后重新編譯就通過了:
linking...
Program Size: Code=15272 RO-data=880 RW-data=316 ZI-data=900
FromELF: creating hex file...
".\STM32_OLED.axf" - 0 Error(s), 4 Warning(s). |