OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3497|回复: 4

关于stm32f4多串口间通讯

[复制链接]

1

主题

9

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-8-4
在线时间
3 小时
发表于 2017-8-4 10:15:56 | 显示全部楼层 |阅读模式

请问一下,我想通过使用两个串口与电脑通信,电脑给串口一发送数据,串口一把接受到的数据发送给串口2,然后串口2把数据再发送给电脑,可以实现么,我用的是例程的串口实验修改的,通讯协议一样,while循环是如下代码
if(USART_RX_STA1&0x8000)
        {                       
            len=USART_RX_STA1&0x3fff;//得到此次接收到的数据长度
            printf("\r\n串口1接收到数据:\r\n");
            for(t=0;t<len;t++)
            {
                USART1->DR=USART_RX_BUF1[t];
                while((USART1->SR&0X40)==0);//等待发送结束
                printf("%c\r\n",USART_RX_BUF1[t]);
            }
            printf("\r\n串口1发送完成:\r\n");
            printf("\r\n\r\n");//插入换行
            USART_RX_STA1=0;
            LED1=!LED1;        
        }
        //USART1->CR1|=0<<2;
        if(USART_RX_STA2&0x8000)
        {                       
            len=USART_RX_STA2&0x3fff;//得到此次接收到的数据长度
            printf("\r\n串口2接受数据:\r\n");
            for(t=0;t<len;t++)
            {
                USART6->DR=USART_RX_BUF2[t];
                while((USART6->SR&0X40)==0);//等待发送结束
            }
            printf("\r\n串口2发送完成:\r\n");
            printf("\r\n\r\n");//插入换行
            USART_RX_STA2=0;
            USART1->CR1|=1<<2;      //串口接收使能
            LED1=!LED1;        
现在只是提示串口1接受和发送完成,但是 if(USART_RX_STA2&0x8000)怎么都进不去,怎么解决,求助
        }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-8-4
在线时间
3 小时
 楼主| 发表于 2017-8-4 10:17:08 | 显示全部楼层
还是说直接芯片引脚相接无法实现这个功能?
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-8-4
在线时间
3 小时
 楼主| 发表于 2017-8-4 10:18:09 | 显示全部楼层
在同一时钟下的串口1和串口6 也是一样的结果
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-8-4
在线时间
3 小时
 楼主| 发表于 2017-8-7 10:21:48 | 显示全部楼层
yklstudent 发表于 2017-8-4 17:13
楼主要求很简单啊,透传模式;
1、串口1接收到数据直接通过串口2发送出去;
2、串口2接收到数据直接通过 ...

除了这个模式没有其他实现方法了么?我的本意是串口间不共享同一个资源,数据传输通过其引脚完成
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-8-4
在线时间
3 小时
 楼主| 发表于 2017-8-8 17:21:56 | 显示全部楼层
yklstudent 发表于 2017-8-7 12:36
引脚完成?????
那干错把芯片都省掉,直接一个导线直通过去好了

不好使啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 11:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表