
我就想在原来的HAL_I2C改写简单一些。但烧录程序总有不近人意的地方。大概C学的不好吧!以下是自己代码部分就希望改写HAL_I2C_Mem_Read这个简单的函数调用。 第一种:uint8_t MAG3110_GetRegValue(uint16_t RegAdd,uint8_t *pData) { if(HAL_I2C_Mem_Read(&hi2c1, MAG3110, RegAdd,1, (uint8_t *)pData,1,100) ==HAL_OK) { return *pData; } else{ return -1;}//调用函数变得复杂了。 } 第二种:uint8_t MAG3110_GetRegValue(uint16_t RegAdd,uint8_t *pData) { HAL_I2C_Mem_Read(&hi2c1, MAG3110, RegAdd,1, (uint8_t *)pData,1,100) ; return *pData; } 第三种 uint8_t MAG3110_GetRegValue(uint16_t RegAdd,uint8_t *pData) { uint8_t pData=0; HAL_I2C_Mem_Read(&hi2c1, MAG3110, RegAdd,1, (uint8_t *)pData,1,100) ; return pData; } 如果有错的地方请指出来,谢谢大家。 |
看来我们新手的级别真没有人理会,只能默默的学习了。 |