图文编辑全部好了,结果网页打不开406显示该网页无法正常运作,结果发现可能是写的博文,无奈重新写,先保存草稿验证一下
非常感谢灵动给的开发板试用机会,能够加群交流技术,聊行业动态,查看各位大神的文章提升自我
板子已经在手上拿过一整子了,收到后通电用手机连接了下验证了功能正常就放一边了。最近刚好闲了一些可以在工作之余研究起来。
资料汇总
官网网站:www.mm32mcu.com
资料下载:http://www.mindmotion.com.cn/download.aspx?cid=2545 有些文件好像不太相关
DFP:http://www.mindmotion.com.cn/download.aspx?cid=2546 IDE安装后识别MCU
GitHub:https://github.com/Samplecode-MM32 代码
--------
1.MCU介绍
MM32W373PSB
a.M3内核主频96MHz 频率在soc蓝牙芯片中很高,估计电流会比较高了
b.UARTx3,USBx1,ADCx2,SPIx1外设扩展性对比主流蓝牙芯片中强的多,这样就可以用一个soc,减少外挂IC成本
c.支持BLE 2MHz 信道间隔,4.2 tx功率最大3dbm(我是在代码里看到的),一个包最大251字节如果数据传输的话完全够用,下一篇会做蓝牙数据测试协议栈单独分离,预留函数接口,直接当成MCU来用,只要熟悉C语言就能玩蓝牙
d.蓝牙BQB认证,开发资料据说都有
--------
2.板子介绍
外壳比较紧,用镊子撬开即可
蓝色的PCB,经典又低调,非常喜欢。走线规整,器件布置整齐,看到下方的BLE天线就忍不住想开始玩了
背部走线很舒服,蓝牙天线部分不用覆铜。
特点整理
*RGB ledx4,摆脱以往开发板单色LED的单调
*储存芯片EEPROM、SPIFLASH两种,如果是SPIM就更香了
*4KV EFT 抗干扰能力,工业使用的不二选择
*无源蜂鸣器,音乐播放很轻松
*MindMotion MM32 FDS 固件开发
*MindMotion MM32 Program 编程软件
关于FDS固件开发
类似于HAL库把硬件驱动抽象出来,方便移植和开发,想要驱动都参考这里,这可是好东西啊!
关于Program 编程软件
固件烧写量产工具,该有的功能应该都有,还没有仔细研究
--------
3.代码动手玩
本人使用的keil,先安装DFP,然后再装美眉LINK(MM32-LINK,下文简称“美眉LINK”)驱动。
通过usb线连接电脑和CN2,这样keil就能正常识别美眉LINK了
此款芯片使用M3内核,外设硬件部分大家都很熟悉,资料也很多,所以不重复造轮子了,主要研究蓝牙部分。
所以直接打开GIT里的MM32W3xxxxB_n_samplecode中的HID蓝牙代码。
因为都是ARM架构,代码书写格式很熟悉,阅读起来是比较轻松。
#蓝牙结构
这里很简单,仅用一个源文件便实现了BLE面向开发者的业务功能,其他用lib的方式,调用"mg_api.h"中的接口使用。相比于其他BLE专业厂家的代码,功能少了一些,比如广播参数、GAT、GATT等。不过个人反倒觉得很好,对于我们不太懂蓝牙的小白来说就可以调用一些最常用的BLE接口,熟悉C语言就能玩蓝牙,开发成本又降低了。
关于协议栈看了下固件首地址是0x8000000,所以个人推断是直接编译到固件里了,固件大小22K很小啊!超喜欢
#按键实现原理
BLE无非就是传输各种service内的数据,作为HID服务,只要发送HID report map相对应的音量+或者-码就可以控制系统相机拍照
用户通过key触发EXIT,这样可以做到高时效性,然后系统gatt_user_send_notify_data_callback定时轮询(看了下轮询的频率也不是很高)检测按键状态标志位,如果按下则通过sconn_notifydata发送数据至手机BLE解析HID数据。另外,区分不同的service是用公用的一个全局变量cur_notifyhandle。
#下载固件体验
先打开隔壁专业的工具查看下UUID,我们可以看到有很多service,同时也解析到了HID,说明HID加载正常运行。
之后打开系统蓝牙,连接设备
打开系统相机按下key4即可享受摄影乐趣
注意:因为手机系统HID带有蓝牙打开自动连接功能,所以一定要测试设备或手机蓝牙断开再连后能否自动连,连接后功能是否正常!
下一篇研究下BLE发送大数据速率~~