手环
文章平均质量分 85
embedded_w
这个作者很懒,什么都没留下…
展开
-
8.1、表盘
表盘文章目录表盘1、界面构成2、初始化事件2.1、图片2.1.1、背景图片2.1.2、运动图片2.1.3、电池电量图片2.2、容器2.3、 标签控件3、循环事件4、触发事件5、退出事件1、界面构成背景图片温度海拔标签控件电池图标文字控件(图片)年月日标签控件时分标签控件依托于容器 秒led依托于容器运动图标图片运动步数标签控件一共分为三大部分,图片,标签控件,容器.这个页面详细说一下,后续的7个页面就不太详细介绍了,都是一些LVGL的基础知识,直接按照图原创 2021-01-31 01:14:00 · 1576 阅读 · 0 评论 -
8、界面的整体框架
界面文章目录界面页面框架界面管理其实关于业务逻辑这方面并没有什么好说的,有一个大概的想法去做就行,但这部分也是最费时间的地方,还有有原U主的代码作为参考,这次其实也只是在UP的基础上去修改一点东西,毕竟UI这个东西没个好的审美,做出来也费力不讨好,简称,我杀我自己…关于界面的实现,我使用PC端先仿真一些纯逻辑和界面的内容,涉及到硬件的先使用其他方法跳过,然后做完一个移植一个,直至全部完成.页面框架整个GUI是由8个页面构成的,每个页面都是一个大小等同于屏幕大小的容器,在上电后,各个硬件模块初始化原创 2021-01-31 01:13:28 · 1147 阅读 · 4 评论 -
7.6、LSM6DSL_SENSOR_HUB模式
7.6、LSM6DSL_SENSOR_HUB模式文章目录7.6、LSM6DSL_SENSOR_HUB模式7.6.1、简介7.6.2、LSM6DSL_SENSOR_HUB模式7.6.3、sensor_hub直连模式7.6.4 测试结果7.6.1、简介硬件概述里面讲了有两种接线模式,其中第二种模式允许外部传感器连接到LSM6DSL.7.6.2、LSM6DSL_SENSOR_HUB模式该模式下的接线图如下所示.在模式2(SENSOR HUB mode)下,最多有四个传感器连接到LSM6DSL器件的I原创 2021-01-31 01:10:20 · 970 阅读 · 0 评论 -
7.5、LSM6DSL嵌入式功能
7.5、LSM6DSL嵌入式功能文章目录7.5、LSM6DSL嵌入式功能7.5.1、计步功能7.5.1.1、例程7.5.2、绝对手腕倾斜7.5.2.1、原理7.5.2.2、实现7.5.3、双击检测功能7.5.3.1、原理7.5.3.2、实现7.5.4、移植7.5.1、准备文件7.5.2、修改文件项目里面主要是用了计步、绝对手腕倾斜等两个嵌入功能,此外还有双击检测功能,下面分别介绍一下这三个功能的使用注意事项.7.5.1、计步功能基本用下图可以简单理解计步功能的原理.首先,当振幅低于最小THS的时原创 2021-01-31 01:09:03 · 1511 阅读 · 3 评论 -
7.4、LSM6DSL使用
7.4、 LSM6DSL使用文章目录7.4、 LSM6DSL使用7.4.1、 LSM6DSL C_DRIVER库7.4.1.1、LSM6DSL C_DRIVE移植7.4.2、LSM6DSL MEMS库7.4.2.1、MEMS库使用方法7.4.2.2、MEMS库移植具体的使用个人觉得有三种办法,如下C-Driver-MEMSX-CUBE-MEMS1根据datasheet写驱动7.4.1、 LSM6DSL C_DRIVER库ST针对自己家传感器推出的标准C驱动,在仓库内除去各个传感原创 2020-12-18 00:36:28 · 3873 阅读 · 2 评论 -
7.3、LSM6DSL硬件功能
7.3、LSM6DSL硬件功能文章目录7.3、LSM6DSL硬件功能7.3.1、LSM6DSL工作模式7.3.1.1、掉电模式7.3.1.2、低功耗模式7.3.1.3、正常模式7.3.1.4、高性能模式7.3.1.5、陀螺仪睡眠模式7.3.2、LSM6DSL嵌入式功能7.3.3、LSM6DSL中断7.3.4、LSM6DSL温度传感器7.3.5、LSM6DSL FIFO7.3.5.1、FIFO模式7.3.5.1.1、Bypass mode7.3.5.1.2、FIFO mode7.3.5.1.3、Contin原创 2020-12-18 00:18:50 · 2208 阅读 · 1 评论 -
7.2、LSM6DSL硬件概述
LSM6DSL硬件概述文章目录LSM6DSL硬件概述LSM6DSL简介LSM6DSL特性LSM6DSL引脚描述LSM6DSL地址LSM6DSL电器性能及其余参数参考资料LSM6DSL简介LSM6DSL 是系统级封装的 3D 数字加速度计和 3D 数字陀螺仪,具有数字 I2C/SPI 串口标准输出,在组合高性能工作模式下 6 轴功耗 0.65 mA。由于陀螺仪和加速度计均具有超低噪声性能,始终具有低功耗特性,并结合了高传感精度,因此能够为客户提供最佳运动体验。此外,加速度计具有智能的休眠到唤醒(活动原创 2020-12-18 00:16:40 · 3757 阅读 · 0 评论 -
7.1、BMP280气压计
7.1、气压计BMP280一般来说,使用一个新的芯片,都会去该芯片品牌的官网找相关资料,然后再去网络看是否有人使用过该芯片。bmp280属于博世旗下的一款芯片,该芯片的官方网址在这。从官网上可以找到对应的datasheet,还有驱动文件,然后两者结合稍微理解一下,然后测试一下基本的数据读写,这个模块就算结束了。总体来说,还是比较简单的。7.1.1、BMP280引脚及其相关参数引脚说明BMP280是一款气压传感器,体积和功耗都很小,接口方面支持IIC和SPI。引脚定义如下。依照上图,可知原创 2020-12-11 00:31:32 · 5501 阅读 · 2 评论 -
6、stroge模块和按键模块
6.1、存储模块存储模块使用的是P25Q32H,封装USON3*2,引脚定义如下所示。该芯片共有64个块,每块16个扇区,每扇区4KB,合计4MB.通信方式采用标准的4线SPI通讯。具体配置如下所示该芯片的驱动程序和W25QXX系列基本一致,移植于之前的W25Q128驱动,主要内容几乎没变化。#ifndef __SPI_FLASH__H#define __SPI_FLASH__H#include "spi.h"typedef enum{ SPI_FLASH_OK = 0,原创 2020-12-08 00:13:56 · 780 阅读 · 0 评论 -
5、定时器模块
1、定时器模块定时器模块相对而言比较简单,主要分为三部分。第一部分是整个系统的时基systick内核定时器,里面主要放置了LVGL,RTT,HAL库的时间基准函数。第二部分就是屏幕的背光部分,使用的是TIM3_CH2通道。第三部分是RTC时钟及其后备域。第一部分由于比较简单,就不多说了。2、PWM部分下面是TIM3_CH2的初始化。因为我这里使用的系统主频是84Mhz,PWM频率设定是1Khz,所以分频系数为83,计数值为999.正好是1KHZ的PWM。2.1、定时器开始函数整个P原创 2020-12-06 23:52:52 · 1291 阅读 · 0 评论 -
4、USB调试模块
1、USB硬件初始化底层初始化使用的CUBEMX,库函数版本F4_V1.25.具体配置如下2、USB函数封装USB通信中真正的收发数据都是在USB中断中进行的,所以为了确认USB不会被其他中断打断,将USB的抢占优先级设定为0。先说一下实现的大概思路吧。只是发送(MCU -> PC)的话,用到了一个消息队列,一个线程。1、创建一个消息队列tx_mq,一个发送线程tx_thread2、用户想要发送消息的时候,将消息存入tx_mq中。存入的消息满足一定条件时将消息发送至tx_th原创 2020-12-06 20:14:44 · 730 阅读 · 0 评论 -
3、基本的软件框架
软件框架本次项目使用RT_Thread,使用的是Nano,因为RTThread里面的组件太多了,好多东西使用不到,所以简单使用一个Nano+控制台就行。1、硬件驱动简单说一下,TIMER对应的是屏幕的背光控制,使用的是TIMER的PWM。USB是作为代替串口的调试工具,如果使用串口转USB,势必要增加一个芯片,板子空间实在有限,就是用了USB作为调试口。后续作为程序升级的下载口。当然如果只是调试也可以使用Jlink内部的资源配合官方工具调试。其余的应该都一目了然了。使用的是cubemx 生原创 2020-11-29 22:25:45 · 1117 阅读 · 0 评论 -
2、总体规划
简单的想法 想做一个手环,首先先定义一下该手环的功能,然后根据定义的功能去做出来一个或者几个实现方案,然后根据实际情况去选择使用哪一个方案。作为一个手环,最基本的功能要求如下。看时间可充电使用上述两点是最基本的需求了,然后现在市面上大多数手环除去上述功能都还有如下功能。闹钟记录运动数据记录睡眠数据心率检测还有一些特殊功能,比如我很喜欢的小米手环4的NFC功能,屏幕壁纸可由用户自定义等等。我在此只是为了学习LVGL才去做的一个小东西,所以也不想搞那么复杂,大致打算只做以下几个原创 2020-11-29 20:50:28 · 300 阅读 · 0 评论 -
1、先立个FLAG
emmmm之前看到B站有个UP主DIY了一个手环,还是挺佩服的,正好自己一直也有这个想法,于是就照着这个项目做了一下,做这个项目的目的就是为了熟悉一下RTT和LVGL,在之前的项目使用的都是FREERTOS和大量通信相关的东西,正好趁着最近公司项目不是特别忙,拿这个练练手。早在10月份的时候我就已经打了一版硬件出来了,但是在PCB的布局和原理图设计上有一些小瑕疵,打算先把软件做完再打第二版,但是最近懒神附体,个人思想状态有些许问题,就一直没动过,现在立下来个FLAG,在年前把这个项目彻底结束掉。目原创 2020-11-22 21:51:45 · 834 阅读 · 1 评论