最近在闲鱼上又看到便宜东西
全新2.13价签外壳淘了20个16块,一顿外卖钱,想着可以塞低温2.13墨水屏,这种成品外壳设计还是不错了
到手居然发现里面带原价签PCB板子
看到板子上的调试点,顿时有了想法
先查询主控DA14585资料
在瑞萨官网找到芯片手册 芯片官网链接
查看手册是低功耗蓝牙5.0 BLE芯片,不过看到是64K OTP 存储器,这边介绍下什么叫OTP。
通过搜索DA14585的烧录教程,发现芯片通过jlink的SWD接口编程,通过SmartSnippets Toolbox上位烧录软件烧录到外部flash启动,
并非一定要烧录OTP才能运行,所以到这里不好判断芯片是否OTP启动。
芯片手册介绍如果OTP Header标志位设置OTP启动就无非再次使用。
对板子飞线VBAT GND DIO CLK
官网下载SmartSnippets Toolbox 软件 官网最新软件下载地址
软件安装就不介绍了,无非下一步确实。
- 打开软件 新建个设置
2.选中你新建的配置,选择芯片型号和链接方式
3.点击open进入设置
这一步没报错,说明芯片swd调试口未关闭,如果调试口关闭,该芯片是无法使用的,一般是写过OTP把SWD关闭了
4.点击OTP,查看OTP header
点击connect 再点Read 查看OTP启动标志位是NO,说明这个芯片不是OTP启动
5.切换到SPI FLASH页
点击connect 再点击Read就能回读到flash前32K数据
等代码编写好就可以通过该软件烧入进flash。该芯片可以通过KEIL5 debug模式运行
下面是我通过原板快速点亮墨水屏流程
1.先搭建环境安装keil5开发环境和下载SDK
2.快速浏览一边SDK,找到keil的工程文件打开
设备工程在该目录下,主要看ble工程和外设工程
3.打开一个蓝牙工程编译并烧录
编译并调试
如果进入不了调试,点击keil的魔法棒工具查看jlink是否有识别设备
然后调试运行
通过nrf蓝牙软件搜索蓝牙搜索到新的设备DLG-PRPH,说明工程能正常运行。
把生成的bin烧录到flash,板子断电再上电,注意要断开SWD连接只供电,还能搜索到该信号,说明烧录OK
4.分析pcb电路,找出控制墨水屏的io
下面是用万用表找出来出来的驱动对应IO
5.移植驱动到工程
选择blinky工程移植,ble例子不好上手先用闪灯外设例子上手
分析墨水屏驱动,
墨水屏只需要io控制高低和读取,就能驱动,所以移植需要有io设置电平的读取电平的函数还有延时函数
6.查看sdk手册
只需要看GPIO的说明,暂时不深入其他,下面是sdk说明
找出GPIO控制函数
io配置函数
读取io电平函数
io设置高低电平函数
7.找出一块24PIN上接的墨水屏,有驱动代码
下面是我手上的一款低温价签用的墨水屏,使用微雪的2.13V2修改分辨率104*212驱动。
使用软件SPI,通用性强,待功能实现的差不多再修改为硬件SPI提高传输效率
配置墨水屏io
写引脚控制宏定义
延时函数是我翻SDK手册找到的
没有可以写个for循环去代替
宏定义
主方法
最后编译运行
序号 | 文件名称 | 下载次数 |
---|---|---|
1 | 109 |