LVGL库文件 LVGL文件精简 打开从官网下载的LVGL代码,下图是删减后的文件夹,demos文件也可以删除,看你需不需要官方例程: 点开examples文件夹,删除除了porting文件夹外的所有文件: LVGL文件精简就完成了。
LVGL移植关键点 显示:LVGL作为一个GUI,肯定是需要“屏幕”的,LVGL中提供了屏幕的接口文件,我们需要把自己的显示设备和LVGL库接起来的话,就需要在这个接口文件里去配置自己的一些函数。 输入设备:如果你需要使用输入设备的话,例如键盘、鼠标、触控或者是编码器,那么你就需要去LVGL
前言 LCD的驱动,我前面已经通过更改FSMC的配置,提高了屏幕的刷新率,现在我想要在屏幕上显示中文,但是屏幕官方并没有提供中文打印的函数,所以需要我自己去写,现在我要开始解析打印ASCII码的逻辑,顺着这个逻辑写一个打印汉字的驱动。 正篇 解析库函数 首先,让我们来看 lcd_sh
前言 和大家一样,我之前也没有接触过FSMC,只是在使用LCD屏幕的时候,LCD驱动里会有FSMC的相关配置。 是什么驱使我使用标准库来配置FSMC来解决LCD呢?那肯定是因为厂家给的驱动配置不好用呗,给了寄存器和HAL的配置驱动,唯独没有给标准库的驱动,而且寄存器的LCD驱动给的屏幕延时太
前言 我们使能串口怎么使能? 无非是开启时钟、配置GPIO、配置USART、配置中断、写中断函数。 但如果你书写的代码都没有问题,而串口时而可以发送,时而又是乱码,时而半乱不乱,怎么回事呢? 几乎可以肯定,是因为时钟频率的问题。 而接下来就是要详细的说明如何调试我们
RTOS介绍 对于裸机而言,程序是在一个大循环while()中,执行逻辑是顺序执行,只有执行了上方的语句,才能执行下方的语句,无法实现多线程的操作。 RTOS是一个实时操作系统(类似linux),他对于不同的语句,可以创建不同的任务,并且这些任务可以同时运行,即同时处理不同的事情。 R
任务调度器 所谓任务调度器,其实就是使用一些调度算法来决定当前需要执行哪一个任务。 我们RTOS会创建很多个任务,这个任务我们同一时刻只能执行1个,执行哪一个呢?就是由调度算法来决定的。 FreeRTOS支持三种任务调度模式: 抢占式调度:主要是针对优先级不同的任务,每个任务都有
FreeRTOS源码 下载 -> FreeRTOS文件夹 -> Source文件夹 : 我们需要include文件夹,里面包含了FreeRTOS的头文件。 我们需要portable文件夹,里面包含了FreeRTOS的移植文件。 我们需要list.c、queue
任务创建和删除API 任务创建是我们要学习的第一个API函数,而任务创建也是众多API函数中,最复杂的一个。 任务的创建和删除本质就是调用FreeRTOS的API函数。 动态创建任务:任务的任务控制块以及任务的栈空间所需的内存,均由 FreeRTOS 从 FreeRTOS 管理
任务挂起与恢复API 挂起任务和删除任务有什么不同? 挂起任务类似暂停,可恢复; 删除任务,无法恢复,类似“人死两清。 有很多API函数都带有FromISR后缀,带FromISR后缀是在中断函数中专用的API函数 。 任务挂起函数 void vTaskSuspend(Tas