自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

未来可期

主要用来做个人笔记

  • 博客(31)
  • 收藏
  • 关注

原创 LVGL8.1笔记3--运行demo(2022-0611)

运行LVGL的官方demo

2022-06-13 22:25:04 11240 7

原创 LVGL8.1笔记2–触摸移植(2022-0603)

LVGL8.1笔记2--触摸移植(2022-0603)

2022-06-04 16:51:52 6403 14

原创 LVGL8.1笔记1--显示移植(2022-0515)

参考了LVGL的官方文档、很多的CSDN上的文章、正点原子的LVGL文档等 总结出来的比较详细的移植说明

2022-05-15 20:11:21 7720 9

原创 北医三院 眼睛验光--2022-1-9

北京大学第三医院验光记录–2022-1-9起因公司配的电脑屏幕不是很清楚,想要看清必须离得比较近,这样看着越来越费眼。之前在商场配过眼镜,但是总感觉不太好。所以准备多花点钱配一个副好点的眼镜。一种是去规模大的眼镜店选择名牌镜片,一种是去靠谱的医院验光,再从网上挑选好一点的镜片品牌。去医院显然要更好,验光有了数据,可以慢慢在网上挑选了。了解北京的眼科医院,最好的当然是北京同仁医院了,网上虽然有些差评,但更多得是评价服务态度,验光技术应该是一流的,于是在微信公众号上关注京医通,这么知名的眼科,肯定

2022-01-10 22:21:36 5231 2

转载 【教程】在VSCode中使用码云进行代码管理

【教程】在VSCode中使用码云进行代码管理前言本教程核心内容本文主要是整合了网上教程,从Git安装开始,配置关联本地仓库到码云,最终用上VScode这个流程。非常基础和简单,照着操作就行了。起因平时常写python脚本,原先用Sublime,现在用VScode,发现编辑器左侧有代码管理这个按钮,于是开始找怎么设置VSCode能和码云连在一起。踩了一些坑,理顺了思路,才发现一点关系都没有。正确的思路是:安装Git;关联码云;打开VSCode。是的你没看错,前两步设置好了,打开VSCode

2021-11-22 14:39:15 1872

转载 STM32串口中断卡死主循环一直进中断问题分析-2021-10-05

在一项目中,使用STM32作为主控,程序运行一段时间后概率出现主循环卡死现象。问题分析如下:1、程序USART2不停接收并处理串口数据,波特率115200;2、主循环卡死;3、USART1中断及TIM2中断响应函数运行正常;(USART1及TIM2中断优先级均比USART2高)4、出现现象后,拔掉USART2的接收数据线,现象不能回复正常;5、出现现象后,拔掉后再插入USART2的接收数据线,现象不能回复正常;6、并未出现HardFault现象;基于以上几点,可能原因如下:1、

2021-10-05 23:08:20 3590

原创 Git扩展工具--GitExtension的安装和配置--2021-8-22

Git-Extension安装和配置Git是一种非常好的版本管理工具,但是用命令行使用起来多少有些不方便,所以使用图形界面的git Extension软件会方便很多前言 git Extension 是单独的一个开源软件,但也是依赖Git才能使用,主要就是把git的命令转换成了图形界面的操作提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):

2021-08-28 15:25:33 19322

原创 树莓派4B系统搭建---2021-8-12

文章目录前言一、系统安装1.下载系统二、使用步骤1.引入库2.读入数据总结前言树莓派(英语:Raspberry Pi)是基于Linux的单片机电脑,由英国树莓派基金会开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。[7][8][9][10][11]树莓派每一代均使用博通(Broadcom)出产的ARM架构处理器,如今生产的机型内存在2GB和8GB之间,主要使用SD卡或者TF卡作为存储媒体,配备USB接口、HDMI的视频输出(支持声音输出)和RCA端子输出,内置Ethernet/WLAN

2021-08-12 22:36:50 1038

原创 推荐的办公软件--WPS

