试验目标:使用SWM166-SPI-Y1.28C1开发板实现图标、菜单、指示灯学习
一、初识开发板,准备好硬件
看SWM166介绍就很不错,芯片概述:
SWM166是一款基于 Cortex-M0 的 32 位微控制器,片上包含精度为 1%以内的 12M 时钟及 PLL 模块, 最高支持 90MHz 的时钟输出。
外设和总线资源包括 :
3 组 32 位(24位计数器+8 位预分频) 加强定时器
4 组 32 位(24 位计数器+8 位预分频) 基础定时器
1个 16 位正交编码器(QEI)模块
1 个 16 位的 MPU 接口模块
4 通道(每个通道均可扩展为具备死区的互补模式) 16位 PWM 模块
1 个除法器(DIV)
1 个旋转坐标计算模块(CORDIC)
4 路运算放大器
4 路比较器模块
2 个 UART 接口
2 个 SPI 接口(一个支持四线 QSPI)
1 个 I2C接口(支持主/从选择)
1 个 CAN 接口
1 个 16 位看门狗定时器
拿到开发板居然上面还有一块存储芯片,可以存好多东西啦,哈哈,
那块圆圆的屏幕才是申请的主要原因,看看它怎么显示圆圆的图形图像的。
还有那个“飞梭”感觉也很好用,不错点赞。
拿到开发板,开始准备:
1.供电是USB口,我要准备USB线
2.端子没有焊接,都给焊接上排针
3.看见介绍支持ST-LINK下载器,准备好下载器
4.看见介绍更新存储图片使用串口,再准备一个USB转串口
5.找了几个通螺柱,将开发板支撑起来
有这几样就满足我测试需求了,齐活了。
二、搞点资料看看,先学习
上官网( www.synwit.cn )找些资料看看,也可以看看FAE发到论坛里帖子,帖子里说的网盘资料也很全,下载下来看看有帮助,
确认了几个信息:
1.KEIL中的芯片驱动需要下载,Synwit.SWM32_DFP.2.0.8
2.更新存储器图片使用官方自己的软件,Synwit_IMG_Tool_V1.1.exe
3.还有官方给了不错的例程,下面的学习就是从例程中开始学习
三、搭建环境,芯片的PACK安装
从上面说的网盘中找到芯片驱动PACK,安装好后,打开KEIL,在设置里看见这样,至此芯片驱动安装就OK啦。
需要说明的是,申请前看介绍说芯片是SWM166,实际开发板上芯片应该是SWM211
四、菜单中图片的修改
根据官方的素材,修改对应的图片文件,在UI文件夹修改了三个图标文件,
图片修改完成后,使用Synwit_IMG_Tool_V1.1.exe软件将图片转换为BIN格式,
再将这个BIN文件通过串口下载到开发板上,下载地址10240K。
五、程序代码修改
在例程中将菜单循环按照自己需求修改,我修改的是红、绿、蓝这三个循环,
这块开发板上有红、绿、蓝指示灯,让界面和指示灯对应起来,逻辑如下:
1.旋转飞梭,界面显示红,指示灯为红
2.旋转飞梭,界面显示绿,指示灯为绿
3.旋转飞梭,界面显示蓝,指示灯为蓝
先限制飞梭旋转的上下限,代码如下:
让界面显示和指示灯对应,代码如下:
显示效果如下,由于在白天拍摄且指示灯在板下,颜色不是太明显,不过已经可以区分
至此,实现了既定目标:使用飞梭旋转,界面和指示灯配合显示。
六、源代码
将上述UI源代码和程序源代码,打包上传,请各位大佬指正,谢谢
SWM166-SPI-Y1.28C1_yljon.rar
(2.57 MB)
UI_yljon.rar
(184.89 KB)
|