求高手分析,p[1]=="AD" 不能正常执行

2020-01-30 14:13发布

本帖最后由 ajfan 于 2013-2-22 13:30 编辑

前段时间请教过大家关于字符串分隔的问题,目前用strtok函数可以正常操作,并能在1602上能正确显示,串口送出的p[1]字符也是正常的“AD”,但发现程序无论如何都不能进入到
p[1]=="AD"   的判断结果去运行ADC采集子程序(子程序已经单独验证过是OK的)
请各位大侠再帮忙看下到底是啥问题,独自一人初学单片机伤不起啊。

晕,指针p  方括号 i 方括号    直接被论坛程序秒杀了,所以这里用<>代替


UART0_Buffer存储从串口中断传输过来的字符串“1,AD,2”

//以下功能将字符串用‘,’分离并存储在指针p<i>中
buff=UART0_Buffer;
i=0;
while((p<i>=strtok(buff,","))!=NULL)
{
   i++;
  buff=NULL;
}
//以上功能将字符串用‘,’分离并存储在指针p

LCD_write_str(0,0,p<0>);   //lcd 0位置显示字符“1”,LCD显示正确
LCD_write_str(3,0,p<1>);   //lcd 3位置显示字符“AD”,LCD显示正确
LCD_write_str(6,0,p<2>);   //lcd 6位置显示字符“2” ,LCD显示正确
Uart0SendString(p<1>);     //电脑端串口助手能接收到“AD”字符  

if(p<1>=="AD")     
{
     // ADC采集子程序,无论如何也进不了
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Alimy
1楼-- · 2020-01-30 14:36
 精彩回答 2  元偷偷看……
biansf2001
2楼-- · 2020-01-30 18:24
用strcmp(p<1>,"AD")
barryliu
3楼-- · 2020-01-30 22:05
在C语言里,字符串只是个逻辑概念,对字符串的所有操作都需要通过函数。

一周热门 更多>