自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (6)
  • 收藏
  • 关注

原创 FlashDB的TS数据库的标准ANSI C移植验证

1、引言本文目录1、引言2、环境准备3、修改驱动4、验证暂无,可以关注我的B站账号等待更新。1、引言在当今数据驱动的时代,高效可靠的数据存储与管理对于嵌入式系统及物联网(IoT)应用至关重要。FlashDB数据库以其轻量级、高性能和低功耗的特性,在资源有限的嵌入式环境中脱颖而出。由于最近需要在项目上进行日志存储,所以选择FlashDB的ts数据进行日志存储。今天在标准ANSI C环境中进行验证。2、环境准备。

2024-06-14 14:04:52 939 1

原创 移植fatfs制作内存文件系统

这一实践不仅有助于理解FatFs的工作机制,也为开发者提供了一个高效测试和验证FatFs配置的平台。:使用f_open函数创建一个新文件或打开已存在的文件,然后使用f_write函数将数据写入文件。文件进行了微调,并将不同的设备驱动,放在别的文件了(利于软件分层)。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!点击图中的橙色框,进行下载,注意下载的为R0.15版本。文件中,这个版本的fatfs提供了三种类型的驱动接口,暂无,可以关注我的B站账号等待更新。

2024-06-14 13:35:05 729

原创 纯C实现的ymodem库,无额外依赖

YMODEM使用数据包进行文件传输,每个数据包通常为1024字节(1KB),比XMODEM的128字节要大得多,从而提高了传输效率。通过这种方式,YMODEM协议实现了可靠且高效的文件传输,适用于需要稳定数据传输的嵌入式系统和其他应用场景。接收方接收到EOT信号后,返回一个ACK信号确认,并等待下一个文件的头文件数据包,或者断开连接。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!发送方和接收方建立连接后,发送方首先发送一个包含文件信息的头文件数据包。

2024-06-13 19:10:55 1581 9

原创 Lua实现自定义函数面向对象编程

通过实际的代码示例和详细的解释,您将学会如何在Lua中创建类和对象、实现继承和封装等OOP概念,从而为您的Lua项目增添更强大的结构和功能。Lua作为一种轻量级且灵活的脚本语言,虽然没有内置的面向对象编程(OOP)支持,但其强大的表(table)机制和元表(metatable)特性使得我们可以通过特定的编程模式来模拟OOP。通过这些代码示例,我们可以看到,尽管Lua没有原生支持OOP,但通过灵活运用表和元表,我们可以有效地实现面向对象编程,为代码带来更高的可读性和可维护性。希望大家给我的文章和B站视频。

2024-06-13 18:33:23 997

原创 在Lua解释器中注册自定义函数库

在这种情况下,开发者需要将自定义函数库注册到Lua解释器中,从而扩展其功能,满足特定的应用场景。每个函数必须遵循Lua规定的函数签名,即返回类型为int,参数为lua_State*。编写库的注册函数:该函数会将函数表注册到Lua解释器中。通常,这个函数会调用luaL_newlib或luaL_register(取决于Lua的版本)来创建一个新的Lua表,并将所有函数添加到这个表中。在Lua解释器中注册自定义函数库的过程实际上是将C/C++等其他语言编写的函数暴露给Lua脚本,以便Lua能够调用这些函数。

2024-06-13 18:16:58 879

原创 在Lua解释器中注册自定义函数

如国这个注册的lua函数存在参数输入,在Lua中调用C函数时,所有参数都通过栈传递。在C函数中,将结果返回给Lua时,需要将结果压入栈中,并且返回结果的数量。但只是开始,我们移植lua解释器更多的是为了能让lua解释器能控制我们的硬件或者逻辑,这样lua与底层C语言的交互就尤其重要了。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!第二个参数是lua解释器中的别名,第三个是C语言中的函数指针。这个函数返回当前栈的大小,也就是传递给函数的参数个数。

2024-06-13 08:36:20 908

原创 Lua解释器裁剪

