关于串口收发的简单问题
时间:10-02
整理:3721RD
点击:
RT 我现在用两片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,单片机也共地了,但是还是不行
这是出现什么问题呢
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,单片机也共地了,但是还是不行
这是出现什么问题呢
关注一下。 我也正在学习这个,感觉有点难。
串口通信,我也在学习啊
在连接电脑时,通讯和电源的接受和发送都是有电脑控制的 ,离开电脑后的通讯和发送应该由主机的上电时开启。
是两片单片机通讯就不行,
-----------------
两片单片机之间应该采用交叉串口线连接。
你不会是来那个单片机都是下载的这个程序吧 那样 两个都在发送肯定不行啊 配置的时候是不是配置的双向通信
u8 USART_RX_STA=0; //接收状态标记
要把判断语句改为if(USART_RX_STA&0x80)吧,这个USART_RX_STA是8位变量的