第十三届 蓝桥杯 嵌入式设计与开发项目 省赛

赛题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
部分程序展示:

void UART_function(void)
{
	u8 a,flag=0;;
	if(UART2_RX_over)
	{
		UART2_RX_over=0;
		if((UART2_RX_LEN==7)&&UART2_RX_BUF[3]=='-')
		{
			for(a=0;a<7;a++)
			{
				if(a==3) a=4;
				if((UART2_RX_BUF[a]<'0')||(UART2_RX_BUF[a]>'9'))  {flag=1;break;}			
			}
			if(!flag)	//格式正确
			{
				for(a=0;a<3;a++)
				{
					if(UART2_RX_BUF[a]!=MIMA_BUF[a]) {flag=1;break;}
				}
				if(!flag)	//密码正确
				{
					for(a=0;a<3;a++)
					{
						MIMA_BUF[a]=UART2_RX_BUF[a+4];	//修改密码
					}
				}
			}
		}
		HAL_UART_Receive_DMA(&huart1,UART2_RX_BUF,64);
	}
}

void LED_function(void)
{
	static u8 LED_state_last=0;
	
	if(LED_state_last!=LED_state)
	{
		LED_state_last=LED_state;
		LED_write(LED_state);
	}
}

		if(LCD_display)
		{
			if(!TASK_TIMES._5S_time)
			{
				LCD_display=0;
				TIM2->ARR=999;	//1K
				TIM2->CCR2=500;	//50%	
				TIM2->CNT=0;
				LED_state|=(0x01<<0);	//点熄灭LD1  
				sprintf((char *)LCD_Line1_BUF,"       PSD          ");
				sprintf((char *)LCD_Line3_BUF,"    B1:@            ");
				sprintf((char *)LCD_Line4_BUF,"    B1:@            ");
				sprintf((char *)LCD_Line5_BUF,"    B1:@            ");
				LCD_flag|=(0x01<<1);
				LCD_flag|=(0x01<<3);						
				LCD_flag|=(0x01<<4);						
				LCD_flag|=(0x01<<5);				
			}
		}
		UART_function();
		KEY_function();
		LED_function();
		LCD_function(); 

个人程序参考:
链接:https://pan.baidu.com/s/1LMECSy3GuABduu42YUJdSQ
提取码:qy2o

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值