有人帮忙看看哪出了问题吗,我的想法是接收的数组和我自己的数组比较,如果相同就把1 2两个口的电平反置
{int i;
i=0;
uint8_t a[12] = { 1,1,1,1,1,1,1,1,1,1,1};
while(i<=10)
{
if(aRxBuffer[i] == a[i])
{i++;}
else{
UartReady=RESET;
}
break;
}
}
1,UartReady作为不相同的标志,应该给个初始值,根据你的想法,不相同是用RESET表示,那初值就应该是表示相同的一个值。
2,break放在else那个大括号里,已经发现不相同,没有必要再比下去。你加的这个位置是错误的,无论是否相同都会break,所以只比较第一个就退出了。
3,其实有现成的函数可以用的,memcmp函数。