之前撸了一堆pos,每撸一个就会找蓝牙模块的资料,发现之前想东芝IC之类的看似有资料,实际上关键的资料都没有,后来发现is1677,即BM77模块资料很详细,而且从烧录到STM32代码都有,就让同事帮忙又撸了几个,但是因为一直出差手里什么都缺,一直没法玩,今天刚回来就赶紧搞上,本身资料出差时都研究的差不多了,开干后半小时搞定,接着就发现有网友同时也搞定了,庆祝一下吧,蓝牙能玩了部分pos就有可玩性了,毕竟好多只玩51的朋友看着stm32也很无奈,包括我。
先看看BM77模块长啥样,pos中拆到这个鸟样的模块就直接默认是BM77就行,中间的蓝牙IC 丝印is1677
借用
kanamu坛友的图,懒得找了
先贴上两位坛友的连接:
1元POS机EFM32作业-IS1678蓝牙可以用了。蓝牙调试-V0.2
http://bbs.mydigit.cn/read.php?tid=1567129交重磅作业-成功利用一元即付宝pos刷卡器蓝牙模块bm77
http://bbs.mydigit.cn/read.php?tid=1567205 上资料:所有用到的资料和工具都在这:
http://pan.baidu.com/s/1kUjWdkN 密码:npfe
首先是模块功能设置:都包括什么设置呢,该模块的所有设置,从模块名称、工作方式、LED闪烁方式、到主从模式、密码验证,所有的设置功能都在连接中的User Guide of BM77 UI Tool D302R01.pdf文件中,该文件是繁体中文,非英文版,一般人都能看懂哦。
来个截图了解一下。
一下所有步骤用到的文件都给予上面的百度云连接,请自行下载。
步骤1:设置蓝牙模块参数:
下载压缩文件,解压后打开BM77SPP03 UI v301.106文件夹下的BM77SPP03 UI v301.106.exe文件。
然后点击load加载同目录下的BM77SPP03 UI v301.106 default.txt文件。(该文件中的参数是出厂默认参数,即串口透传模式,无需密码验证,如果不需要做个性化设置蓝牙模块参数设置步骤可以跳过,直接开始烧录。该文件也支持文本工具打开直接更改,但是由于很多UI软件对其中很多设置做了范围限制,以免大家设置了错误值,所以强烈推荐用UI软件修改)
英文界面大家可能不了解部分设置的意思,对照了一下绝大部分设置在User Guide of BM77 UI Tool D302R01.pdf文件中都有描述,可以对照着设置。
然后点击Edit编辑参数。
可以看下下面LED设定对照。
设定完成后点击Save保存设定。(点击export可以到处直观的设定日志文件,可以导出试试)
步骤2:蓝牙模块电路连接
稍微懂点英文的朋友可以看下BM77_Data_Sheet_v2.0r.pdf,BM77的数据手册,看不懂的就看下下面的描述吧,不影响使用。
BM77的管脚设定,其中我们用到的只有1、2、5、16、20、21、29(29脚GND应该是与1脚GND联通的,没表,没法测试,保险起见连接一下吧)
其实这里的这几个功能引脚都是可以设定功能的,不过一般也用不到就不说了,有需要用到的直接看pdf吧,里面都有中文对照的。
接线方式如下图:
同事笔记本,不装软件了,画图画了下,最简单的连接了,利用模块内置LDO提供3.3V电压。
(有网友反应三脚SW_BIN不接3.3V上拉无法烧录固件,我当时测试没有遇到这个问题,现在一直出差没时间测试,这个引脚按字面意思就是软件控制开关,建议大家使用的时候接3.3V上拉吧)谨记:烧录前先把16脚P20接地然后上电烧录,烧录成功后P20悬空就能正常工作了(本来17脚、18脚等几个管脚同样需要设置,不过那些这些管脚内部都有上拉或下拉电阻,正好匹配需要的设置,P20内置上拉,所以需要接地,烧录后可以悬空不用特意上拉)
电平设置以及对应的模式。
这是链接MCU串口电路,其实是一样的。
步骤3:烧录
先链接好USB转串口模块或MAX232,总之先确保电脑正常识别串口工具,才能打开烧录软件,否则串口选择为空,是无法选择串口的,这时再插上硬件同样不会出现串口选择项。(这里借用了另一个同事的电脑编辑教程,不想给他装太多软件,所以下面实际是没有接串口的,所以也无法选择串口,这里大家一定要留意了)然后打开蓝牙烧录文件夹下的E2PROM_tool_100913.exe烧录工具。
点击select E2PROM table file,找到步骤一设置后保存的参数文件,或者直接导入文件夹中自带的出厂设置文件:BM77SPP03 UI v301.106 default.txt
然后点击write table烧录,下面滚动条跑到头烧录完成烧录成功,此时蓝牙模块还是不可以用的,
一定要记得把16脚P20从接地状态改为悬空或上拉状态才可以哈。其实如果你只是改一下蓝牙名称,只需要在下面change name后面输上名称,然后点下change name就可以了,不需要烧录整个参数文件,而且强烈建议烧录前线点击一下下面的read e2prom看看是否能正常读取e2prom中的数据,如果可以正常读到数据就标示串口连接和蓝牙电路本身没有问题,如果读不到数据那就要先检查问题了。
至此,结束,我公司电脑里还有份从网上下的STM32使用BM77的案例,不过要到周二才能拿到电脑,如果大家需要的话留下言,到时候我上传。
此代码非本人缩写,来自网络,仅供学习,不可用于商业,如侵犯了原作者权益请及时联系,立即删除
[ 此帖被飞向狙沙在2016-03-22 09:48重新编辑 ]