我得到一个“未定义的引用'i2c_master_init'”我认为这是做一些链接但不确定如何纠正?
更新:
一段时间以来,我一直试图找到答案。并注意到了一点但不确定我做错了什么!对不起,现在必须要努力阅读!这是来自i2c_master.h,并没有给我任何问题
<EditText
android:id="@+id/etTest"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_margin="10dp"
android:background="@drawable/edittext_rectangale_border"
android:drawableEnd="@drawable/ic_arrow_drop"
android:focusable="false"
android:focusableInTouchMode="false"
android:hint="@string/spinner_prompt"
android:inputType="text"
android:padding="5dp" />
这是在同一个文件中并给我提出问题
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<stroke
android:width="3dp"
android:color="#B9B9B9"/>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp"/>
<corners
android:bottomLeftRadius="3dp"
android:bottomRightRadius="3dp"
android:topLeftRadius="3dp"
android:topRightRadius="3dp"/>
</shape>
这是我的代码.....
static inline void i2c_master_enable(const struct i2c_master_module *const module){
/* Sanity check of arguments */
Assert(module);
Assert(module->hw);
SercomI2cm *const i2c_module = &(module->hw->I2CM);
/* Timeout counter used to force bus state */
uint32_t timeout_counter = 0;
/* Wait for module to sync */
_i2c_master_wait_for_sync(module);
/* Enable module */
i2c_module->CTRLA.reg |= SERCOM_I2CM_CTRLA_ENABLE;
#if I2C_MASTER_CALLBACK_MODE == true
/* Enable module interrupts */
system_interrupt_enable(_sercom_get_interrupt_vector(module->hw));
#endif
/* Start timeout if bus state is unknown */
while (!(i2c_module->STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE(1))) {
timeout_counter++;
if(timeout_counter >= (module->unknown_bus_state_timeout)) {
/* Timeout, force bus state to idle */
i2c_module->STATUS.reg = SERCOM_I2CM_STATUS_BUSSTATE(1);
/* Workaround #1 */
return;
}
这是我的输出......
enum status_code i2c_master_init(struct i2c_master_module *const module,
Sercom *const hw, const struct i2c_master_config *const config);