连续签到天数:1天 | 签到总天数:1天 | 签到总奖励:4金币 |
|
马上注册,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
×
static bitserial_handle i2cPioInit(uint16 address){ bitserial_config bsconfig;#if 1 uint32 i; uint16 bank; uint16 mask; struct { uint16 pio; pin_function_id func; }i2c_pios[] = {{i2cClockPio,BITSERIAL_1_CLOCK_OUT}, {i2cClockPio,BITSERIAL_1_CLOCK_IN}, {i2cDataPio,BITSERIAL_1_DATA_OUT}, {i2cDataPio,BITSERIAL_1_DATA_IN}};
for (i = 0; i < ARRAY_DIM(i2c_pios); i++) { uint16 pio = i2c_pios[i].pio; bank = PIO2BANK(pio); mask = PIO2MASK(pio);
/* Setup I2C PIOs with strong pull-up */ PanicNotZero(PioSetMapPins32Bank(bank, mask, 0)); //PanicFalse(PioSetFunction(pio, i2c_pios.func)); PanicNotZero(PioSetDir32Bank(bank, mask, 0)); PanicNotZero(PioSet32Bank(bank, mask, mask)); PanicNotZero(PioSetStrongBias32Bank(bank, mask, mask)); }#endif /* Configure Bitserial to work with vncl3020 proximity sensor */ memset(&bsconfig, 0, sizeof(bsconfig)); bsconfig.mode = BITSERIAL_MODE_I2C_MASTER; bsconfig.clock_frequency_khz = i2cClockKhz; bsconfig.u.i2c_cfg.i2c_address = address; bsconfig.timeout_ms = 50; bsconfig.u.i2c_cfg.flags = BITSERIAL_I2C_ACT_ON_NAK_STOP; return BitserialOpen((bitserial_block_index)BITSERIAL_BLOCK_1, &bsconfig);
}#endif
I2C 初始化过程中没有建立成功。单步调试BitserialOpen()的handler返回值是1.
|
|