[应用相关] 串口收发

[复制链接]
772|7
 楼主| zhenykun 发表于 2018-7-25 21:09 | 显示全部楼层 |阅读模式
用两片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 发表于 2018-7-25 21:11 | 显示全部楼层


u8 USART_RX_STA=0;       //接收状态标记  
要把判断语句改为if(USART_RX_STA&0x80)吧,这个USART_RX_STA是8位变量的
午夜粪车 发表于 2018-7-25 21:12 | 显示全部楼层

上示波器.
zhaoxqi 发表于 2018-7-25 21:14 | 显示全部楼层
对,上示波器,看看是哪个部分的问题,要不瞎猜容易把对的搞错。
zhaoxqi 发表于 2018-7-25 21:16 | 显示全部楼层
是不是波特率不配,确定都是9600吗
 楼主| zhenykun 发表于 2018-7-25 21:18 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
xiaoqizi 发表于 2018-7-26 09:17 | 显示全部楼层
示波器是万能的
拉克丝 发表于 2018-7-31 16:16 | 显示全部楼层
怎么回事呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

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