串口通信相关实验

  1. 通过串口打印“您发送的消息长度是**”
  2. 打印完成后打印“您的消息打印完成”
  3. 串口打印过程中LED1-LED3亮,打印完成后灯灭
  4. 每打印完五次“请输入数据,以回车键结束\r\n”后打印一次“Embedded System Chapter7-USART”
  5. 得到串口发送来的第二个字符,并通过串口打印“您发送消息的第二个字符为***”。
  6. 	while(1)
    	{
    		if(USART_RX_STA&0x8000)
    		{	LED1=0;
    			LED2=0;
    			LED3=0;
    			len=USART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶È
    			printf("\r\nÄú·¢Ë͵ÄÏûÏ¢³¤¶ÈΪ%d:\r\n",len);
    			//HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000);	//·¢ËͽÓÊÕµ½µÄÊý¾Ý
    			printf("%c",(uint8_t*)USART_RX_BUF[1]);
    			while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET);		//µÈ´ý·¢ËͽáÊø
    			printf("ÄúµÄÏûÏ¢´òÓ¡Íê³É\r\n\r\n");//²åÈë»»ÐÐ
    			USART_RX_STA=0;
    			if(USART_RX_STA==0)
    			{LED1=1;
    			LED2=1;
    			LED3=1;}
    			
    				
    		}else
    		{
    			times++;//Èç¹ûûÓеڶþ¸ö×Ö·ûÄØ
    		
    			if(times%200==0)
    			{printf("ÇëÊäÈëÊý¾Ý,ÒԻسµ¼ü½áÊø\r\n"); 
    				n++;			
    			if(n%5==0)
    				printf("Embedded System Chapter7-USART\r\n\r\n\r\n");}
    			if(times%30==0)LED0=!LED0;//ÉÁ˸LED,ÌáʾϵͳÕýÔÚÔËÐÐ.
    			delay_ms(10);   
    		} 
    	}
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值