OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4541|回复: 6

关于蓝牙模块接收的问题

[复制链接]

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-9-19
在线时间
1 小时
发表于 2015-9-21 23:42:05 | 显示全部楼层 |阅读模式
5金钱
您好,原子哥,我用的是您给的源程序,我想让手机发送“off”就把led0关了,我的这一小段程序如下
if(USART3_RX_BUF=="off")
{
LED0=0;
}
程序提示有警告,不知道是哪里的问题,运行的时候显示屏接收到了off,说明接受没问题,好像是USART3_RX_BUF的定义和“off”字符的问题,
USART3_RX_BUF的定义如下
u8 USART3_RX_BUF[USART3_MAX_RECV_LEN];
警告如下
warning:result of comparison
againist a string literal is unspecified(use stencmp instead)
warning:comparsion is distinct pointer types('u8*'(aka ’warning char *‘)and 'char *')

最佳答案

查看完整内容[请看2#楼]

回复【5楼】战舰威武: --------------------------------- 1.字符串的比较建议用strncmp(头文件#include<string.h>, 你这种情况相当于只比较了第一个字节    strncmp(USART3_RX_BUF, "off", sizeof("off")); 2.第二个问题是unsigned char 和char类型比较不严谨,上面这句话修改为    if(strncmp((char *)USART3_RX_BUF, "off", sizeof("off")) = ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

400

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1750
金钱
1750
注册时间
2015-6-11
在线时间
309 小时
发表于 2015-9-21 23:42:06 | 显示全部楼层
回复【5楼】战舰威武:
---------------------------------
1.字符串的比较建议用strncmp(头文件#include<string.h>, 你这种情况相当于只比较了第一个字节
   strncmp(USART3_RX_BUF, "off", sizeof("off"));
2.第二个问题是unsigned char 和char类型比较不严谨,上面这句话修改为
   if(strncmp((char *)USART3_RX_BUF, "off", sizeof("off")) == 0)
  {
    //
  }
   这样就不会有警告提示了
回复

使用道具 举报

70

主题

6729

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12892
金钱
12892
注册时间
2012-11-26
在线时间
3762 小时
发表于 2015-9-22 08:06:43 | 显示全部楼层
这么明显的提示   还来问 


你不适合写程序
学无止境
回复

使用道具 举报

19

主题

702

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3339
金钱
3339
注册时间
2013-7-30
在线时间
708 小时
发表于 2015-9-22 08:50:44 | 显示全部楼层
百度~~~~
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2015-9-22 09:19:04 | 显示全部楼层
指针地址等于字符,这C语言确实没怎么好好学习了吧
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-9-19
在线时间
1 小时
 楼主| 发表于 2015-9-22 10:26:23 | 显示全部楼层
回复【4楼】ST-FAE-SALE:哦,C语言确实学的不怎么好,第一个问题应该是解决了,谢谢,但是第二个警告怎么解决呢
result of comparison against a string literal is unspecified(use stencmp instead)
他说结果内容不确定是啥意思
---------------------------------
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-9-19
在线时间
1 小时
 楼主| 发表于 2015-9-22 13:07:16 | 显示全部楼层
回复【6楼】zc123:
---------------------------------
真的很谢谢,可以了,又长见识了,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-31 20:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表