本帖最后由 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采集子程序,无论如何也进不了
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>