自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F4外部flash下载程序

若在接收过程中同时进行擦除和写入操作,会因耗时过长而增加丢包风险。因此,为了优化性能,避免丢包,并减少因串口中断引起的跨扇区写入问题,预先擦除Flash成为了关键步骤。

2024-06-29 16:31:20 368

原创 基于cc936.c的外部flash的GBK与Unicode相互转换

首先从文件系统fatfs里得到cc936.c,然后把这个c文件添加到自己的工程,再创建一个头文件cc936.h(其实不创建也可以),再把其中一个数组注释掉,修改ff_convert函数,还有另外一个函数我直接删掉了,然后再添加一个把数组写入flash的函数,就可以了。cc936.c里有两个87k的巨大数组,也就是GBK与Unicode的转换表,通过查表就可以得到转换之后的编码,但是由于数组太大了,每次下载程序都要多花一些时间,有些单片机甚至无法同时使用两个转换表。

2024-05-29 17:36:37 684 1

原创 STM32F4 bootloader程序

STM32的Bootloader主要负责在设备上电或复位后初始化硬件,然后加载并启动主应用程序。它还可以提供一些额外的功能,如通过串口、USB或其他接口进行程序烧录,支持固件升级,以及在开发过程中的调试。

2024-05-21 16:07:24 778

原创 C语言实现模拟内存池管理,可用于stm32等内存较少的环境中

但是这样有一个缺点,stm32的内存资源相对来说是比较少的,而动态分配内存的大小取决于 .s 启动文件的 Heal_Size 的大小,一般来说,stm32f407 默认的堆大小是0x200,也就是512字节。当想要动态分配1k或者更大的空间时,就可以修改 Heal_Size 的大小,但是 Heal_Size 太大的话,会影响单片机的性能。以stm32f407为例,有时候想动态内存使用,就可以使用malloc函数来分配空间,使用完之后再使用free函数释放掉。

2024-03-23 11:47:28 187

原创 环形缓冲区RingBuff

【代码】环形缓冲区RingBuff。

2024-03-20 14:25:35 194 1

原创 STM32F407 通用 串口初始化,一个函数解决

当我们同时使用多个串口资源的时候,一般来说会建立多个 c 文件,然后在每个c文件里写上大差不差的初始化过程,这时候代码就会显得很臃肿,那么有没有一个办法可以实现只使用一个初始化函数,解决所有串口的初始化呢?以下是我的一个不成熟的小想法,欢迎大佬提出修改意见。

2024-03-15 08:57:00 321 1

原创 STM32F407标准库作USB Host CDC 与广和通 mc665 AT通信

STM32f4移植官方USB Host CDC驱动,标准库

2024-03-11 15:42:17 1114

原创 浮点数与0比较

当误差小于最小精度的时候,认为两个浮点数相等。double最小精度1e-15。float最小精度为1e-6。

2023-08-14 20:57:53 105

原创 DEV C++实现链队,顺序队

【代码】DEV C++实现链队,顺序队。

2023-07-15 20:17:22 93 1

原创 DEV C++实现简单PID控制算法

【代码】DEV C++实现简单PID控制算法。

2023-04-11 19:12:24 268 3

原创 DEV C++双链表的一些基本操作

创建空链表 求长度 输出 后插法创建链表 查找第i个元素 插入 查找某个值的位置。删除 链表冒泡排序 两个无序链表 合并为一个有序链表。

2022-12-01 12:01:56 511

原创 DEV C++单链表的一些基本操作

初始化 按序号查找值 按值查找序号 插入 删除 前插法创建 后插法创建。求链表长度 数组冒泡排序 单链表冒泡排序 两个无序表合并到第三个表。

2022-11-29 12:39:55 562

原创 DEV C++顺序表的一些基本操作

DEV C++顺序表的一些基本操作

2022-11-28 23:55:59 646 2

STM32F4 bootloader程序

STM32的Bootloader主要负责在设备上电或复位后初始化硬件,然后加载并启动主应用程序。它还可以提供一些额外的功能,如通过串口、USB或其他接口进行程序烧录,支持固件升级,以及在开发过程中的调试。 本文章的bootloader实现以下功能: v1.0.0 正常bootloader启动,升级 v1.0.1 增加备份功能,每次升级之前,把旧的代码备份,以防升级失败无法启动系统,只需在等待bootloader启动期间通过串口发送use backup system即可启用备份的系统 v1.0.2 可在等待bootloader启动期间通过串口发送downloadfile即可发送升级.bin文件升级 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_51077

2024-05-21

STM32F407标准库作USB Host CDC 与广和通 mc665 AT通信

官方移植的标准库USB Host CDC例程,与广和通mc665通信,此工程已经移植好了,只需把调试串口添加上,确保USB引脚连接之后,直接食用,可换其他从机设备,此文件主要是成功移植了官方驱动库

2024-03-11

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

TA关注的人

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