方法1:组成环(ring)

方法2:换成485接口
方法3:把从机TX引脚设置成开漏输出,然后外接上拉电阻后直接并联
试验过程:开始的时候从机TX是设置的推挽输出,主机连接一个从机时,可以收到从机回复的信息,但是并联两个从机后就收不到回复信息了,把从机TX引脚设置成开漏输出,用的STM32单片机内部可以设置上拉,可以收到从机回复的信息了,但是不知道最多可以并联多少个从机,没有试验。
/* UART TX GPIO pin configuration */
GPIO_InitStruct.Pin = USARTx_TX_PIN;
//GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Alternate = USARTx_TX_AF;
HAL_GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStruct);
博客介绍了STM32串口多从机并联通信的解决方法,包括组成环、换成485接口、将从机TX引脚设为开漏输出并外接上拉电阻。试验中,推挽输出下并联两从机主机收不到信息,开漏输出并设置上拉后可收到,但未测试最多可并联从机数量。
4949





