- 博客(18)
- 收藏
- 关注
原创 STM32F411+RTOS+LVGL
本文是记录STM32F411+RTOS+LVGL移植的过程本文采用的LVGL版本是8.2重点讲解LVGL文件的移植,RTOS移植参考其他博客。我是用CubeMX生成的,这里需要主要CubeMX生成的RTOS时基会自动选用systick所以我们还需要在用一个定时器做为HAL的时基参考文档:HAL时基和RTOS时基gitee链接下载地址:https://github.com/lvgl/lvgl下载完成后的文件如下:我们重点只需要LVGL\examples\portingsrclv_conf_
2025-06-09 00:05:33
1087
原创 FreeRTOS的Systick和HAL时基
在使用FreeRTOS时如果用会HAL相同的时基会导致错误在使用CubeMX配置生成FreeRTOS时会自动使用SYSTICK做为时基所以我们需要用另一个定时器来做为HAL的时基FreeRTOS时基的选择。
2025-06-05 20:13:53
416
原创 configASSERT函数
它在 FreeRTOS 内核的敏感操作(如任务调度、资源管理)中被调用,帮助开发者快速捕获潜在错误。: 关闭断言检查(默认行为)会隐藏潜在错误,导致系统在非法操作时行为不可预测(如内存越界、任务死锁)。: 将错误信息传递给自定义处理函数,可在此函数中记录日志、重启系统或触发安全机制。: 断言失败时打印错误信息(文件名和行号),关闭中断,并进入死循环。:验证函数参数的有效性(如指针非空、数值在合法范围内)。: 断言失败时禁用中断,并触发调试断点(如 ARM 的。,发布版本可关闭(但需确保代码鲁棒性)。
2025-05-18 22:00:43
510
原创 xTaskCreateStatic和xTaskCreate中的定义栈大小
在 FreeRTOS 中,用于静态创建任务,其栈空间和任务控制块(TCB)由用户预先分配(如全局数组),无需动态内存分配。虽然栈空间已静态分配,但参数。
2025-05-18 21:59:10
360
原创 FreeRTOS中的内存管理
所有区域共享芯片的物理 RAM 总量,任一区域占用过多都会导致其他区域空间不足。:两者共享同一物理 RAM 空间,动态堆设置过大会直接减少静态内存的可用空间。此宏定义是对于动态创建**用的堆也就是空间。:包括全局变量、静态任务栈、硬件寄存器缓冲区等。定义,用于动态创建对象(任务、队列等)。:如 Bootloader、安全存储区等。:主栈(Main Stack)和任务栈。:用户显式定义的全局数组或静态变量(如。
2025-05-18 21:57:55
202
原创 HAL_UARTEx_ReceiveToIdle_IT HAL_UARTEx_RxEventCallback 和HAL_UART_Receive_IT HAL_UART_RxCpltCallback
【代码】HAL_UARTEx_ReceiveToIdle_IT HAL_UARTEx_RxEventCallback 和HAL_UART_Receive_IT HAL_UART_RxCpltCallback。
2025-04-03 22:17:53
2043
原创 C数据结构
想申请一块内存存储 int 类型的数据,通过声明传达给内存管理器,内存管理器便开辟一块 4 字节的空地---地址是 217,内存管理器将这个地址返回给应用程序,可以用来储存任何数。现在又申请一个 int 类型数组其中有 4 个数据,int[4],内存管理器便为其开辟一块空间现在想要扩展这个数组,但是附近的地址已经被用了,内存管理器不能为其扩展只能为其复制这个数组再在一个新的空间创建数组,但这有成本--要复制所有内容1.多次复制、释放内存,导致效率低下。2.新分配内存过小不足以容纳,过大浪费空间。
2025-03-30 15:15:23
491
原创 蓝桥杯第十二届
最后是串口的编写,也是最难的部分,这套题学会了goto的用法,strcmp函数,巩固了memset函数。之前按键一直用的定时器更新中断来检测,提交到4t测试发现不行,而后参考。需要先编写四个函数,个人觉得这俩函数很有移植的价值,写法可以学习一下。采用结构数组来构建8个停车位的数据。
2025-03-16 22:32:56
289
原创 蓝桥杯嵌入第七届
因为运行led和adc都是一秒所以把led灯放到adc里,led——display函数就负责串口和等级led。这里采用的是平均值滤波。
2025-03-04 22:09:41
400
原创 STM32平衡车
学完江科大做的一个项目,选择了做平衡车。我先把其中遇到的问题写出来,方便大家看代码。死区问题(这个很重要!!!)被这个折磨了很久,最后查询得知,可能因为电压不足等问题导致驱动电机的pwm不够进而影响平衡。解决方法:我采用的是软件上解决当然也有stm32硬件外设硬件上就可以解决。软件解决就很简单啦,在pwm基础上加上死区数值就可以了。
2024-10-10 20:40:35
696
原创 STM32F103C8T6
级联:在STM32当中扩展定时范围:单个定时器的定时长度可能无法满足某些应用的需求。通过级联,可以实现更长时间的定时高级定时器、通用定时器和基本定时器的结构图,看一下这三种定时器是怎么样来工作的,设计这些结构都能完成哪些任务。
2024-08-12 18:06:23
3009
51单片机蓝牙连接手机控制舵机,求解。同志们,非常困难
2024-04-04
VScode写五子棋遇到问题
2024-03-17
51单片机江科大 求解答取反为什么数码管不用取反
2024-03-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