OpenEdv-开源电子网

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

关于ATK-RM04的驱动代码问题

[复制链接]

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2016-1-24
在线时间
20 小时
发表于 2016-3-26 22:37:02 | 显示全部楼层 |阅读模式
10金钱
毕业设计是用原子的wifi做智能插座
在学习怎么驱动。
对于驱动代码有点疑问,想不明白,来这里请教一下,希望大家能帮我一下。
这个函数有两个地方不太明白
u8 atk_rm04_consta_check(void)
{
        u8 *p;
        u8 res;
        if(atk_rm04_quit_trans())return 0;                       
        atk_rm04_send_cmd("at+S2N_Stat=?","?",50);       
        p=atk_rm04_check_cmd("\r\n");
        res=*(p+2);                                                                       
        atk_rm04_send_cmd("at+out_trans=0","ok",50);
        return res;
}



附上调用的check_cmd和send_cmd

u8* atk_rm04_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;
}

u8 atk_rm04_send_cmd(u8 *cmd,u8 *ack,u16 waittime)
{
        u8 res=0;
        USART2_RX_STA=0;
        u2_printf("%s\r",cmd);       
        if(ack&&waittime)               
        {
                while(--waittime)       
                {
                        delay_ms(10);
                        if(USART2_RX_STA&0X8000)
                        {
                                if(atk_rm04_check_cmd(ack))break;
                                USART2_RX_STA=0;
                        }
                }
                if(waittime==0)res=1;
        }
        return res;
}

第一个地方atk_rm04_send_cmd("at+S2N_Stat=?","?",50);为什么发送at+S2N_Stat=?的指令时期待的回复是“?”呢。我自己用串口试的时候这个指令回复的结果不是0就是1啊,为什么期待“?”
第二个地方是p=atk_rm04_check_cmd("\r\n");按at指令的返回值来说是以\r\n结尾的,调用这个函数p的值不就是\r\n0吗?res的值就恒为0咯?

最佳答案

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

原来模块是先回一条我询问的指令,再回我一条指令的答案。这样两个地方都明白了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2016-1-24
在线时间
20 小时
 楼主| 发表于 2016-3-26 22:37:03 | 显示全部楼层
原来模块是先回一条我询问的指令,再回我一条指令的答案。这样两个地方都明白了。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2016-1-24
在线时间
20 小时
 楼主| 发表于 2016-3-27 10:52:32 | 显示全部楼层
大神在哪里咧?
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2016-1-24
在线时间
20 小时
 楼主| 发表于 2016-3-27 15:14:24 | 显示全部楼层
只能等原子哥来了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 13:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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