2019-07-14 23:12发布
laidaihua 发表于 2015-5-18 13:29 如果是用的直接支持9bit数据UART的MCU,在发送前直接设置数据或地址标识就可以了; 如果是需要手动设置9bit数据的MCU,则在每帧数据发送时单独设置控制位。
最多设置5个标签!
51单片机 时可以通过TB8和RB8来决定 发送/接收 地址帧或数据帧的,一般时手动设置
但是STM32好像没有这个功能,我要做一个STM32(主机)跟8个51单片机(从机) 多机通信。请问STM32 作为主机 ,怎样决定发送的是地址或数据?
代码里 这样区分行不行?
//·发送地址,唤醒从机
void USART_Send_addr_9b(UART_HandleTypeDef *huart, uint8_t Data)
{
huart->Instance->DR= ((uint16_t)Data |(uint16_t)0x100);
}
//·对从机发送数据
void USART_Send_data_9b(UART_HandleTypeDef *huart, uint8_t Data)
{
huart->Instance->DR= ((uint16_t)Data &(uint16_t)0x0FF);
}
一周热门 更多>