自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ODrive V3.6固件上位机ODriveGUI软件使用配置经验教程

本文着眼于实现ODriveGUI连接控制V3.6设备。ODrive v3.6版本后,ODrive最新的软件和硬件都已经不开源了,并且ODrive官方的网页GUI,也是只适用于最新的ODrive设备,ODrive v3.6及以下的版本是无法正常使用的。如果需要正常使用ODrive的网页上位机,需要从ODrive官网购买正版的开发板。ODrive的GUI应用程序也因为开发的时间较为久远,且插件应用程序的不断更新,在大部分的系统环境下,已经无法正常运行检测ODrive设备了。

2024-09-26 15:47:24 324

原创 ODrive电机驱动算法VScode环境配置笔记教程

本文是对于ODrive电机驱动算法在VScode环境配置笔记教程!ODrive 是一个开源的优秀电机控制器项目,旨在为各种应用提供高性能、高可靠性的电机控制解决方案。这个项目是专门用于驱动无刷直流电机(BLDC)和永磁同步电机(PMSM)的高性能开源伺服控制系统。

2024-09-21 19:53:46 1453

原创 LVGL从SD卡读取图片并显示到MCU LCD屏详细笔记教程

LVGL支持BMP、PNG、JPG和GIF的图片显示,LVGL在MCU设备上显示图片主要如下3种方法:1、将图片转码成源代码,编译时,一起编译到程序代码中2、将图片转码成二进制bin文件,将图片拷贝到SD卡中,程序运行时进行读取显示3、将图片直接拷贝到SD卡中,通过LVGL的解码库解析显示图片。本文重点讲解如何使用LVGL在MCU设备上读取SD卡上的图片文件显示。

2024-08-27 18:09:54 1415

原创 BMP位图原理深度解析及编程实现RGB565图片格式转换

BMP:BMP(位图)是一种没有经过压缩的图像格式。图片的大小取决于图像的分辨率和颜色深度。BMP位图因为没有任何的压缩,因此文件尺寸都比较大,不适合在互联网上传播,优点是数据读取出来即可使用,无需任何解码器支持。

2024-08-26 21:47:57 1042 1

原创 LVGL配置FatFs文件系统,实现对STM32的SD卡数据读写

LVGL 有一个文件系统模块,可为各种类型的文件系统驱动程序提供一个通用的抽象层接口。本文将LVGL与FatFs文件系统联系起来,实现LVGL的文件系统模块对SD卡内的文件进行读取和写入等操作。

2024-08-24 17:14:46 1402

原创 Sqlite3数据库表内数据批量读取操作---sqlite3_stmt机制

sqlite3_stmt是 SQLite 数据库在 C 语言接口中使用的一个关键数据结构,它代表了一个“准备语句对象”(prepared statement object),也是一个预编译的 SQL 语句,预编译 SQL 语句可以提高执行效率并防止 SQL 注入攻击。这个对象是对 SQL 语句的一种封装,该 SQL 语句已经被编译成字节码形式,可以直接由 SQLite 的虚拟机执行。如果只是读取一条数据时,使用sqlite3_exec和sqlite3_stmt效率是一样的,但是当涉及到大批量的操作时,此前

2024-08-23 18:06:42 781

原创 DLT645-2007通信协议---读取解析智能电表数据

DLT645-2007是中国电力行业规定的一种智能电表通信协议,主要用于电能表与数据采集设备之间的通信。DLT645-2007协议定义了电能表与数据采集设备之间的数据格式、通信方式、命令集等内容,用于实现电能表数据的采集、传输和管理。该协议支持多种物理通信方式,包括RS-485总线通信、红外通信和无线通信等。

2024-08-12 16:13:36 2418

原创 printf函数进阶---个性化彩色打印日志调试

在标准的C语言或C++中,printf 函数本身并不支持直接打印彩色文本。可以通过向终端发送特定的转义序列(ANSI转义序列)来改变文本的颜色和样式。使用printf输出日志的颜色信息,可以实现对终端打印输出的信息非常清晰明了的区分出来,将其运用到实际的项目代码中,可以更加直观的了解程序的运行状态,辅助开发者进行程序调试和优化等。

2024-08-10 21:03:10 524

原创 MDK KEIL程序代码编译成静态库文件及库引用笔记教程

