[应用相关] 串口收发

[复制链接]
347|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 | 显示全部楼层
对,上示波器,看看是哪个部分的问题,要不瞎猜容易把对的搞错。
zhaoxqi 发表于 2020-3-14 12:12 | 显示全部楼层
是不是波特率不配,确定都是9600吗
morrisk 发表于 2020-3-14 12:14 | 显示全部楼层

示波器是万能的
kangzj 发表于 2020-3-14 12:21 | 显示全部楼层
怎么回事呢?
 楼主| zhenykun 发表于 2020-3-14 12:25 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

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