新手上路
- 积分
- 35
- 金钱
- 35
- 注册时间
- 2014-8-28
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-8-28 17:04:12
|
显示全部楼层
回复【2楼】styleno1:
---------------------------------
那个memcmp函数是比较字符串rx_data和"abcdefabcdefgkijklmnopqrstuvwxy"的前4为是否一样 如果一样则显示“OK"(抱歉下面那个20应该是4 ) 我是让它比较我通过无线发给开发版的指令是不是前4位”abcd" 如果是则显示OK 如果是“dfgh" 也是显示OK 这只是为了测验这个函数能不能运行
u8 rx_data[32];
rx_data[0]=32;
if(NRF24L01_RxPacket(rx_data)) //if 数据读取成功
{
LCD_ShowString(0,190,239,32,16,rx_data);//这一步可以执行
if(memcmp(rx_data,"abcdefabcdefgkijklmnopqrstuvwxy",4)==0 )
{
LCD_ShowString(0,250,200,16,16,"OK");
}
else if(memcmp(rx_data, "dfghefghij1234567890", 20)==0 )
{
LCD_ShowString(0,250,200,16,16,"OK");
}
LCD_ShowString(0,270,239,32,16,rx_data);//这一步可以执行
}
这就是比较函数 但是开发版显示屏并没有显示OK; 我开始认为可以函数没有工作或者错误 于是我在前面定义
u8 ss="abcdefabcdefgkijklmnopqrstuvwxy"
程序改为这样:
if(memcmp(ss,"abcdefabcdefgkijklmnopqrstuvwxy",4)==0 )
{
LCD_ShowString(0,250,200,16,16,"OK");
}
那么显示屏上可以显示OK 但是它就是 不能和开发板接收的字符串比较 困扰我两天了 很费解啊 |
|