这个图上记录了5.4.6版本中所有Lua解释器源码对应的作用,其中棕色的标记的文件就是我们此次要进行裁剪的功能对应的文件。:根据特定应用场景的需求,裁剪解释器可以集成特定的C库或功能,实现高度定制化的解决方案,提高软件的适应性和灵活性。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!关于lua解释器的裁剪就完成了,对其裁剪有利于嵌入式的应用,满足更多的使用场景。所有的测试仍然可以通过,说明我们的裁剪没有对我们需要的功能造成影响。

2024-06-12 19:45:36 1022

原创 Lua移植到标准ANSI C环境

这个Lua脚本验证了我们需要的基本语法、数据类型、变量、循环、流程控制、函数、运算符、字符串、数组、迭代器、table(表)、元表(Metatable)、错误处理、垃圾回收、面向对象等功能。复制项目构建模板,修改名字,修改CMakeLists.txt和kconfig文件,方便后续模块化移植到自己的项目中,目录结构如下。由于我在window环境下,我可以很轻松的打开文件,所以直接采用的文件读取的方式执行。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!

2024-06-08 15:48:34 1002

原创 Doxygen自动生成api接口文档

它从源代码注释自动生成文档,解析类、函数和变量的信息,以生成HTML和PDF等格式的输出。通过简化和标准化文档过程,Doxygen增强了跨不同编程语言和项目规模的协作和维护。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!在生成目前下会生成对应的文件(前面选择了哪些文件输出,就会输出哪些),然后回车,就会快速生成对应的格式的注释框架,手动填充完整就好。如果不愿意手动写注释,可以去看看这篇文档,使用AI自动完成注释。暂无,可以关注我的B站账号等待更新。

2024-05-31 10:34:50 443

原创 AI自动生成注释(通义灵码)

在写代码时,总是不想写注释,甚至不屑于写注释。但当后面别人阅读你的代码时,就会懵逼,甚至几个月后,自己看到也懵逼。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!这个时候,就需要一个AI,帮你搞定注释:通义灵码!选择对应的函数,点击函数上方的下来框,选择"生成注释"点击下图这个按钮,将没有注释的代码替换成有注释的代码。打开VS Code,应用商店搜索通义灵码,安装插件。登录对应的账号,登录成功即可返回。

2024-05-30 18:27:44 427

原创 基于RFC5424的Syslog的介绍和自制日志组件

那问题就来了,不同的项目,采用不一样的日子格式,那大家的日志就不通用,查看起来会很麻烦。通一个系统下的不同设备采用不同的日志格式,那最后日志信息汇总时,五花八门的日志格式会让人眼花缭乱。同时,自定义的日志格式如果没有特定的上位机解析软件,那日志的查看筛选将变得十分负责。时间流逝、年龄增长,是自己的磨炼、对知识技术的应用,还有那不变的一颗对嵌入式热爱的心!所以,syslog来了,一个标准的、通用的日志格式框架。3、基于RFC5424的syslog详解。

2024-05-30 13:12:12 523

原创 可用于嵌入式的解释器调研对比,及lua解释器介绍

介绍可应用于嵌入式的解释器

2024-05-29 17:36:54 966

原创 Cmake+Kconfig项目构建

提供了用于cmake和Kconfig协同配置的工程模板 利用kconfig生成的配置关键字,用于控制camke的编译过程 同时关键字产生对应的宏定义,用于对应的代码实现

2024-04-02 14:34:38 858

原创 sline--简单的命令行工具

sline"这个名字是由"command line”(命令行)这个概念派生而来的。它将"command line"的首字母"C"替换为"S",形成了"sline"。"sline"是一种简化和易于使用的命令行工具。它可能提供了更简洁、直观的命令语法和界面,帮助用户更轻松地执行各种操作。"sline"可能通过减少冗余的命令参数、提供快捷键或别名、自动补全等功能,简化了命令行操作的复杂性,使用户能够更高效地使用命令行工具。

2023-06-11 22:21:27 261

原创 socket编程学习(使用python完成服务器与客户端点对点通信)

使用python实现了一个点对点的socket通信示例

