欢迎入群共同学习交流
一、代码展示
int recv_flag=0;
char recv_data[32];
int uart3_callback(void* param,const u8* data,u16 data_len)
{
if (recv_flag == 0){
memset(recv_data, 0, sizeof(recv_data));
memcpy(recv_data, (char*)data, data_len);
recv_flag = 1;
}else
memcpy(recv_data + strlen(recv_data), data, data_len);
return E_OK;
}
void parse_cmd()
{
int len = strlen(recv_data);
if (recv_flag == 0 || recv_data[len - 2] != '\r' || recv_data[len - 1] != '\n') return;
char *token = strtok(recv_data, "\r\n");
char *p = NULL;
while (token != NULL)
{
p = strstr((char*)token, "AT+");
if(p!=NULL){
if(strstr(p,"AT+PRESSURE=")){
sscanf(p,"AT+PRESSURE=%d,OK\r\n",&target_max30102);
}
}
token = strtok(NULL, "\r\n");
}
recv_flag = 0;
}
二、单片机串口号与端口对应图
![串口对应图](https://img-blog.csdnimg.cn/ce6696aceb0f4654a2c0d3ebe19994fa.png#pic_center)