在商业性的程序代码或软件中,各种静态库、动态库是非常常见的。甚至有许多的开源程序,其开放的源码工程中,也有一些程序代码是并不对外开放的,以一个静态库或动态库和一个头文件及部分说明文件的方式提供给用户,许多的核心实现细节,我们是不能直接看到的。并且,对于已经在企业工作过的开发者,对于这种方式已经习以为常了,但是依然有许多的学生群体及初入工作岗位经验不足的开发者,对于如何将源代码编译成库文件和对库文件的重要性是比较缺少认识的。

2024-07-15 17:08:40 702

原创 MinGW编译器任意版本使用配置经验教程

MinGW(Minimalist GNU for Windows)是一个允许开发者在Windows平台上编译原生Windows应用程序的软件环境。MinGW的目标是在不引入额外的运行时依赖的情况下,能够在Windows上创建独立的应用程序。这意味着使用MinGW编译的程序不需要额外的运行时库,除非程序本身链接了这些库。在Windows环境下进行C/C++开发,MinGW提供了一个轻量级的替代方案,避免了使用像Microsoft Visual Studio这样的大型IDE。

2024-07-08 17:45:35 2128 1

原创 CANopen协议---PDO使用配置

CANopen的PDO 和 SDO 的通讯上面的区别在于,PDO 属于过程数据,即单向传输,无需接收节点回应CAN 报文来确认,从通讯术语上来说是属于“生产消费”模型。

2024-07-08 17:29:54 1857

原创 CANopen协议开发梳理总结笔记教程

CANOpen协议是一种架构在控制局域网络(Controller Area Network, CAN)上的高层通信协议,它广泛应用于工业自动化、机械工程和汽车电子等领域。CANOpen协议通过对象字典、服务数据对象(SDO)、过程数据对象(PDO)等机制,为机器人、运动控制、过程控制、楼宇自动化、交通运输等行业提供了一种标准化的通信解决方案。

2024-07-05 16:33:11 1498 4

原创 LVGL使用GUI Guider配置STM32界面详细笔记教程

GUI Guider是NXP公司为LVGL开发的一个GUI设计工具,用户可以通过直接拖放控件来设计 LVGL的GUI页面,加速 GUI的设计,并且可以导出与硬件平台无关的c语言、Python代码,非常简单方便的加入到项目中。

2024-06-20 21:52:19 3317

原创 SQLite 3 优化批量数据存储操作---事务transaction机制

SQLite3的数据库事务transaction操作目的是为了保证数据的一致性和完整性,开启事务操作,可以提升数据库系统性能提升,优化数据错误处理机制。

2024-06-20 14:28:37 1829

原创 FatFs R0.15文件系统移植到MCU平台详细笔记经验教程

在嵌入式MCU平台移植适配FatFs R0.15的详细经验笔记教程!

2024-05-30 19:07:34 1403 3

原创 LVGL显示中文字体及其它语言文字详细笔记教程

LVGL显示中文字体及其它语言文字详细笔记教程!

2024-05-24 17:56:30 3992

原创 LVGL移植到STM32 MCU平台详细经验笔记教程

LVGL是一个开源的ui图形库,能跑在各种单片机上(树莓派、荔枝派也行)。支持按钮,触摸,编码器旋钮,鼠标等输入设备。支持高级图形效果,动画、反锯齿、透明度等。本文详细讲解,如何将LVGL移植到嵌入式MCU设备中,如STM32、GD32等。

2024-05-23 13:09:25 2989 2

原创 嵌入式数据库SQLite 3配置使用详细笔记教程

随着管理开发的项目体积越来越庞大,产品系统涉及的数据量也越来越多,并且伴随着项目不久就要交付给甲方了。如果项目的数据信息没有被妥善管理,后期设备的运行状态、操作状况等数据流信息不能被溯源,当出现了一些特殊意外时,就会导致对于故障信息不能迅速准确的追踪,甚至会被甩锅、推卸责任,白白当了冤大头。因此对于嵌入式项目中,其产品运行时的数据库建立非常有必要,且是迫在眉睫!!!目前常用的数据库系统有:MySQL、PostgreSQL、Oracle Database、Microsoft SQL Server、SQLit

2024-05-08 19:16:04 3434 1

原创 STM32标准库+HAL库 | CPU片内FLASH存储器数据掉电读写

如果只是做单个原型设备,那么一个小存储器芯片的价格可能是不痛不痒的,但对能进行大批量生产的电子产品,成本压缩几毛钱,都能创造一笔不菲的收入,甚至节约下来的成本可以供很多工程师的月工资。因此对于数据存储量不是很大的设备产品,就可以考虑直接使用MCU内置的FLASH进行数据掉电存储读写。

