就是用F103发送一个简单的数字给F4,用串口调试助手测试F103可以发出数据,但是接了F4,F4就收不到,仿真测试了一下,F4收不到任何数据。
发送数据: USART1->DR=0x34;
while((USART1->SR&0X40)==0);
接收数据: if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf("
您发送的消息为:
");
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
a=USART_RX_BUF[t];
if(a==0x31)
{
audio_play(1);
}
初始化分别是: 发送:uart_init(115200); //F103 给了一样的波特率,用串口调试助手测试发送是正常的
接收: uart_init(115200); //F4
驱动函数直接用了原子哥的例程,连线应该没有错,F103的PA9接F4的PA10,F103的PA10接F4的PA9。就是R接T,T接R
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>