'NRF_DRV_TWI_INSTANCE_0' undeclared here (not in a function); did you mean 'NRF_DRV_TWI_INSTANCE_'? NRF52834 17.1的SDK向BLE_UART工程中添加IIC工程文件编译报错的问题解决办法!
下载了新的NRF52840SDK后,在SES上编译工程,遇到了一些问题。
其中这个问题花了不少时间来解决:在蓝牙串口的工程基础上添加IIC的工程文件时,编译后报错误:
'NRF_DRV_TWI_INSTANCE_0' undeclared here (not in a function); did you mean 'NRF_DRV_TWI_INSTANCE_'?
双击检查错误,发现TWI_ENABLE 以及EASY_DMA没有定义。定位TWI_ENABLE 总是会跳到OLD_APP_CONFIG中去。
后来在nordic官网论坛看了下,发现问题出在sdk_config.h这个文件里。在sdk_config.h中查找IIC的相关信息,发现除了带有NRFX_XXXX 的配置打开了以外,还有下图中的一些参数没有配置。
只需要将TWI_ENABLED/TWI0_ENABLED以及TWI_USE_EASY_DMA的值修改为1,便可解决'NRF_DRV_TWI_INSTANCE_0' undeclared here (not in a function); did you mean 'NRF_DRV_TWI_INSTANCE_'?的错误,
其他一些外设使用是如遇到类似的报错log,解决方法也是一样的。
这个应该是工程参数还用了老板的配置文件导致的,后面应该可以改过来,暂时没有深入研究。