- 博客(114)
- 资源 (8)
- 收藏
- 关注
原创 LVGL v9教程开始更新!LVGL从入门到项目开发课程:入门、进阶、项目实战一站式教程
LVGL系列 从入门到项目开发课程:入门、进阶、项目实战一站式教程
2024-04-03 10:05:58 799
原创 FreeRTOS入门与工程实践(文档+入门视频教程+进阶视频教程,非常详细!)
嵌入式软件工程师的学习路线一般是:单片机->RTOS->Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。
2023-09-12 22:53:50 1657
原创 瑞萨MCU入门教程(非常详细的瑞萨单片机入门教程)
得益于瑞萨强大的MCU、强大的软件开发工具([e² studio](https://www.renesas.cn/cn/zh/software-tool/e-studio)),也得益于瑞萨和RA生态工作室提供的支持,我们团队编写了《ARM嵌入式系统中面向对象的模块编程方法》,全书37章,将近500页:- 讲解面向对象编程在单片机开发中的使用- 结合FSP软件包实例分析外设驱动- 讲解如何使用RASC配置片上设备- 教你如何编写面向对象编程- 更讲解如何操作外接的模块:引入大型项目中的编程思想
2023-09-09 17:24:12 7794
原创 瑞萨GUI(LVGL)入门移植实战教程基于e² studio(更新完结!)
本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 ,LVGL版本 V8.3.8。如果你想熟悉瑞萨的e² studio以及FSP,那么本教程也能也能为你提供很好的入门以及使用指导。教程理论与实践相结合带你走进 LVGL 、完成 LVGL 的移植(移植、显示、触摸与按键控制)!
2023-09-09 16:28:37 378
原创 freeRTOS从入门到进阶提升系列教程:入门文档+视频教程+进阶视频教程(全部免费的freeRTOS系列教程、freeRTOS学习路线)
本教程是freeRTOS的系统教程,学完之后可达到中高级freeRTOS工程水平。教程分为三部分:学前知识普及->初级文档教程->进阶(高级)视频教程......
2021-12-21 18:55:01 3004 5
原创 LVGL视频课程更新啦,基于lvgl v8.2版本,课程适配多个平台、多款板子
视频教程观看 百问网LVGL(v8)系列课程(韦东山·监制) 教程基于lvgl v8.1版本,课程适配多个平台、多款板子 视频地址:https://www.bilibili.com/video/BV1Ya411r7K2视频教程配套资料https://gitee.com/weidongshan/lvgl_100ask_course_materials学习资源lvgl官方英文原
2021-12-10 12:01:42 1505
原创 LVGL|lvgl v8教程(lvgl中文文档学习教程,开始更新lvgl v8.x文档教程,超详细)
lvgl v8.x版本文档教程。lvgl官方的教程是英文的,这个是我在做项目时根据lvgl官方文档做出来的lvgl中文文档(持续更新维护),不仅仅只是生硬照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文档更加适合我们在实际开发中的需求。
2021-07-23 17:31:22 57035 28
原创 LVGL|lvgl中文教程手册(lvgl中文文档学习教程)
lvgl官方的教程是英文的,这个是我在做项目时顺便做出来的中文教程站点(持续更新维护),不仅仅只是照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文档更加适合我们在实际开发中的需求。V7.11中文已经更新完成,v8.1中文更新进行中。LVGL是什么?LVGL(轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。
2021-03-19 08:25:14 113271 15
原创 如何更新Code::blocks的MinGW
LVGL V9版本更新了很多新特性,其中windows平台部分也进行了优化,如果你是用的是那么在编译时会不通过;因为如果你使用的是并且使用内置的MinGW那么就会遇到下面所示的问题,这个时候就需要更新MinGW。
2024-04-05 21:09:39 1274 4
原创 LVGL(官方)文档上线中文翻译版本!翻译由百问网提供、管理,欢迎大家阅读!
LVGL(官方)文档上线中文翻译版本!翻译由百问网提供、管理,欢迎大家阅读!
2024-03-14 16:29:13 804
原创 LVGL windows模拟器(CodeBlocks)已更新到V9.0.0版本,支持更多特性!
LVGL windows模拟器(CodeBlocks)已更新到V9.0.0版本,支持更多特性!
2024-01-30 14:28:03 1233 1
原创 基于LVGL编写的windows串口工具: LCOM
一直以来我都想用LVGL做一个真正意义上的PC软件,来验证或者表达LVGL出色的特性,现在我用LCOM做到了!LCOM 是一个基于LVGL编写的串口工具,界面简洁,功能出色,并且上手简单。
2024-01-12 18:50:32 1247 1
原创 第37章_瑞萨MCU零基础入门系列教程之DAC数模转换模块
核心芯片是TLC5615,主机通过SPI接口发出一个数字量,TCL5615将数字量转化为模拟量,并通过OUT引脚输出模拟电压来点亮LED。通过LED的亮度形象地感受DAC的效果。这个模块的参考电压是2.048V,可以输出的最大电压是2倍参考电压,即4.096V。TLC5615是一个10bit的DAC转换芯片,用户需要将需要转换的数字量左移2bit后再通过SPI发送给TLC5165,数据格式和转换关系如下图所示:
2023-09-14 22:26:58 984
原创 第36章_瑞萨MCU零基础入门系列教程之步进电机控制实验
本书使用的步进电机型号是28BYJ-48,它是一款常见的步机电机,其名称的含义为外径28毫米四相八拍式永磁减速型步进电机。型号的含义如下:- 28:步进电机的有效最大外径是28毫米- B:表示是步进电机- Y:表示是永磁式- J:表示是减速型(减速比1:64)- 48:表示四相八拍先说什么是“4相永磁式”的概念,28BYJ-48 的内部结构示意图如下所示。
2023-09-14 22:22:55 861
原创 第35章_瑞萨MCU零基础入门系列教程之ADXL345三轴传感器驱动实验
ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达±16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。该器件提供多种特殊检测功能。活动和非活动检测功能:通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能:可以检测任意方向的单振和双振动作。自由落体检测功能:可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。
2023-09-14 10:03:47 980
原创 第34章_瑞萨MCU零基础入门系列教程之SR04超声波测距实验
超声波测距模块是利用超声波来测距。模块先发送超声波,然后接收反射回来的超声波,由反射经历的时间和声音的传播速度340m/s,计算得出距离。SR04是一款常见的超声波传感器,模块自动发送8个40KHz的方波,自动检测是否有信号返回,用户只需提供一个触发信号,随后检测回响信号的时间长短即可。SR04采用5V电压,静态电流小于2mA,感应角度最大约15度,探测距离约2cm-450cm。
2023-09-13 23:12:34 878
原创 第33章_瑞萨MCU零基础入门系列教程之DHT11温湿度获取实验
DHT11是一款可测量温度和湿度的传感器。比如市面上一些空气加湿器,会测量空气中湿度,再根据测量结果决定是否继续加湿。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,具有超小体积、极低功耗的特点,使用单根总线与主机进行双向的串行数据传输。DHT11测量温度的精度为±2℃,检测范围为-20℃-60℃。湿度的精度为±5%RH,检测范围为5%RH-95%RH,常用于对精度和实时性要求不高的温湿度测量场合。
2023-09-13 23:11:31 603
原创 第32章_瑞萨MCU零基础入门系列教程之DS18B20温度获取实验
DS18B20温度传感器具有线路简单、体积小的特点,用来测量温度非常简单,在一根通信线上可以挂载多个DS18B20温度传感器。用户可以通过编程实现9~12位的温度读数,每个DS18B20有唯一的64位序列号,保存在rom中,因此一条总线上可以挂载多个DS18B20。温度寄存器格式如下表所示:
2023-09-13 23:09:12 445
原创 第31章_瑞萨MCU零基础入门系列教程之WIFI&蓝牙模块驱动实验
本章目标了解WiFi蓝牙芯片W800的通信协议;学会使用串口收发AT指令实现开发板联网
2023-09-13 23:07:50 1114 1
原创 第30章_瑞萨MCU零基础入门系列教程之IRDA红外遥控实验
NEC协议是众多红外遥控协议的其中一种,除NEC外,还有RC5、RC6等协议。市面上买到的非学习型万能电视遥控器大多集成一种或多种编码,一般都支持NEC协议。NEC编码的一帧(通常按一下遥控器按钮所发送的数据)由引导码、地址码及数据码组成,如下图所示,把地址码及数据码取反的作用是验证数据的正确性。
2023-09-13 23:06:30 901
原创 第29章_瑞萨MCU零基础入门系列教程之改进型环形缓冲区
环形缓冲区是一个先进先出(FIFO)的闭环的存储空间。通俗的理解为,在内存中规划了一块“圆形”的地,将该“圆形”进行N(Ring Buffer的大小)等分,如下图所示:但是实际上,处理器的内存不可能是这样一个闭环的存储方式,而是一片连续的,有起始有结束的空间:开发者在程序中只能申请一段有头有尾的内存,通过软件设计将这片内存实现为一个环形的缓冲区。
2023-09-13 23:04:29 448
原创 第28章_瑞萨MCU零基础入门系列教程之基于面向对象的工程结构
在前面的章节里,讲解了瑞萨RA6M5的常用外设,重点在于模块的操作原理、如何使用RASC进行配置、如何编写程序。这些模块功能单一,RASC生成的代码封装良好,也是基于面向对象的思想构造了对应的结构体。但是在使用这些模块时,我们没有特意使用面向对象的思想来写程序。本章之后的内容,将会在FSP所提供的HAL库基础上,去操作更丰富的模块。这些模块的驱动程序,不应该跟底层的HAL库紧密绑定:比如温湿度传感器DHT11的驱动程序,既可以在RA6M5上运行,也能够非常容易地移植到其他平台上。在编写模块驱动程序时,就
2023-09-13 23:02:24 1072
原创 第27章_瑞萨MCU零基础入门系列教程之freeRTOS实验
本章目标- 学会使用RASC创建一个基于freertos的工程;- 学会使用RASC创建freertos任务,体验RTOS的多任务调度;
2023-09-13 23:00:05 1137
原创 第26章_瑞萨MCU零基础入门系列教程之独立看门狗定时器-IWDT
IWDT (Independent Watchdog Timer)由一个14位的向下计数器组成,可以将应用程序从错误中恢复处理(比如重启系统)。应用程序必须在允许的计数窗口内进行刷新计时器,如果计数器下溢了,IWDT将复位MCU或生成不可屏蔽中断(NMI)。瑞萨RA6M5处理器的看门狗定时器的特性见下表:
2023-09-13 22:58:27 910
转载 第25章_瑞萨MCU零基础入门系列教程之看门狗定时器-WDT
一般来说,看门狗也叫看门狗定时器,从本质上面来看,其实它就是一个计数器,在使用的时候,需要给它一个数值,随后看门狗的计数器根据计数方向开始累计,在看门狗的计数器达到预设的数值之前,可以进行重置看门狗计数器的操作,也就是俗称的“喂狗”。如果没有在计数器发生溢出之前喂狗的话,看门狗就会产生复位请求或者不可屏蔽中断请求(NMI-Non Maskable Interrupt),这会导致系统重启。瑞萨RA6M5处理器的看门狗定时器的特性见下表:
2023-09-13 22:56:58 782
原创 第24章_瑞萨MCU零基础入门系列教程之内部温度传感器-TSN
TSN本身集成在瑞萨RA6M5的ADC模块之中,使用TSN其实就是使用ADC0或ADC1里面的TSN通道而已。不需要在FSP的Pins中添加TSN引脚,只需要在ADC的Stack模块中,依次进入如下配置界面:Module->Input->Channel Scan Mask,勾选“Temperature Sensor”,其它的配置和《第23章ADC与DSP》里对于ADC的配置一样。
2023-09-13 22:55:49 856
原创 第23章_瑞萨MCU零基础入门系列教程之ADC与DSP
自然界的信号几乎都是模拟信号,比如光亮、温度、压力、声音,而为了方便存储、处理,计算机里面都是数字的0/1信号,将模拟信号(连续信号)转换为数字信号(离散信号)的器件就叫模数转换器(Analog-to-Digital Converter,ADC)。按原理可分为:并行比较型A/D转换器(FLASH ADC)、逐次比较型A/D转换器(SAR ADC)和双积分式A/D转换器(Double Integral ADC)。A/D转换过程通常为4步:采样、保持、量化和编码。如下图所示,
2023-09-13 22:52:49 1684 1
原创 第22章_瑞萨MCU零基础入门系列教程之DMA控制器
DMA(Direct Memory Access)直接内存访问,可以大大减轻CPU工作量。CPU执行的众多指令中,有的用于计算、有的用于控制程序、有的用于转移数据等。其中转移数据的指令,尤其是转移大量数据,会占用大量CPU。如果是把外设A的数据,传给外设B,这种情况其实不需要CPU一直参与,只需在A、B之间创建个通道,让它们自己传输即可。这就是DMA设计的目的,在进行大量数据转移时较少CPU的干预,让DMA专注于数据转移,让CPU专注于计算、控制。DMA主要实现将A处的数据直接搬运到B处,这里的A、B可
2023-09-13 22:51:04 1448
原创 第21章_瑞萨MCU零基础入门系列教程之事件链接控制器ELC
ELC:Event Link Controller,事件链接控制器。它用于链接芯片上两个不同的外设,通过外设A的某个中断事件触发外设B去执行某个动作,这个过程是通过芯片内部硬件信号的连接完成的,不需要占用CPU资源。因而ELC可以帮助开发者完成许多同步触发的工作,而不会引起CPU资源的过多浪费。ELC支持的事件类型多达219种。当产生了一个ELC事件的时候,也可以触发激活DTC功能。
2023-09-13 22:48:13 1225
原创 第20章_瑞萨MCU零基础入门系列教程之DAC输出模拟信号
计算机里处理的都是数字0/1信号,而自然界几乎都是模拟信号,比如音频信号、无线传输信号等,这就要求计算机具有模拟信号的输出能力,将数字信号(离散信号)转换为模拟信号(连续信号)的器件就叫数模转换器(Digital-to-Analog Converter,DAC)。按原理可分为:Nyquist型和过采样型。Nyquist型转换器按其结构又可大致分为电阻分压型、R_2R型、电荷分配型和电流驱动型。下图所示为DAC转换过程,输入的数字编码Din(dn1 : d0),按其权值大小转换成相应的模拟量并相加,相
2023-09-13 22:45:24 1004
原创 第12章_freeRTOS入门与工程实践之信号量的特性
信号量这个名字很恰当:- 信号:起通知作用- 量:还可以用来表示资源的数量 - 当"量"没有限制时,它就是"计数型信号量"(Counting Semaphores) - 当"量"只有0、1两个取值时,它就是"二进制信号量"(Binary Semaphores)- 支持的动作:"give"给出资源,计数值加1;"take"获得资源,计数值减1计数型信号量的典型场景是:- 计数:事件产生时"give"信号量,让计数值加1;处理事件时要先"take"信号量,就是获得信号量,让计数值减1。
2023-09-12 23:48:51 262
原创 第11章_freeRTOS入门与工程实践之队列(queue)
队列(queue)可以用于"任务到任务"、"任务到中断"、"中断到任务"直接传输信息。本章涉及如下内容:- 怎么创建、清除、删除队列- 队列中消息如何保存- 怎么向队列发送数据、怎么从队列读取数据、怎么覆盖队列的数据- 在队列上阻塞是什么意思- 怎么在多个队列上阻塞- 读写队列时如何影响任务的优先级
2023-09-12 23:47:53 278
原创 第10章_freeRTOS入门与工程实践之同步互斥与通信
本章是概述性的内容。可以把多任务系统当做一个团队,里面的每一个任务就相当于团队里的一个人。团队成员之间要协调工作进度(同步)、争用会议室(互斥)、沟通(通信)。多任务系统中所涉及的概念,都可以在现实生活中找到例子。各类RTOS都会涉及这些概念:任务通知(task notification)、队列(queue)、事件组(event group)、信号量(semaphoe)、互斥量(mutex)等。我们先站在更高角度来讲解这些概念。
2023-09-12 23:46:27 343
原创 第9章_freeRTOS入门与工程实践之任务管理
在本章中,会涉及如下内容:- FreeRTOS如何给每个任务分配CPU时间- 如何选择某个任务来运行- 任务优先级如何起作用- 任务有哪些状态- 如何实现任务- 如何使用任务参数- 怎么修改任务优先级- 怎么删除任务- 怎么实现周期性的任务- 如何使用空闲任务
2023-09-12 23:45:18 337
原创 第8章_freeRTOS入门与工程实践之内存管理
后续的章节涉及这些内核对象:task、queue、semaphores和event group等。为了让FreeRTOS更容易使用,这些内核对象一般都是动态分配:用到时分配,不使用时释放。使用内存的动态管理功能,简化了程序设计:不再需要小心翼翼地提前规划各类对象,简化API函数的涉及,甚至可以减少内存的使用。内存的动态管理是C程序的知识范畴,并不属于FreeRTOS的知识范畴,但是它跟FreeRTOS关系是如此紧密,所以我们先讲解它。在C语言的库函数中,有mallc、free等函数,但是在FreeR
2023-09-12 23:43:44 363
原创 第7章_freeRTOS入门与工程实践之模块使用说明与STM32CubeMX配置
使用STM32CubeMX创建的FreeRTOS工程中,FreeRTOS相关的源码如下:
2023-09-12 23:40:31 455
原创 第6章_freeRTOS入门与工程实践之创建FreeRTOS工程
双击运行STM32CubeMX,在首页面选择“Access to MCU Selector”,如下图所示:然后来到MCU选型界面,在序列号那里输入想要开发的芯片,例如STM32F103C8T6:
2023-09-12 23:38:54 348
原创 第5章_freeRTOS入门与工程实践之模块使用说明与STM32CubeMX配置
对于每一个模块,我们都编写了驱动程序。这些驱动程序依赖于STM32CubeMX提供的初始化代码。比如driver_oled.c里面要使用I2C1通道,I2C1的初始化代码是STM32CubeMX生成的:MX_I2C1_Init被用来初始I2C1本身,HAL_I2C_MspInit被用来初始化I2C引脚。driver_oled.c只使用I2C1的函数收发数据,它不涉及I2C1的初始化。换句话说,你要在自己的工程里使用driver_oled.c,还需要初始化相应的I2C通道、引脚。
2023-09-12 23:31:53 434
在 esp32 上运行 lvgl + freetype
2023-08-29
lv_100ask_nes_sim_codeblocks_win
2022-07-27
lv_100ask_nes_port_linux_frame_buffer
2022-07-27
lv_sim_codeblocks_win.zip
2022-01-07
lv_sim_codeblocks_win(lvgl 8.0).zip
2021-08-06
pico-setup-windows【v0.2稳定版本】.zip
2021-04-07
STM32 LVGL-基于100ASK-STM32-F103ZET6开发板的lvgl(v7.11.0)综合例程
2021-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人