HAL_StatusTypeDef I2C_Write(uint8_t* pBuffer, uint8_t DeviceAddr, uint8_t RegisterAddr,uint16_t NumByteToWrite)
{
uint8_t data[10];
data[0] = RegisterAddr;
data[1] = pBuffer[0];
HAL_StatusTypeDef result = HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)DeviceAddr, data, 2, 1000);//1000ms 1s 100K字节s
return result;
}
void I2C_Read(uint8_t* pBuffer, uint8_t DeviceAddr, uint8_t RegisterAddr, uint16_t NumByteToRead){
uint8_t Register[3]={RegisterAddr};
HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)DeviceAddr, Register, 1, 1000);
HAL_I2C_Master_Receive(&hi2c1, (uint16_t)DeviceAddr, pBuffer, NumByteToRead, 1000);
}
HAL_UART_Transmit(&huart1, testChar, 15, 1000);
// UART1发送函数
void UART1_Send_Char(unsigned char data)
{
while((USART1->SR & USART_SR_TXE) == 0); // wait send cache empty
USART1->DR = data;
}
void UART1_Send_String(unsigned char* buff)
{
//HAL_UART_Transmit(&huart1, buff, 11, 1000);
while(*buff != 0) // the end of string
{
UART1_Send_Char(*buff);
buff++;
}
}