使用的是RS485通信协议接受外部模块信息,之前调试好了,放完假回来就接收不到数据了,接收数组返回的都是初始值
主函数如下
HAL_StatusTypeDef ret;
uint8_t buf[12];
uint8_t tx_buff[8] = {0x01,0x03,0x00,0x00,0x00,0x09,0x85,0xcc};//发生数据
float out_buff[9];
uint8_t rx_buff[100];//接收数据
while (1)
{
buf[0]=0xFB; // PCG8574T P6 = 1 发送模式 1111 1011 其他引脚保持空闲默认状态
ret=HAL_I2C_Master_Transmit(&hi2c2, PCF8574_ADDR, buf, 1, 100);
HAL_UART_Transmit(&huart2, tx_buff, 8, 100);
buf[0]=0xBB; // PCG8574T P6 = 0 接收模式 1011 1011 其他引脚保持空闲默认状态
HAL_UART_Receive(&huart2,(uint8_t *)rx_buff, 100, 100)
HAL_UART_Transmit(&huart1, (uint8_t *)rx_buff,100, 100);
}
|