2024-04-16 17:07:23 1984 2

原创 嵌入式MCU BootLoader开发配置详细笔记教程

对于接触过嵌入式Linux系统开发的开发者们,想必对BootLoader是不陌生的,因为定制化移植Linux系统,最先接触的就是BootLoader程序。但如果是从单片机MCU起步的开发者,可能对BootLoader就不是那么熟悉了,因为单片机开发最先接触的往往是GPIO外设的驱动开发。但不管是嵌入式Linux的MPU开发,还是嵌入式单片机的MCU开发,BootLoader的功能都是一样的。它是嵌入式系统中一种特殊的软件程序,它在系统加电或复位后最先执行,负责初始化硬件设备、设置系统环境,并最终引导加载操作

2024-04-14 14:34:16 2936 6

原创 128天创作纪念日

起初写博客,就是为了分享自己所学的东西,希望能帮助到别人,在最初学一些技术类的东西时,很艰难,又没有教,没人带,十分痛苦。后面在网上查阅的资料越来越多,特别是CSDN博客论坛上,有很多人影响到了我,所以开始学着他们的步伐,去分享自己的笔记文章,让更多的人在初学起步的时候,不会那么艰难。在博客上刚起步的时候,是十分的艰难,没有什么idea,也不知道写什么东西,后面学习的东西越来越多,发现经常会遗忘,就开始记笔记,起初是在有道云笔记上面写的,后面就直接到CSDN博客上开始记录笔记并且分享。

2024-03-14 22:29:56 487

原创 SPI通信协议详解及编程实现笔记教程

SPI,全称为Serial Peripheral Interface,是一种串行外设接口。由Motorola(摩托罗拉)公司(现为NXP Semiconductors的一部分)最早推出的同步串行通信接口标准,主要用于微控制器和其他外围设备之间的高速、全双工数据交换。SPI协议允许在一个主设备(Master)和一个或多个从设备(Slave)之间建立连接,主设备负责生成时钟信号并控制数据传输。当前,SPI广泛应用于各种嵌入式系统中,如SD卡、RFID、LCD屏幕、网络通信PHY以及其他需要快速可靠数据交换的器件

2024-03-14 22:13:24 1923

原创 LVGL在VScode中安装模拟器运行配置笔记教程

LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。本文主要讲述如何实现在VScode中实现LVGL模拟器环境的搭建运行。

2024-03-07 16:12:11 14417 105

原创 嵌入式物联网在线仿真平台Wokwi使用配置笔记教程

Wokwi是一个强大且实用的在线免费使用的嵌入式系统与物联网应用模拟器,它允许用户在无需实际物理硬件的情况下,在虚拟环境中构建详尽的电路图、编写并实时运行ESP32、STM32、Arduino以及树莓派Pico等主流微控制器的代码。对于企业级工程项目开发而言,虽然可能在某些复杂度高或特定硬件交互场景下显得功能有限,但Wokwi无疑为电子DIY爱好者、学校教学和远程居家开发者提供了极为便捷且成本低廉的学习与开发环境。

2024-03-05 15:56:31 4906 4

原创 插件下载失败,手动安装VScode编辑器中的扩展插件程序经验教程

插件下载失败,手动安装VScode编辑器中的扩展插件程序经验教程!

2024-03-04 21:35:51 1614

原创 状态机实现双击、短按、长按等按键识别检测算法

按键识别算法在不同的技术和应用背景下有不同的作用,但其核心目标都是准确、可靠地检测和区分用户通过物理或虚拟按键所执行的操作。按键识别算法在各类电子设备及系统中起到至关重要的作用,它确保了人机交互的有效性和准确性,提升了用户体验,并保证了系统的正常运行。按键识别算法也有较多的种类,在这一部分主要介绍独立按键的双击、短按、长按识别算法。

2024-03-02 16:50:41 2342

原创 WS2812B智能外控集成LED灯驱动编程

WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源,同时也是一款高性能的LED驱动器,具有高效率、低功耗、稳定性能等特点,广泛应用于各种照明和显示设备。主要应用领域有:消费性电子产品领域、LED灯饰亮化领域、 电脑及周边设备\游戏设备\各种电器设备领域。本文采用ESP-IDF v5.1对ESP32S3进行WS2812B驱动控制。

2024-02-27 15:15:34 2093

原创 Ubuntu22.04环境下载安装中文搜狗输入法

在Ubuntu环境中快速安装中文搜狗输入法教程!

