打印
[应用相关]

串口收发

[复制链接]
496|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhenykun|  楼主 | 2017-4-28 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用两片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| | 2017-4-28 22:04 | 只看该作者

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

使用特权

评论回复
板凳
午夜粪车| | 2017-4-28 22:05 | 只看该作者
上示波器.

使用特权

评论回复
地板
zhaoxqi| | 2017-4-28 22:06 | 只看该作者
对,上示波器,看看是哪个部分的问题,要不瞎猜容易把对的搞错。

使用特权

评论回复
5
zhaoxqi| | 2017-4-28 22:07 | 只看该作者
是不是波特率不配,确定都是9600吗

使用特权

评论回复
6
zhenykun|  楼主 | 2017-4-28 22:08 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

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

本版积分规则

868

主题

11535

帖子

3

粉丝