NRF52832的twi(IIC)写数据会连续发送2次SLAVE_ADD
errCode = nrf_drv_twi_tx(&s_twiHandle, slaveAddr, ®Addr, 1, true);if(errCode != NRF_SUCCESS)
{
return 1;
}
while((!s_twiTxDone) && --timeout);
if(!timeout)
{
return 2;
}
s_twiTxDone = false;用17.0.2的库,写I2C的时候,看波形显示发了两次从机地址再发寄存器地址,这是为什么?以下是配置void I2C_Init(void)
{
uint32_t errCode;
// 初始化TWI配置结构体
const nrf_drv_twi_config_t twiConfig =
{
.scl = BOARD_TWI_SCL_IO, // 配置TWI SCL引脚
.sda = BOARD_TWI_SDA_IO, // 配置TWI SDA引脚
.frequency = NRF_DRV_TWI_FREQ_100K, // 配置TWI时钟频率
.interrupt_priority = APP_IRQ_PRIORITY_HIGH // TWI中断优先级设置
};
// 初始化TWI
errCode = nrf_drv_twi_init(&s_twiHandle, &twiConfig, twi_handleEvent, NULL);
APP_ERROR_CHECK(errCode);
// 使能TWI
nrf_drv_twi_enable(&s_twiHandle);
} 换成15.3.0的库也是一样的,配置上的问题吗? 这啥也看不出来呀;
发两次从机地址,读写位有变化吗
页:
[1]