首先 STM32 要支持,F4 以上部分型号支持。 CCM-SRAM 通过专用的总线与 Cortex-M4 内核直接相连,绕过了 AHB 总线矩阵。这意味着它可以实现零等待周期的访问,提供最高的访问速度和确定性。 因此 DMA 无法访CCM-SRAM 只能被 Cortex-M4 内核访问,不能被 D
【二叉树&完全二叉树 - 定义, 性质】https://www.bilibili.com/video/BV1eQ3RzxEoS?vd_source=fbeb6e86c394ad3c4e7b510014b4addc 二叉树: 每个结点最多两个分叉 左右子树不能相交 完全二叉树:除了最后一层,其它层都是
Source Insight 用于阅读和编辑源码,如 Linux 内核、FreeRTOS 等。 Ctrl+滚轮,调整界面缩放。 Source Insight 4.0的日常使用操作(保姆级)-CSDN博客 新建工程 1、【Project】【New Project】 2、
手动触发上下文切换 像信号量等阻塞的,当满足条件不阻塞了,要调用这个,让高优先级的任务抢占。 #if (configUSE_PREEMPTION == 0) /* 如果使用协作式调度(cooperative scheduling), * 那么就算有更高优先级的任务被唤醒,也不应该立即触发一次调度
队列必须掌握,这是其它的基石,不理解这个,其它的源码也看不懂。 queue.c、queue.h 队列结构体: typedef struct QueueDefinition { int8_t *pcHead; // 队列存储区开始地址 int8_t *pcWriteTo; //
列表是 FreeRTOS 系统各种功能实现的的基础,本质上是一个双向循环链表。 类型定义 列表类型: typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VALUE volatile UBaseT
使用内置字体 LVGL内置字体和图标:Font (lv_font) - LVGL 9.4 documentation 自带的字体如果使用的话,在 lv_conf.h 文件中设置为 1: #define LV_FONT_MONTSERRAT_8 0 #define LV_FONT_MONTSERRAT
创建动画 //(1) static lv_anim_t anim_template; static lv_anim_t * running_anim; lv_anim_init(&anim_template); //(2)必须的设置 /* Set the "animator" functi
基于 V9.4 版本 图层 LVGL具有图层概念,从顶层到底层依次是 sys_layer、top_layer、act_scr。 sys_layer:系统层,比如鼠标、光标、滚动条等始终可见的。不理解 top_layer:一些浮动控件,比如