打印
[应用相关]

串口收发

[复制链接]
210|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhenykun|  楼主 | 2020-3-14 11:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用两片stm32进行串口通信,发送程序和接收程序分别为
USART_SendData(USART1, '1');//向串口1发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
delay_ms(1000);

if(USART_RX_STA&0x8000)
        {        
                LED0=!LED0;
                USART_RX_STA=0;
        }
分别和电脑做通讯是没问题的,但是两片单片机通讯就不行,波特率都是9600,单片机也共地了,但是还是不行
这是出现什么问题呢

使用特权

评论回复
沙发
liliang9554| | 2020-3-14 12:04 | 只看该作者

u8 USART_RX_STA=0;       //接收状态标记  
要把判断语句改为if(USART_RX_STA&0x80)吧,这个USART_RX_STA是8位变量的

使用特权

评论回复
板凳
午夜粪车| | 2020-3-14 12:06 | 只看该作者


上示波器.

使用特权

评论回复
地板
zhaoxqi| | 2020-3-14 12:09 | 只看该作者
对,上示波器,看看是哪个部分的问题,要不瞎猜容易把对的搞错。

使用特权

评论回复
5
zhaoxqi| | 2020-3-14 12:12 | 只看该作者
是不是波特率不配,确定都是9600吗

使用特权

评论回复
6
morrisk| | 2020-3-14 12:14 | 只看该作者

示波器是万能的

使用特权

评论回复
7
kangzj| | 2020-3-14 12:21 | 只看该作者
怎么回事呢?

使用特权

评论回复
8
zhenykun|  楼主 | 2020-3-14 12:25 | 只看该作者
哦,那我就知道怎么回事了,多谢大家

使用特权

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

本版积分规则

868

主题

11535

帖子

3

粉丝