2024-02-26 16:19:29 3186

原创 IIC通信驱动MCP4017可编程电阻编程(3)

可编程电阻,也被称为数字电位器或电子电位器,是一种可以通过数字信号控制其电阻值的电子设备。这些设备通常包含一个电阻阵列和一个电子开关网络,使得电阻值可以通过编程方式在多个预设值之间进行切换。本文将由浅入深的讲解MCP4017可编程电阻的使用驱动

2024-02-23 15:59:56 1922

原创 IIC通信驱动EEPROM,AT24C02硬件存储器编程(2)

存储器在嵌入式物联网开发中是非常常见的,可以说是缺一不可的组成部分。 因此在对AT24C02进行编程驱动时,有必要先了解一下存储器的基本知识,这有助于对AT24C02的进一步了解,并且在一些公司的笔试或者面试时会进行基本的存储器知识考察。本文以IIC为基础,对IIC进行设备硬件驱动说明。

2024-02-22 17:57:47 1195

原创 IIC通信协议详解及编程实现笔记教程(1)

I2C( IIC )属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从即一个主设备(Master),多个从设备(Slave))的总线结构,总线上的每个设备都有一个特定的设备地址,以区分同一I2C总线上的其他设备。IIC有2根通信线路(SDA、SCL),SCL为时钟同步线,用于主机和从机间数据同步操作;SDA为数据传输线,用于传输通信数据。

2024-02-21 19:25:47 1151

原创 ESP32工程中CMake使用及加入第三方SDK库文件

因乐鑫官方的ESP-IDF高度集成CMake工具,因此需要使用ESP-IDF去开发ESP32设备,必须要掌握CMake基础,以实现对ESP32工程项目自由的扩展操作。如项目工程中添加、减少模块代码,加入第三方的SDK库等,都是通过CMake工具来实现的。

2024-02-18 17:33:28 3222 2

原创 ESP32 非易失性存储器NVS,实现数据掉电存储(ESP-IDF)

NVS即Non-volatile storage,是一种非易失性存储技术,用于在嵌入式系统中保存持久化数据。它主要用于在flash存储器中存储键值格式的数据,提供了一种简单且有效的方法来保存和读取配置信息、状态数据、用户设置等应用程序数据。NVS在设备重新启动或断电后能够恢复状态,因此非常适合保存需要长期存储的数据。

2024-02-17 21:14:26 2743 1

原创 VScode实现文件、函数自动添加注释说明信息

常规的手动注释费时费力,不方便,拖慢开发进度,甚至影响开发者心情,因此需要实现自动注释,不仅能减少工作量,也能让编写的代码更加的规范整洁,易于理解。本文记录VScode下的koroFileHeader插件实现自动头文件注释。

2024-02-08 22:57:35 6226

原创 DMA直接内存访问,STM32实现高速数据传输使用配置

直接存储器访问 (DMA) 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可供其它操作使用。在STM32等资源受限的嵌入式设备中,会大量的使用,以确保设备的稳定性。

2024-02-08 22:17:59 2449

原创 VMware无法检测到插入的USB设备,虚拟机插拔USB无反应

在新安装VMware workstation 软件后,存在一定的概率性发生VMware虚拟机无法自动检测到插入的USB设备。当然,也可能是原先正常使用的,开启了360或腾讯电脑管家等的软件的优化后,VMware被设置为禁止自动启动,导致出现了插拔USB设备,VMware都无法检测。

2024-02-03 21:26:19 3362 8

原创 NoMachine局域网桌面远程控制管理工具软件,下载配置教程

在体验了一些常见的桌面控制软件,如向日葵和ToDesk后,因为需要保持实时网络连接畅通,控制时延时较高,卡顿明显,不适合局域网内控制,而Splashtop等工具软件虽然远程控制的数据走的是本地局域网,但也需要登录账号验证设备,并满足离线、局域网桌面控制的需求。而在一些工业控制设备、嵌入式设备开发中,也会有这一功能需求,因此挖掘、整理了这款局域网桌面控制软件的下载使用配置说明。

2024-01-30 17:47:25 1789

原创 STM32标准库+HAL库 | 输入捕获测量PWM的脉冲频率+占空比

在众多的仪器仪表类产品如示波器、逻辑分析仪,医疗设备、智能手表及工业控制的电机设备开发中,经常需要测量PWM输入波形的频率及占空比或TIM定时器脉冲计数值等数据。因此掌握TIM输入捕获是在各个行业从事嵌入式开发的一项非常基本的技能。当然,在一些大学生的省级、国家级的电子综合设计竞赛中,也经常考察对TIM、PWM的配置使用,由此可见掌握TIM-PWM的重要性。

