在使用nRF51822AA的例程中發現如下build break:
C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Drivers\3.0.0\gpiote\nrf_drv_gpiote.c(30): error: #20:
identifier "GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS" is undefined
C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Drivers\3.0.0\gpiote\nrf_drv_gpiote.c(148): error: #20: identifier "GPIOTE_CONFIG_IRQ_PRIORITY" is undefined
查了一些資料,修正方法如下:
找到C:\Keil_v5\ARM\Pack\NordicSemiconductor\nRF_Drivers\3.0.0\config\路徑下的nrf_drv_config.h文件,先將屬性中的“只讀”取消,然後將宏定義GPIOTE_ENABLED修改爲1,保存重新編譯即可。
至於這個問題爲什麼會發生,也可以參考上圖。只有在GPIOTE_ENABLED打開的時候,那兩個量纔會被定義。