STM32 串口接收和发送数据的方法

总结:1 :STM32 接收和发送的数据都是字符串 .

           2: 串口的每一次接收数据都会产生一次中断

           3: 接收数据是否完成的标志是判断 末位的'0x0d'和'0x0a'

发送的模板:

		USART_SendData(USART1, '2');  
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
  		printf("\r\你发送的消息为:\r\n");

接收的模板:

		if(USART_RX_STA&0x8000)   // 判断标志位,已经有数据接收到,可以读取出来。
		{				 	   
			printf("USART_RX_STA02=%d\r\n",USART_RX_STA);
			len=USART_RX_STA&0x3fff;//接收的数据长度
			printf("len=%d\r\n",len);
			
			printf("\r\n你发送的消息:\r\n");
			if(USART_RX_BUF[0]=='e')  LED1=!LED1;  //判断接收的消息
			
			for(t=0;t<len;t++)
			{
				//USART_SendData(USART1, USART_RX_BUF[t]);         //向串口1 发送数据
				USART_SendData(USART1, 5465);   
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//表示发送完成
			}
			printf("\r\n\r\n");//换行
			USART_RX_STA=0;
		}

参考:STM32F407串口

STM32 串口接收不定长数据 STM32 USART空闲检测中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值