中级会员
 
- 积分
- 235
- 金钱
- 235
- 注册时间
- 2019-10-17
- 在线时间
- 42 小时
|
1金钱
如上图。设计的是用串口一发送给串口二,利用串口助手模拟主从机的通讯问题,主机正常配置,从机则是配置为9600,模式设置为hardware模式,主机发指令从机可以及时收到,但是从机发出的指令,主机没有显示了。求大佬解疑。
void link_uart_to_uart(void)//用于连接串口之间的函数
{
if(USART_RX_STA&0x8000)
{
switch(uart_state)
{
case 1:
{len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
for(t=0;t<len;t++)
{
USART_SendData(USART2, USART_RX_BUF[t]); //向串口2发送数据
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待发送结束
}
USART_RX_STA=0;
}
case 2:
{len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART2_RX_BUF[t]); //向串口1发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
}
USART_RX_STA=0;
}
}
}
}
(l利用两个串口助手窗口,stm32为中介,进行通讯实验)
|
|