找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2406|回复: 2
打印 上一主题 下一主题
收起左侧

无线24L01模块调试经历及STM32代码

[复制链接]
跳转到指定楼层
楼主
ID:165424 发表于 2017-9-27 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接线io自行下载免费程序,发送用的stm32f103c8t6小系统板,便于观测,接收用的战舰v3板子,上面有lcd, 所以接收部分有lcd,如果用没有lcd的板子测试,请自行把lcd。c及相关函数删掉即可,否则程序会卡死,模块我之前入手,一直没有时间调试,前天晚上有时间,就心血来潮开始研究,第一晚搞了几个小时后可以发送数据了,但是接收端有问题,第二天白天去面试,晚上继续,搞到了12点半,接收端也搞好了,其实说难不难,说简单,没搞到之前那真是难啊,反反复复,太折磨人,我使用的原子哥是例程,直接分开两份一份发送,一份接收,在此基础上修改,先说说发送的问题,我是发送的字符串,程序也是简单明了的就能看懂,循环发送出去,一开始我也不确定发没发出去,  但是我看格式应该没问题,于是就调接收部分,一开始我在想如何把接收到的字符串进行对比确认是我要的,然后给个命令去执行别的任务,就跟蓝牙那种,串口发来相应的数据,接收到了相应的命令就去执行想要执行的,开始我就麻爪了,不知道怎么搞,自己鼓捣半天也不好使,后来百度,查到一个函数,strcmp,是专门用来对比字符串的,详细自行百度,反正在string。h中,头文件需要调用,还要在接收端定义发送端相应的数据的组,比如就是发送“asdfg”,接收有一个str_buf【5】,还要定义一个a【5】={“asdfg”};while中比较就是strcmp(strcmp,a),这时候会提示错误,于是这样改strcmp((const char*)strcmp,(const char*)a);就可以,如果相同返回0,不同会有两种,一个返回1一个返回-1,所以加个if(strcmp((const char*)strcmp,(const char*)a)==0)判断返回是否得0,即对比接收数据是否想要的,下面就可以放你想要的命令了,裸着写的,可能有的地方不清楚,也可能有的地方会出错,,希望能帮助上新上手的朋友,欢迎互相讨论。

无线通信实验发送.rar

315 KB, 下载次数: 18, 下载积分: 黑币 -5

免费

无线通信实验接收.rar

340.23 KB, 下载次数: 20, 下载积分: 黑币 -5

免费

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:165424 发表于 2017-9-27 14:35 | 只看该作者
另带一张模块接线图, 别接错了。供电好像是2~3.6v

023b5bb5c9ea15ce581d3281b5003af33b87b243.png (869.89 KB, 下载次数: 81)

023b5bb5c9ea15ce581d3281b5003af33b87b243.png
回复

使用道具 举报

板凳
ID:163574 发表于 2018-1-3 23:15 | 只看该作者
非常感谢楼主,之前也是照着原子的改到C8T6上,可是怎么也不行,正好可以参考下
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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