|
void writeRegA0(uint8_t slave, uint8_t adr, uint8_t dat) { /* <2.12w> I2C data write */. p# |+ `. D% } G_SendI2C_data[0] = adr; G_SendI2C_data[1] = dat;3 j: l# s3 C; L! S int i=0;7 P3 Y9 q$ g* l5 u: b /* ST,SAD+W,SAK,SUB,SAK,DATA,SAK */& T3 e. A. j6 W" f3 H4 q i2cA0_error = 0U;/ P. Y4 P$ x @7 g- N5 M6 `) B! B i2cA0s_status = 1U;, x6 K9 [% |! j5 J7 t" d0 a while(HAL_I2C_Master_Transmit(&hi2c12,adr,(uint8_t*)dat,2,10) != HAL_OK) { \% @ V( b$ [ printf("HAL_I2C_GetError(&hi2c1)W1:%x\r\n",HAL_I2C_GetError(&hi2c12)); if(i++==5)return;' w, f/ E* c, u. V, J" p+ W7 ~8 D if (HAL_I2C_GetError(&hi2c12) != HAL_I2C_ERROR_AF)9 @+ p& z. v Y* j3 Y" b { //Error_Handler(); }3 r4 ~- b( A. y* e, o& X }. Q j- i$ @1 ~3 i# j2 J // R_IICA0_Master_Send((slave), &G_SendI2C_data[0], 2, 10); 这个出现HAL_I2C_GetError(&hi2c1)W1:4 怎么解读 |
| 您的I2C 传送 HAL_I2C_Master_Transmit 有问题,先调试 I2C 通迅 OK 吧。 |
微信公众号
手机版