WPS办公软件 作为代码开发者,平时需要写文档,更多的是看文档,包括项目需求文档、数据手册等内容。 其实对于文档的编写以及文档格式的调整没有太高的要求,使用金山的WPS办公软件[wps](https://www.wps.cn/)完全足够了...

2021-08-10 22:16:48 407

原创 Git安装方法--2021-7-25

Git安装步骤1. 下载Gti安装包打开git官网(注意不是github官网)[GIT官网](https://git-scm.com/)

2021-07-25 21:56:21 896 6

原创 LVGL笔记20–lv_btnm矩阵按钮

LVGL笔记20–lv_btnm矩阵按钮​ v_btnm 矩阵按钮对象你可以看作是一系列伪按钮的集合,只不过它是以行和列有序的方式来排列这些子按钮,名称中的 m 就是 matrix(矩阵)的缩写,注意了,我这里故意加了一个伪字来说明它不是真正的 lv_btn 按钮对象,而是 lv_btnm 内部纯绘制出来的具有按钮外观的图形,而且这个图形具有和 lv_btn 按钮一样的点击效果,这种伪按钮的好处是它基本不占内存消耗(一个伪按钮大概需要 8 个字节),这属于littleVGL 的一种优化操作,所以如果你有

2021-02-16 22:13:57 2107 2

原创 LVGL笔记19–lv_sw开关

LVGL笔记19–lv_sw开关lv_sw开关本质是一个缩小版的lv_slider滑块控件,lv_sw控件具有开和关两种状态;点击这个开关控件滑动这个开关控件,它会根据滑动的位置来自动决定状态的。使用lv_sw_on(sw, LV_ANIM_ON/OFF), lv_sw_off(sw, LV_ANIM_ON/OFF), lv_sw_toggle(sw, LV_ANOM_ON/OFF)等 API 接口来改变其状态当 其 状 态 发 生 改 变 后 , 它会给它的事件回调函数发送一个

2021-02-16 17:36:16 802

原创 LVGL笔记18–lv_slider滑块

LVGL笔记18–lv_slider滑块lv_slider滑块是由lv_bar进度条对象外加一个类似于旋钮的东西构成的,这个旋钮可以是被拖拽来设置lv_slider滑块的值,和lv_bar进度条一样。lv_slider可以是被设置成是水平滑块或者是垂直滑块,lv_bar对象上的大部分特性在lv_slider对象上基本都能找到,比如设置进度值、动画时间、设置最大最小范围等,API函数的使用方法也基本是一模一样。当滑块上被点击或者滑块上的旋钮被拖拽导致其值发生变化时,会给对应的回调函数发送一个LV_EV

2021-02-16 16:26:16 2474

原创 LVGL笔记17–lv_line线条

LVGL笔记17–lv_line线条lv_line 线条简单来说是由多个点连接而成的对象,它可以通过 lv_obj_set_size 接口来设置固定的大小,也可以通过 lv_line_set_auto_size(line,true)接口来设置线条对象的大小自适应,它会根据其内部所有点中最大的 x 和 y 坐标来算出自身的大小,默认情况下,大小自适应功能是被使能了的,对于线条对象来说,其内部的所有点坐标默认情况下都是以其左上角为参考原点的,当然了,你可以通过 lv_line_set_y_invert(li

2021-02-15 18:23:51 2177 3

原创 LVGL笔记16–lv_cb复选框

LVGL笔记16–lv_cb复选框lv_cb 复选框是由 3 部分组成的:第一部分是最外层的背景第二部分是内部左侧的小方块,这个小方块其实就是一个 lv_btn 按钮,所以这个小方块也具有 5 种状态和相应的 5 个样式第三部分是内部右侧的文本,这个文本其实就是 lv_label 标签,可以通过 lv_cb_set_text 接口来给复选框设置文本通过 lv_cb_set_checked 接口来设置复选框是否被选中,当复选框被点击时,它会发送一个 LV_EVENT_VALUE_CHANGED 事

2021-02-15 17:57:04 746

原创 LVGL笔记15–lv_bar进度条

LVGL笔记15–lv_bar进度条lv_bar 进度条它由背景和指示器俩部分构成,这俩部分的样式都可以被单独设置,然后此进度条会根据它的宽和高的大小来自动决定它是水平进度条还是垂直进度条,可以通过lv_bar_set_range 接口来设置进度条的数值范围,通过 lv_bar_set_value 接口来设置一个新的进度值,与此同时可选一个进度变化的动画效果。默认的进度条样式比较一般,通过设置样式可以把进度条设置的美观一些。lv_bar进度条主要数据类型enum { LV_BAR_STYL

2021-02-15 17:05:08 1754

原创 LVGL笔记14–lv_arc弧形

LVGL笔记14–lv_arc弧形v_arc 是一个用来绘制弧形的控件,和 lv_led 控件一样,非常的简单,通过样式中的line 字段来修改弧形的外观。可以用来做进度条,显示一些事件的进度。设置起始角度和终止角度两个参数,设置width和height值可以间接的设置出弧形的半径(r = width/2),lv_arc样式my_style.line.color : 用来设置弧形的颜色my_style.line.width : 用来设置弧线的厚度my_style.line.rounded

2021-02-14 18:18:30 1982

原创 LVGL笔记13–lv_led指示灯

LVGL笔记13–lv_led指示灯LV_LED控件就是一个简单的指示灯,在屏幕上绘制一个LED灯样式的图形,这个外形可以通过LV_style来修改,通常设置为圆形或小矩形,led灯控件具有0–255级的可调亮度属性,设置为0时代表最暗,设置为255时代表最亮,基于此亮度属性又分为OFF和ON两种状态的概念,不过设置OFF时亮度值不是0合适100,设置为ON时,亮度值是255API函数接口创建LED对象/*------------------------------------------

2021-02-14 17:06:27 1118

原创 LVGL笔记12--event事件

LVGL笔记11–lv_btn按钮在 littleVGL 中任何对象都可以注册事件,这是在新版本中才加入的特性,分为通用事件和专用事件,总共支持 20 种事件类型,这是一个总和哈,并不是指每一个对象都具有 20 种事件类型,事件可以是由 littleVGL 库自身触发的,也可以是由外部物理操作触发的,比如触摸,点击等等,当然了,我们也可以通过调用 lv_event_send 接口来手动发送事件进行触发,同时可以携带用户自定义的数据.Events的API接口主要数据类型事件数据类型enum

2021-02-14 16:37:37 4670 1

原创 LVGL笔记11--lv_btn按钮

LVGL笔记11–lv_btn按钮lv_btn是非常常用的控件,除了能显示文本,主要用途是用来和用户交互,实际上lv_btn按钮就是lv_cont容器的复杂变体,另外加上可选的子对象(最常用的是lv_label标签)共同构成了按钮控件按钮状态lv_btn按钮有五种状态:**LV_BTN_STATE_REL:**按钮的正常释放状态LV_BTN_STATE_PR: 按钮的正常按下状态LV_BTN_STATE_TGL_REL: 按钮的切换(Toggle)释放状LV_BTN_STATE_TG

2021-02-08 22:46:21 3693

原创 LVGL笔记10--lv_cont容器

LVGL笔记10–lv_cont容器​简介:所谓的容器就是一个载体,用来装东西的,在 littleVGL 中,可以用来存放各种各样的子对象,当子对象的数量越来越多时,子对象们在父容器中的排列方式就显得尤为重要,因此lv_cont 容器就有一个专门的 Layout 布局属性来约束子对象们的摆放,layout 布局间隙是由样式来控制的,具体表现style.body.padding 样式属性上,lv_cont 容器除了 layout 这个重要特性外,还有一个 Auto fit 大小自动适应的特性.只要弄懂了

2021-02-08 20:53:29 1927

原创 LVGL笔记9--lv_font字体

LVGL笔记9–lv_font字体LV_font简介​ LVGL支持的字体有很多,而且有很好的抗锯齿特性,常用的是1bpp\2bpp\4bpp,旧版本最高支持8bpp抗锯齿,但是在新版本已经不在支持了,选择的bpp值越大,消耗的flash资源越多,通常使用4bpp就能达到非常好的显示效果,使用1bpp表示不进行抗锯齿,bpp值在生成字体时就要选择好,在使用中应根据硬件平台实际性能进行选择。littleVGL支持UTF-8编码,可以实现全球所有的字符显示,而且还支持“图标字体”。LVGL支持的编码​

2021-02-08 20:36:12 7772

原创 LVGL笔记8--lv_style样式

LVGL笔记8–lv_style样式样式介绍​样式是用来修饰UI美观性,使用lv_style对UI界面进行重绘和重用,利用多个不同的样式来形成Theme对象。对于vl_obj基础对象而言,每个对象都有一个lv_style样式,但对于其他的控件(比如lv_btn按钮控件)可能拥有多个样式,因为一个稍微复杂的控件可能是由多个子部件组成,而每一个子部件可能都需要相应的样式来修饰,所以表面上看来这个控件拥有了多个样式。样式结构图主要数据类型边框部件数据类型//用于描述到底绘制哪几条边框,这些值可

2021-02-03 17:44:33 5283 1

原创 LVGL笔记7--lv_label标签控件

LVGL笔记7–lv_label标签控件标签控件介绍​ lv_label标签控件是LVGL中使用最频繁的控件,主要是用来显示文本信息的,可在程序运行中动态修改文本内容,支持换行显示、图标字体、部分文本重绘色、长文本显示、6种显示模式等功能lv_label控件的API接口长文本模式数据类型enum { LV_LABEL_LONG_EXPAND, LV_LABEL_LONG_BREAK, LV_LABEL_LONG_DOT, LV_LABEL_LONG_SRO

2021-02-01 20:01:32 7760 3

原创 个人笔记--FreeRTOS软件定时器

FreeRTOS软件定时器简介软件定时器的基本概念定时器:是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率。类似生活中的闹钟,我们可以设置闹钟每天什么时候响,还能设置响的次数,是响一次还是每天都响。硬件定时器:芯片本身提供的定时器,外部晶振输入提供时钟,通常精度高、中断触发方式软件定时器:是由操作系统提供的一类系统接口,构建在硬件定时器的基础上,使系统能够提供不受硬件定时器的资源限制的定时器服务,实现的功能与硬件定时器类似。软硬定时器使用区别:使用

2020-11-28 22:46:27 4678

原创 个人笔记--FreeRTOS事件标志组

FreeRTOS事件标志组简介事件的基本概念事件是一种实现任务间通信的机制,主要用于实现任务间的同步,与信号量不同的是:事件通信只能传输事件是否发生,不能传递数据。而且事件可以实现一对多,多对多的同步。一个任务可以等待多个事件的发送:可以是一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理,同样可以是多个任务同步多个事件事件组的优点:多个事件的集合叫做事件组通常编程时如果要定义一个标志位,最长用的类型是char类型,在STM32中,char类型要占用8位bi

2020-11-21 18:13:55 1020

转载 在VSCode中使用码云进行代码管理

【教程】在VSCode中使用码云进行代码管理前言本教程核心内容本文主要是整合了网上教程,从Git安装开始,配置关联本地仓库到码云,最终用上VScode这个流程。非常基础和简单,照着操作就行了。Git和Github的关系:Git是一个分布式的版本控制系统,只是软件,需要你下载装到电脑上,实现git功能。Github、BitBucket、Gitee基于git的项目托管平台,说白了是云服务器或云盘,存储分享你的代码,查看追更别人的代码。理解了这些,大概就能明白有一堆程序员所在的Github为什

2020-11-15 21:46:31 605

原创 个人笔记--FreeRTOS消息队列学习总结

FreeRTOS消息队列简介队列是为了任务与任务、任务与中断之间的通信而准备的。队列可以在任务与任务、任务与中断之间传递消息。队列中可以存储有限的、大小固定的数据项目。任务与任务、任务与中断之间要交流的数据保存在队列中,叫做队列项目。队列所能保存的最大数据项目的数量叫做队列的长度。创建队列时会指定数据项目的大小和队列的长度。由于队列是用来传递消息的所以队列也叫做 消息队列。FreeRTOS中的信号量也是通过队列实现的。队列功能数据存储多任务访问出队阻塞入队阻塞数据存储

2020-11-01 22:23:52 4741 1

原创 STM32F1xx的5个串口使用方法

STM32F1系列芯片的5个串口初始化方法(有的芯片引脚少,只有3个串口)串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口1-3是通用同步/异步串行接口USART(Universal Synchronous/ Asynchronous Receiver/ Transmitter)4、5是通用异步串行接口UART(Universal Asynchronous Receiver/Transmitter)配置串口包括三部分内容:I/O口配置:TXD配置为复用推挽输出(GP

2020-10-13 22:16:26 2384

原创 STM32串口通信详解(基本概念+易错点)

STM32串口通信详解串口通信是 串行通信里的 异步方式 涉及的几个基本概念【同步通信和异步通信】1. 同步和异步的区别:简单来说就是发送方和接收方按照同一个时钟节拍工作就叫同步, 发送方和接收方没有统一的时钟节拍,各自按照各自的节拍工作就叫做异步。 2. 同步通信:通信双方按照统一的节拍工作,所以配合很好;一般需要发送方给接收方发送信息的同时 发送时钟信号接收方根据发送方的时钟信号来接收数据。同步通信一般用在双方信息交换频率固定,或者经常通信.例如SPI、IIC通信。3. 异步通

2020-08-24 22:46:25 2700

原创 使用Markdown语法介绍markdown

Markdown简介简介Markdown是一种轻量级标记语言,它允许人们使用简单、易读、易写的纯文本格式编写文档。Markdown语言在2004年由约翰格鲁伯(英语JohnGruber)创建。Markdown编写的文档可以导出为HTML、Word、图像、PDF、Epub等多种格式的文档。Markdown编写的文档后缀为 .md 或 .markdownMarkdown的应用Markdown被用来撰写电子书,例如Gitbook。当前许多网站都使用Markdown来撰写帮助文档或是用来在.

2020-08-16 12:25:52 428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除