一个月没写博客了,主要也是有点懒得记。。唉
今天下午做32的数据接收,数据接收后的内容判断竟然总出问题。也没几句话,就是判断字符串里面某一位的内容。
然后需要把内容转成数值然后用switch来判断。
首先我是想用strstr函数来判断,我记得这个函数是返回被判断字符串所包含子字符串的首地址,但是最后只有子字符串那几位,还有点奇怪。
然后我就直接用地址的偏移来判断了。
写了这么一句话tmp1 = (char)(*(n+9)-'0');
判断出来总是错的。
然后我就加断点想看看具体是原因。。结果,局部变量看不到,啥原因呢,因为被编译器优化了。在编译那里把优化等级调到最低就好了。
然后发现,我要是一步一步的走,能算对,一全速运行,就错了。。。
然后加了个10ms延时,问题解决了???
。。不知道啥原因。。。。。