自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 速通IIC

不论主机还是从机,它们的读取SDA线上的数据都是在SCL高电平。

2025-06-14 01:07:33 725

原创 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

原创 Bootloade和地址映射

512MB 代码区域512MB RAM区域。

2025-06-02 21:15:53 943

原创 查看剩余堆函数

【代码】查看剩余堆函数。

2025-05-18 22:01:33 256

原创 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算法积累

递归是“自我调用”的艺术,通过分解问题简化逻辑,但需警惕栈溢出和性能陷阱。

2025-03-30 15:16:06 462

原创 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

原创 C语言笔记

memsetstrcmp函数是C语言中的比较函数,用于比较两个字符串的大小。

2025-03-16 22:12:25 490

原创 蓝桥杯嵌入第七届

因为运行led和adc都是一秒所以把led灯放到adc里,led——display函数就负责串口和等级led。这里采用的是平均值滤波。

2025-03-04 22:09:41 400

原创 蓝桥杯嵌入式第六届

cube外设配置就不写了。

2025-03-04 21:24:02 281

原创 STM32智能家居 初步版本

PCB基于b站画卿师兄的进行修改,加了两排排针方便二次开发。

2024-11-15 16:00:27 495

原创 STM32平衡车

学完江科大做的一个项目,选择了做平衡车。我先把其中遇到的问题写出来,方便大家看代码。死区问题(这个很重要!!!)被这个折磨了很久,最后查询得知,可能因为电压不足等问题导致驱动电机的pwm不够进而影响平衡。解决方法:我采用的是软件上解决当然也有stm32硬件外设硬件上就可以解决。软件解决就很简单啦,在pwm基础上加上死区数值就可以了。

2024-10-10 20:40:35 696

原创 STM32F103C8T6

级联:在STM32当中扩展定时范围:单个定时器的定时长度可能无法满足某些应用的需求。通过级联,可以实现更长时间的定时高级定时器、通用定时器和基本定时器的结构图,看一下这三种定时器是怎么样来工作的,设计这些结构都能完成哪些任务。

2024-08-12 18:06:23 3009

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

TA关注的人

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