打印

关于stm32f4多串口间通讯

[复制链接]
251|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
社畜一枚|  楼主 | 2018-7-15 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问一下,我想通过使用两个串口与电脑通信,电脑给串口一发送数据,串口一把接受到的数据发送给串口2,然后串口2把数据再发送给电脑,可以实现么,我用的是例程的串口实验修改的,通讯协议一样,while循环是如下代码
if(USART_RX_STA1&0x8000)
        {                       
            len=USART_RX_STA1&0x3fff;//得到此次接收到的数据长度
            printf("
串口1接收到数据:
");
            for(t=0;t<len;t++)
            {
                USART1->DR=USART_RX_BUF1[t];
                while((USART1->SR&0X40)==0);//等待发送结束
                printf("%c
",USART_RX_BUF1[t]);
            }
            printf("
串口1发送完成:
");
            printf("

");//插入换行
            USART_RX_STA1=0;
            LED1=!LED1;        
        }
        //USART1->CR1|=0<<2;
        if(USART_RX_STA2&0x8000)
        {                       
            len=USART_RX_STA2&0x3fff;//得到此次接收到的数据长度
            printf("
串口2接受数据:
");
            for(t=0;t<len;t++)
            {
                USART6->DR=USART_RX_BUF2[t];
                while((USART6->SR&0X40)==0);//等待发送结束
            }
            printf("
串口2发送完成:
");
            printf("

");//插入换行
            USART_RX_STA2=0;
            USART1->CR1|=1<<2;      //串口接收使能
            LED1=!LED1;        
现在只是提示串口1接受和发送完成,但是 if(USART_RX_STA2&0x8000)怎么都进不去,怎么解决,求助
        }

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

397

主题

401

帖子

0

粉丝