赛题
部分程序展示:
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