浏览代码

修改ready时,因串口缓存过长导致的主程序卡顿。
修改了memmem函数

龙三郎 7 月之前
父节点
当前提交
e1a1865719
共有 1 个文件被更改,包括 32 次插入6 次删除
  1. 32 6
      Drivers/Utils/Common_Util.c

+ 32 - 6
Drivers/Utils/Common_Util.c

@@ -113,13 +113,39 @@ void bytesToHex(char * dest, uint8_t * source, uint16_t source_length)
 }
 
 
+
 uint8_t memmem(uint8_t * result,uint16_t result_length, uint8_t *rdystring,uint8_t rdylen)
 {
-   for(int i=0;i<result_length-rdylen;i++){
-		 if(strstr((char * )result+i,(char *)rdystring) != NULL)
-		 {
-			 return 1;
-		 }
+	uint8_t res = 0;
+	for(int i = 0; i < result_length - rdylen; i++)
+	{
+		for(int j = 0; j < rdylen; j++)
+		{
+			if(result[i+j] == rdystring[j])
+			{
+				res = 1;
+			}
+			else
+			{
+				res = 0;
+				break;
+			}
+		}
+		if(res == 1)
+		{
+			break;
+		}
 	 }
-	return 0;
+	return res;
 }
+
+//uint8_t memmem(uint8_t * result,uint16_t result_length, uint8_t *rdystring,uint8_t rdylen)
+//{
+//   for(int i=0;i<result_length-rdylen;i++){
+//		 if(strstr((char * )result+i,(char *)rdystring) != NULL)
+//		 {
+//			 return 1;
+//		 }
+//	 }
+//	return 0;
+//}