OpenEdv-开源电子网

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

ATK-RM04 WIFI模块会发送0x00

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2013-11-9
在线时间
2 小时
发表于 2014-5-21 16:35:54 | 显示全部楼层 |阅读模式
5金钱
将ATK-RM04 WIFI模块设置成AP模式,电脑连接上后,通过按键KEY0给电脑发送"1"、“2”、“3”、“4”、“5”、“6”
接收数据中有许多多余的“00”,请问这些数据哪里来?有何作用?

最佳答案

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

回复【5楼】llmll: --------------------------------- 额,我搞错了 是SIM900A有这个问题. 你这个应该是RM04,切换命令/数据的时候,导致的.  atk_rm04_send_cmd("at+out_trans=0","ok",50);//发送at+out_trans=0,进入透传模式 这句话,会引起RM04,发几个0到网络上面.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-21 16:35:55 | 显示全部楼层
回复【5楼】llmll:
---------------------------------
额,我搞错了
是SIM900A有这个问题.
你这个应该是RM04,切换命令/数据的时候,导致的.
 atk_rm04_send_cmd("at+out_trans=0","ok",50);//发送at+out_trans=0,进入透传模式
这句话,会引起RM04,发几个0到网络上面.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-21 22:32:09 | 显示全部楼层
用的Mini板?
这是串口切换的时候,引起 的,不切换串口2的IO口状态就不会有这个问题了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2013-11-9
在线时间
2 小时
 楼主| 发表于 2014-5-22 08:49:15 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
是mini板,用的是自带程序:中断收,DMA发。

原子哥,状态切换是什么意思?

而且每次电脑给板子发送数据的时候,板子也会无故回复8个0x00。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-22 23:15:44 | 显示全部楼层
回复【3楼】llmll:
---------------------------------
IO口不是又接了SD/SPI的片选,又做串口用么?
切换的时候,就可能产生0...串口就会收到这个.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2013-11-9
在线时间
2 小时
 楼主| 发表于 2014-5-23 08:42:23 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
[mw_shl_code=c,true]u8 atk_rm04_wifiap_test(void) { 省略…… while(1) { key=KEY_Scan(); if(key==3) //WK_UP 退出测试 { res=0; break; }else if(key==1) //KEY0 发送数据 { sprintf((char*)p,"ATK-RM04 %s测试%02d\r\n",ATK_RM04_WORKMODE_TBL[netpro],t/10);//测试数据 Show_Str(30+54,100,200,12,p,12,0); //u2_printf("%s",p); //发送该数据到ATK-RM04模块 u2_printf("%d",1); u2_printf("%d",2); u2_printf("%d",3); u2_printf("%d",4); u2_printf("%d",5); u2_printf("%d",6); timex=100; } //camera_refresh(); if(timex)timex--; if(timex==1)LCD_Fill(30+54,100,239,112,WHITE); t++; delay_ms(10); if(USART2_RX_STA&0X8000) //接收到一次数据了 { rlen=USART2_RX_STA&0X7FFF; //得到本次接收到的数据长度 USART2_RX_BUF[rlen]=0; //添加结束符 printf("%s",USART2_RX_BUF); //发送到串口 sprintf((char*)p,"收到%d字节,内容如下",rlen);//接收到的字节数 LCD_Fill(30+54,115,239,130,WHITE); POINT_COLOR=BRED; Show_Str(30+54,115,156,12,p,12,0); //显示接收到的数据长度 POINT_COLOR=BLUE; LCD_Fill(30,130,239,319,WHITE); Show_Str(30,130,180,190,USART2_RX_BUF,12,0);//显示接收到的数据 USART2_RX_STA=0; if(constate==0)t=1000; //状态为还未连接,立即更新连接状态 else t=0; //状态为已经连接了,10秒后再检查 } if(t==1000)//连续10秒钟没有收到任何数据,检查连接是不是还存在. { constate=atk_rm04_consta_check()-'0';//得到连接状态 if(constate) Show_Str(30+30,80,200,12,"连接成功",12,0); //连接状态 else Show_Str(30+30,80,200,12,"连接失败",12,0); t=0; } if((t%20)==0)LED0=!LED0; atk_rm04_at_response(1); } } myfree(SRAMIN,p); //释放内存 atk_rm04_quit_trans(); //退出透传 return res; } [/mw_shl_code]
原子哥,我是新手,不好意思。

while(1)中并未涉及到IO口功能切换的操作啊?
发送0是由于PA2、PA3被上拉的缘故吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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