| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2178 人关注过本帖
标题:请问大家我这个函数的参数有什么问题?
只看楼主 加入收藏
dby12
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
请问大家我这个函数的参数有什么问题?
有如下函数:
send_at_cmd("AT\r\n","OK",5));
函数功能是向模块发送“AT”命令,如果被测模块返回OK,则send_at_cmd函数返回0,否则返回1.

函数代码如下:
u8 send_at_cmd(u8 *cmd,u8 *ack,u16 waittime)
{
        u8 res=0;
        Rx2Counter=0;
        Flag_UART2_RX=0;
        while((USART2->SR&0X40)==0);
        if((u32)cmd<=0XFF)
        {
                while((USART2->SR&0X40)==0);
                USART2->DR=(u32)cmd;
        }else USART2_TxString(cmd);
        if(ack&&waittime)               
        {
                while(--waittime)      
                {
                        Delay_ms(1000);
                        MCU_IWDG_Init ();
                        USART2_TxString("AT\r\n");
                        Rx2Counter=0;
                        if(Flag_UART2_RX==1)
                        {
                                Flag_UART2_RX=0;
                               if(AT_check_cmd(ack))break;
                        //        if(strstr((const char*)Rx2Buffer,"OK"))break;
                        }
                }
                if(waittime==0)res=1;
        }
        return res;
}

u8* AT_check_cmd(unsigned char *str)
{
        char *strx=0;
        if(Flag_UART2_RX==1)               
        {
                Flag_UART2_RX=0;
               
                strx=strstr((const char*)Rx2Buffer,(const char*)str);
        }
        return (u8*)strx;
}        
使用时,send_at_cmd函数中红色部分用绿色的替代就可以了,请问这个是AT_check_cmd()函数的参数传递有问题吗?要怎么解决,谢谢。
搜索更多相关主题的帖子: 函数 参数 cmd const char 
2018-11-02 16:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
将 if(AT_check_cmd(ack))break; 之上的 Flag_UART2_RX=0; 删掉试试
2018-11-02 17:00
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:10 
参数传递的问题
定义的u8 和unsigned char 不是同一个类型 AT_check_cmd(unsigned char *str)
2018-11-02 17:20
dby12
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-2
收藏
得分:0 
回复 2楼 rjsp
非常感谢,就是这个问题,看这段代码时间久了,忽略了前面加的这句话,再次感谢。
2018-11-03 09:29
dby12
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-2
收藏
得分:0 
回复 3楼 烟雨晨曦
谢谢,这个函数定义的确应该是u8,再结合楼上的修改,问题解决了,再次谢谢两位。
2018-11-03 09:30
快速回复:请问大家我这个函数的参数有什么问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017523 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved