OpenEdv-开源电子网

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

sim900a.c中的(const char*)USART2_RX_BUF作用

[复制链接]

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2012-8-10
在线时间
8 小时
发表于 2015-1-29 13:33:09 | 显示全部楼层 |阅读模式
5金钱
u8* sim900a_check_cmd(u8 *str)
{
    char *strx=0;
    if(USART2_RX_STA&0X8000) //接收到一次数据了
     { 
            USART2_RX_BUF[USART2_RX_STA&0X7FFF]=0;//添加结束符
            strx=strstr((const char*)USART2_RX_BUF,(const char*)str);
    } 
    return (u8*)strx;
}

这个函数中strx=strstr((const char*)USART2_RX_BUF,(const char*)str);这里面全局数组USART2_RX_BUF强制转换const是什么作用。USART2_RX_BUF不是一个变量么?谢谢大家啦~~

最佳答案

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

回复【3楼】吉庆: --------------------------------- 因为strstr函数要求输入的参数必须是const u8*类型的,所以强制转换一下而已.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-29 13:33:10 | 显示全部楼层
回复【3楼】吉庆:
---------------------------------
因为strstr函数要求输入的参数必须是const u8*类型的,所以强制转换一下而已.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2014-4-30
在线时间
26 小时
发表于 2015-1-29 15:39:31 | 显示全部楼层
包含文件:string.h
函数名: strstr

extern char *strstr(char *str1, const char *str2);
 strstr(str1,str2)
str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.
返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此位置到str1末尾的所有字符;如果str2不是str1的子串,则返回NULL。(注:若想返回str2在str1第一次出现的位置,不是这个函数)
你先把strstr()这个函数的用法搞清楚了就明白了,这个函数的大致功能是:从串口2接收到的数据中截取从“str”开始一直到结尾的字符串,然后返回这个字符串
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2012-8-10
在线时间
8 小时
 楼主| 发表于 2015-1-29 22:45:17 | 显示全部楼层
回复【2楼】木頭love@rong:
---------------------------------
我问的是const在这里的作用啊!
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2015-1-29
在线时间
1 小时
发表于 2015-1-29 22:56:06 | 显示全部楼层
(const char*)USART2_RX_BUF,把数组当字符串处理吧
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2012-8-10
在线时间
8 小时
 楼主| 发表于 2015-1-30 10:22:17 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
谢谢。知道了
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2017-4-12
在线时间
23 小时
发表于 2017-4-12 17:19:23 | 显示全部楼层
USART2_RX_BUF[USART2_RX_STA&0X7FFF]=0;//添加结束符  这句话是什么意思了?
没懂!还请大神帮忙说明下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-22 05:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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