[应用相关] 串口收发

[复制链接]
669|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 | 显示全部楼层
对,上示波器,看看是哪个部分的问题,要不瞎猜容易把对的搞错。
zhaoxqi 发表于 2017-4-28 22:07 | 显示全部楼层
是不是波特率不配,确定都是9600吗
 楼主| zhenykun 发表于 2017-4-28 22:08 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部