2022-10-30 13:30:36 2137 1

原创 Git入门学习笔记

Git入门学习笔记---------------------------------------------------------------------------------------手动分割线--------------------------------------------------------------------------------文章目录Git入门学习笔记一、为什么学习Git二、Git基础知识三、Git常用命令四、Git指令全集----------------------

2022-05-12 19:42:14 248 1

原创 基于STM32的MODBUS-RTU框架的实现

基于STM32的MODBUS-RTU框架的实现

2022-04-15 11:11:14 12226 8

原创 STM32使用片内FLASH制作小U盘(STM32+FLASH+MSC)

STM32使用片内FLASH制作U盘(STM32+FLASH+MSC)文章目录STM32使用片内FLASH制作U盘(STM32+FLASH+MSC)一、设计原因二、与别人不同的地方三、硬件原理四、CubeMx配置一、设计原因由于平时使用stm32的板子没有带SD卡,有时候也用不了SD的那么大的容量,stm32内部的flash容量都十分充裕。多以产生了使用stm32的片内flash制作一个USB小U盘的想法。二、与别人不同的地方使用自带的flash加上fatfs文件系统,再使用USB的MSC功能就

2022-03-09 14:37:09 7955 6

原创 怎么才算是高级点灯工程师?

怎么才算是高级点灯工程师?文章目录怎么才算是高级点灯工程师?一、前言二、初级工程师一、前言相信大家在学习嵌入式的时候,第一个工程就是点灯!学嵌入式点灯,就和学软件打印“Hello World”一样基础。就来梳理一下,点灯工程师从初级到高级~~二、初级工程师相必绝大多数的嵌入式工程师开始学习都是使用51单片机或者32单片机。在学习这些单片机的时候,往往第一个实例工程就是使用开发板点亮一个led灯。因为只要你的板子能正常点灯,那就说明你的板子供电正常、MCU程序烧写工作正常,其实这也是一

2022-02-26 17:05:58 306

原创 RT-Thread Studio与CubeMX联合编程(超级详细)

RT-Thread Studio与CubeMX联合编程本文章参考以下文章:https://blog.csdn.net/qq_40824852/article/details/122596043https://zhuanlan.zhihu.com/p/395106066https://blog.csdn.net/m0_37697335/article/details/108890584一、简介经过上次对RT-Thread Studio的初步尝试,发现RT-Thread Studio中存在官方支

2022-02-22 16:43:44 21997 26

原创 RT-Thread Studio 尝试记录

RT-Thread Studio 使用记录(1)一、简介一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。二、下载RT-Thread Studio 下载链接。三、安装一路下一步。等到安装完成四、启动选择账号登录。进入初始界面。五、新建项目新建完工程,出现以下文件夹其中RT-Thread Settings 可以配置RT-Thread相关设置CubeMX Settings 可以进行芯片引脚相关的

2022-01-20 10:44:52 12507

原创 常见编程命名方法,看看你属于哪一种?

常见编程命名方法一、前言编程中,变量、函数、类千千万,他们的名字也千千万,有的殊途同归,有的天差地别……合适的命名方法,让你的代码就是注释,别人一看就懂;不合适的命名方法,就算你一行代码十行注释,别人还是蒙圈!标题...

2022-01-13 13:36:02 1411

原创 GD32使用HAL库(CubeMX生成代码)编程(直接替换同型号STM32替换)

GD32直接使用HAL库(CubeMX生成代码)编程本文章参考以下文章:无。一、使用背景由于最近芯片价格高涨,STM32出现高价格与缺货的囧况。https://baijiahao.baidu.com/s?id=1709133215644206348&wfr=spider&for=pc与此同时,在各个设备上的国产化需求也日益旺盛。以往较多的低端设备上,或者定制化嵌入式设备中都采用的意法半导体公司的STM32芯片作为主控制器,但由于受到上述两点的影响,设备采用国产化芯片成了

2021-12-31 15:20:41 20169 5

原创 采用C语言实现提取字符串中浮点型数字

