如果你使用rt thread加入SPI驱动遇到了
undefined reference to rt_hw_spi_device_attach(........
board.h里面你也配置了,rtconfig.h里面你也配置了,drv_spi.h你也引用了,但就是不行。
那么你来对地方了。
解决办法:
drv_spi.h五行缺extern C。
在include之后加
#ifdef __cplusplus
extern "C"{
#endif
在倒数第二行加结束。
#ifdef __cplusplus
}
#endif
#ifndef __DRV_SPI_H_
#define __DRV_SPI_H_
#include <rtthread.h>
#include "rtdevice.h"
#include <rthw.h>
#include <drv_common.h>
#include "drv_dma.h"
#ifdef __cplusplus
extern "C"{
#endif
rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, GPIO_TypeDef* cs_gpiox, uint16_t cs_gpio_pin);
。
。
。
。
。
。
。
。
#ifdef __cplusplus
}
#endif
#endif /*__DRV_SPI_H_ */