2024-01-29 23:20:25 6309 15

原创 STM32标准库+HAL库 | 高精度动态调节PWM输出频率+占空比

在许多仪器仪表产品中,需要对PWM进行非常精确、频繁的操作,如果每次都是搬出公式来计算再填入数值,非常的耗时,并且容易算错。因此,将PWM输出频率和占空比封装成一个通用接口,可以极大的减少工作量。本文中的原理及代码已实现PWM输出步进1%调节PWM占空比。

2024-01-18 15:43:11 12224 12

原创 逻辑分析仪使用配置,PulseView通信波形解析

为什么要使用逻辑分析仪,示波器体积相对较大,价格昂贵,不方便携带,不是示波器买不起,而是20块钱起步的逻辑分析仪更有性价比!当然,购买价格偏上,性能强悍的逻辑分析仪,其数据解析能力及其它功能和使用体验感不亚于直接使用示波器。

2024-01-15 15:55:33 3280

STM32移植LVGL+FatFs+FreeRTOS综合工程代码

在STM32F407开发板,针对MDK KEIL v5软件平台上,移植实现LVGL+FatFs+FreeRTOS的完整工程代码。 FatFs R0.15移植教程:https://blog.csdn.net/weixin_49337111/article/details/139332023?spm=1001.2014.3001.5501 LVGL移植教程:https://blog.csdn.net/weixin_49337111/article/details/139142416?spm=1001.2014.3001.5501 LVGL图片显示教程:https://blog.csdn.net/weixin_49337111/article/details/141609089?spm=1001.2014.3001.5501 FreeRTOS移植教程:https://blog.csdn.net/weixin_49337111/article/details/135079595?spm=1001.2014.3001.5501

2024-08-28

LVGL移植到STM32 MCU平台通用程序源码

LVGL移植到STM32 MCU平台详细经验笔记教程 LVGL移植教程链接:https://blog.csdn.net/weixin_49337111/article/details/139142416?spm=1001.2014.3001.5502 本程序为上述教程中的程序源码,目标平台为STM32F407VET6,使用了LVGL v8.3版的库,经测试,代码运行正常。仅供参考交流学习,如有问题,欢迎交流讨论。

2024-05-23

嵌入式MCU BootLoader开发配置工程Demo

嵌入式MCU BootLoader开发配置详细笔记教程中的工程demo资源文件 博客文章链接:https://blog.csdn.net/weixin_49337111/article/details/137680267?spm=1001.2014.3001.5502 BootLoader和APP应用程序的启动跳转切换,原理上就是内存地址的切换,当BootLoader程序接收到对应的操作触发条件时,会进行相应的地址跳转切换,及一些其它的附加操作,然后执行该地址空间上的用户程序。但一般来说,BootLoader中会进行CPU工作模式、配置内存控制器、初始化外设等工作,为后续程序运行创建一个稳定的硬件环境。所以在APP中可以节省掉BootLoader中已经进行过的硬件环境配置。

2024-04-14

SDL2支持文件,SDL2-devel-2.30.1-mingw.zip

VScode中安装LVGL模拟器所使用的依赖下载文件,SDL2-devel-2.30.1-mingw.zip 安装LVGL模拟器的教程如下 https://blog.csdn.net/weixin_49337111/article/details/136536375#comments_31930883

2024-03-28

ESP32接入网络后,循环扫描服务器IP及端口是否在线的完整工程demo(ESP-IDF)

ESP32接入网络后,循环扫描服务器IP及端口是否在线的完整工程demo(ESP-IDF) 本资源详细描述的CSDN博客文章说明:https://blog.csdn.net/weixin_49337111/article/details/135305996?spm=1001.2014.3001.5501

2024-01-09

STM32移植FreeRTOS正常运行的工程源代码

STM32移植FreeRTOS,经测试验证能正常运行的工程源代码,STM32F407,STM32F103系列,其它版本后续更新,所使用的库为ST官方于2022年更新的标准库(对的,没有写错,是2022版最新的STM32标准库)。 FreeRTOS移植可参考本人的CSDN博客:https://blog.csdn.net/weixin_49337111/article/details/135079595?spm=1001.2014.3001.5502 如有问题,欢迎交流讨论。

2024-01-03

空空如也

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

TA关注的人

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