采用C语言实现提取字符串中浮点型数字本文参考以下文章:https://www.cnblogs.com/kangjianwei101/p/5220336.html一、适用范围适用于标准C语言的应用环境(比如c51、stm32单片机),除<stdio.h>外,不需要使用其他头文件。二、提取思想请结合代码来看,代码在下文:1.对字符串数组进行从前到后进行遍历,由于标准的C语言字符串以‘\0’结尾,采用while循环while ( *Str != '\0' );2.在遍历过程中进行字

2021-12-24 11:44:18 6331 1

原创 采用迟滞比较的简单比较法

采用迟滞比较的简单比较法本文章图片来源于网络,如有侵权,联系删除。参考以下文章:这里是引用一、临界值抖动问题采用单一临界值来进行转态切换时,会遇到状态抖动。在模拟电路中,解决这类问题大多可以采用低通滤波+施密特触发器来解决。在实际编程中遇到同类问题,同样可以借助施密特触发器的迟滞特性来完成临界值的判断。...

2021-12-17 14:00:59 1146 1

原创 基于HAL库的多串口打印函数(XL_Printf)

基于HAL库的多串口打印函数(XL_Printf)本文参考以下文章:https://blog.csdn.net/sehanlingfeng/article/details/80383117https://baike.baidu.com/item/va_list/8573665?fr=aladdin一、重定向Printf的局限性使用重定向函数,需要添加stdio.h头文件// 重定向函数1int fputc(int ch,FILE *f){ uint8_t temp[1]={c

2021-12-15 11:18:38 1082

原创 基于CUBEMX的FREERTOS 调试函数记录

基于CUBEMX的FREERTOS 调试函数记录参考了以下帖子,介绍部分我不再赘述,参考帖子中有介绍。https://www.pianshen.com/article/2233283539/https://blog.csdn.net/weixin_39270987/article/details/113523534https://blog.csdn.net/ba_wang_mao/article/details/107644953一、使用函数使用了 以下函数:vTaskList()、vTa

2021-12-14 13:11:06 722 1

Lua移植到标准ANSI C环境

Lua移植到标准ANSI C环境

2024-06-08

嵌入式开发:不止C语言一条路.pptx

嵌入式系统领域中,C语言以其高效和底层控制的特点,长期以来被认为是首选。然而,随着技术的发展和应用需求的多样化,越来越多的开发者开始探索其他编程语言在嵌入式系统中的潜力。实际上,解释器语言如Python、Lua等,也逐渐在嵌入式开发中展露头角。它们不仅可以简化开发过程,还能提高开发效率和灵活性,为嵌入式系统的创新提供更多可能性。

2024-06-02

syslog标准格式文件RFC5424

syslog标准格式文件RFC5424

2024-05-30

sline-简单的命令行工具

sline-简单的命令行工具

2023-06-11

STM32G474采用串口空闲接收中断实现MODBUS-RTU协议框架

STM32G474采用串口空闲接收中断实现MODBUS-RTU协议框架 适合采用STM32实现简易的MODBUS-RTU通信,从而简化该协议框架在嵌入式芯片上实现的难度。 配套的文章: https://blog.csdn.net/qq_40824852/article/details/124188811

2022-04-15

STM32G474实现USB的MSC+CDC的组合功能

STM32G474实现USB的MSC+CDC的组合功能

2022-03-23

STM32使用片内FLASH制作小U盘(STM32+FLASH+MSC)

配套教程: STM32使用片内FLASH制作U盘(STM32+FLASH+MSC) https://blog.csdn.net/qq_40824852/article/details/123357022

2022-03-18

RT-Thread Studio与CubeMX联合编程例程

RT-Thread Studio与CubeMX联合编程例程 与改文章配套: https://blog.csdn.net/qq_40824852/article/details/123067421

2022-02-22

GD32F1的KEIL固件包(.pack)

GD32F1的KEIL固件包(.pack)

2021-12-31

采用C语言实现提取字符串中浮点型数字

详见 https://blog.csdn.net/qq_40824852/article/details/122124225

2021-12-24

空空如也

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

TA关注的人

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