请问下如何去掉命令起始位“S”和命令结束位“E”,直接接收数据,谢谢!
u8 receive_str[USART1_REC_NUM]; //接收缓存数组,最大USART1_REC_NUM个字节 u8 uart1_byte_count=0; //串口1中断服务程序 void USART1_IRQHandler(void) { u8 rec_data; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断 { rec_data =(u8)USART_ReceiveData(USART1); //(USART1->DR) 读取接收到的数据 if(rec_data=='S') //如果是“S”,表示是命令信息的起始位 { uart1_byte_count=0x01; } else if(rec_data=='E') //如果是“E”,表示是命令信息的结束位 { if(strcmp("Light_led1",(char *)receive_str)==0) LED1=0; //点亮LED1 else if(strcmp("Close_led1",(char *)receive_str)==0) LED1=1; //关闭LED1 for(uart1_byte_count=0;uart1_byte_count<32;uart1_byte_count++)receive_str[uart1_byte_count]=0x00; uart1_byte_count=0; } else if((uart1_byte_count>0)&&(uart1_byte_count<=USART1_REC_NUM)) { receive_str[uart1_byte_count-1]=rec_data; uart1_byte_count++; } } }