自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

^_^

嵌入式软件开发,分享单片机、嵌入式linux实用干货,真实项目案例。

  • 博客(196)
  • 资源 (16)
  • 收藏
  • 关注

原创 小智AI音频开发 libopus + Eclipse C/C++ MinGW 编解码测试用例

最近ESP32小智AI很火,研究了小智的技术架构后,随即想在中移ML307R上重写小智的固件,这样就不用WIFI了,并且还省掉一块ESP32开发板。ESP32小智的语音编解码使用的是libopus这个库,在espidf上已经是现成的组件包,而如果我想在Ml307r上实现,那么就要自己移植这个库了。

2025-03-26 19:24:43 1302

原创 开源!速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器

目前市面上调试器使用的较多的有ST-LinkV2、ST-linkV2.1、J-Link OB、DAP-Link等,但这些调试器无一例外都各有各的缺陷,并且都是有线的,在一些场景下使用有线调试器不方便:例如:有关电机的项目,有线连接怕烧掉电脑USB口受项目实际环境限制,有线连接不够长、或无法通过有线连接到电脑针对以上使用需求,作者开始找无线的调试器,找到的结果要么是速度快的价格贵,如某点原子,300+的价格太让人劝退了。。。要么是价格便宜的速度贼慢,根本达不到正常的使用需求,又或者无法同时使用DAP和虚拟CD

2025-03-10 13:18:11 1541 7

原创 嵌入式篇 | 通用模拟IO方式多主机I2C协议框架

嵌入式篇 | 通用模拟IO方式I2C主机协议框架 GP6818D压力传感器

2024-10-24 15:28:18 341

原创 WIN10右键-打开方式-选择其他应用:该文件没有与之关联的应用来执行该操作...解决办法

鼠标右键->打开方式->选择其他应用,提示错误:该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在"默认应用设置“页面中创建关联。若不存在,则说明系统在遇到无法识别未知类型的文件时无法正确处理,进而弹不出让你选择其他应用打开的窗口,所以这个错误弹窗的出现。为后缀的文件,并分别将以下内容复制进去。然后双击这俩文件导入注册表项。

2024-10-14 10:03:13 3271 1

原创 重磅来袭!CMSIS-DAP 脱机烧录器 EasyFlasher 发布~

重磅来袭!CMSIS-DAP 脱机烧录器 EasyFlasher 发布

2024-10-06 20:09:18 2970 16

原创 CRC32校验C语言实现(查表法)

【代码】CRC32校验C语言实现(查表法)

2024-05-01 22:06:16 1192

原创 嵌入式项目实战:工程师必备技能之NTC热敏电阻的使用与温度转换详解

~~~~~~~NTC(Negative Temperature Coefficient),意为是负的温度系数,泛指负温度系数很大的半导体材料或元器件。~~~~~~~~通常我们提到的NTC是指负温度系数热敏电阻,简称NTC热敏电阻。又被称为负温度系数热敏电阻,是一类电阻值随温度增大而减小的一种传感器电阻。功率型NTC热敏电阻补偿型NTC热敏电阻测温型NTC热敏电阻用来测温。

2024-03-20 11:25:02 5601

原创 Flutter VSCode 报错:The Dart Analysis Server server crashed 5 times in the last 3 minutes...

【代码】Flutter VSCode 报错:The Dart Analysis Server server crashed 5 times in the last 3 minutes...

2024-03-07 22:14:02 874

原创 python pip导出依赖项requirements.txt文件

【代码】python pip导出依赖项requirements.txt文件。

2024-01-26 13:19:13 1350

原创 ubuntu 22.04 安装redis并设置远程连接

redis在ubuntu上的安装步骤

2024-01-26 11:15:29 1844

原创 ubuntu 22.04 安装mysql-8.0.34

注:在安装过程中可能会提示设置 MySQL 的密码,​确保密码足够强,务必记住密码**​,后面会用到!注:如果在安装过程中没有让设置密码,那么执行这一步后会显示Enter*​Password​,此时按下回车键将会自动登录到 MqSQL 的控制台。执行完以上步骤后,就可以在本地使用 MySQL 数据库了。

2024-01-24 22:42:03 1695

原创 Python pip换国内源

pip自带的源是国外,下载比较慢,可以更换为国内的源。

2023-12-28 15:40:22 920

原创 Ubuntu 22.04 安装ftp实现与windows文件互传

ftp

2023-12-28 15:08:43 1825

原创 Conda命令、Miniconda3基础安装使用教程

注意:虚拟环境目录必须要有可读写权限,否则设置成功后,创建虚拟环境时还是在C盘。查看conda配置信息。清理conda(全部)或直接修改配置文件(

2023-12-23 09:39:13 1031

原创 速速收藏!纯C实现的MD5哈希校验算法~!

速速收藏!纯C实现的MD5哈希校验~!

2023-12-03 20:58:37 1182

原创 速速收藏!纯C实现的BASE64编解码~!

纯C实现的BASE64编解码~!

2023-12-03 20:08:12 679

原创 Flutter | TextField长按时选项菜单复制、粘贴显示为英文问题解决

长按TextField后,显示剪切、复制等选项为英文,如下图所示,这是因为问未设置语言本地化,我们需要进行设置。

2023-11-26 11:50:59 1958 1

原创 Flutter | 设置顶部状态栏的显示、隐藏、半透明灰色显示

Flutter、设置顶部状态栏的显示、隐藏、半透明灰色显示。

2023-11-25 22:00:19 4600 3

原创 Docker部署ubuntu1804镜像详细步骤

【代码】Docker部署ubuntu1804镜像详细步骤。

2023-11-10 16:46:12 1261

原创 Ubuntu18.04 安装docker教程

docker默认镜像源为国外的,下载时候速度较慢,所以更改为国内的镜像源,这里使用阿里云的镜像源。点开通后,根据提示完成授权。

2023-11-10 16:29:27 919

原创 C/C++实现的MD5哈希校验

C/C++ 实现MD5哈希校验

2023-10-24 10:40:39 481

原创 windows下Qt、MinGW、libmodbus源码方式的移植与使用

截止2023年8月26日时,libmodbus最新版本为3.1.10,本篇博客基于此版本进行移植。

2023-08-26 10:42:20 954

原创 windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法

windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton'解决办法

2023-08-26 10:28:00 2256 3

原创 Air32 | 合宙Air001单片机内部FLASH读写示例

合宙Air001单片机内部FLASH读写示例,代码已经通过测试,开发环境KEIL-MDK 5.36。

2023-08-07 13:20:30 1396 2

原创 QMessageBox、QColorDialog、按钮汉化显示

打开这个文件,如果有问号显示,那么这是翻译有问题的,将它手动的改一下中文译文即可!注意:加载翻译文件必须要在窗口显示之前!环境:QtCretator MinGW。然后重新发布就可以生成.qm文件,在。函数中加载翻译文件即可!版本:Qt5.9.9。在Qt源码目录下找到。

2023-08-03 18:03:27 1194

原创 PSM:协议状态机(Protocol State Machine),一款用于流式传输的数据协议解析组件

PSM:Protocol State Machine,协议状态机。一款用于流式传输的数据协议解析组件,可有效解决沾包、断帧问题。PSM以回调函数的形式将完整的协议数据包抛到应用软件层,确保应用软件层收到的数据是一包完整的、有效的数据帧。代码以纯C编写,可无缝在windows、linux、嵌入式单片机、嵌入式RTOS下应用。

2023-07-12 10:53:35 1034 5

原创 rttread-nano 使用记录:rt_kprintf函数格式化打印无法左对齐

负号符号设置为了左对齐,但是发现无法打印,换成微库的printf确没问题,分析了一下源代码发现rtthread的格式化打印是不完整的。今天用rt_kprintf函数打印输出一个表格,为了表格好看每一列我都使用格式化参数。解决办法:将rt_kprintf内的rt_vsnprintf换为vsnprintf。

2023-05-25 15:54:06 496

原创 步进电机与伺服电机基础知识

驱动器其实也是用单片机做的板子,因为驱动电机是需要一个大电流的,如果你直接把自己的板子做成驱动电机的板子当然也可以,不过对于一些研发实力没那么好的,研发成本高。答:驱动器是一种能使步进电机运行的功率放大器,能把控制器发来的脉冲信号转化为步进电机的功率信号,电机的转速与脉冲频率成正比,一般两相步进电机的步距角是1.8°,所以给电机发200个脉冲,电机正好转一圈,成为一整步。系统控制架构:常规的控制方式,通过单片机或PLC发PWM脉冲给驱动器,驱动器在给电机发脉冲,这样电机就转了。注:本文以两相电机为例。

2023-05-23 11:13:07 4809

原创 i.MX6ULL - 远程视频监控方案实现(nginx-rtmp流媒体服务器、ffmpeg推流)

~~~~~~~该远程视频监控实现主要是参考了正点原子和韦东山老师的教程,再加上我自己的偷懒融合而成。(:其实是我自己的目的是为了快速实现,用以验证方案,后续有一个项目需要用到。。。~~~~~~~~正点原子的视频监控项目是手动移植ffmpeg、nginx、alsa-utils(处理音频的软件)到开发板上,我自己尝试移植了一下,虽移植成功,但步骤比较繁琐且不一定会遇到什么问题要去解决,所以也没法写一个固定步骤的文档教程。~~~~~~~~

2023-05-18 23:09:38 1769 6

原创 windows系统下利用Nginx搭建rtmp流媒体服务器

Nginx是一个高性能的HTTP和反向代理web服务器,并且支持rtmp,不过rtmp是作为一个nginx的一个模块。对于linux系统,需要另外编译安装rtmp模块;而对于windown系统有带rtmp的nginx的版本。

2023-05-12 10:49:29 4855 5

原创 STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期

以前写过一篇博文,介绍的是如何使用定时器的输入捕获功能测量脉冲的宽度以及周期,适合测量某个脉冲或者测量按键按下时候的保持时间(见上面链接博客),不适合测量连续输出的脉冲场景。STM32的定时器还存在一个PWM输入模式,只要将未知PWM波接入到定时器输入模式的引脚上,会自动算出占空比和周期,相当于示波器探针了。

2023-04-25 14:56:28 6027 1

原创 Qt、事件的发送和接收以及自定义用户事件

Qt的事件所有的父类是:QEventQt事件类型:QEvent::Type其中,可供用户自定义使用的事件ID为1000~65535。自定义事件方法也比较简单,继承QEvent并将自定义类型传入即可。

2023-03-13 15:45:31 1466

原创 C/C++ 实现时间戳和时间结构体的相互转换、格林威治与本地时间的转换

时间是具有周期性的,每间隔四年为一个闰年,时间戳是以1970/1/1 00:00:00开始到当前时间的秒数。四年加起来一共365*3+366=1461天。这就是时间周期,后面写程序会用到。

2023-01-06 11:56:20 1556

原创 Qt、使用QToolButton和QStackedWidget的侧边栏(SideBar)的实现与实现原理解析

侧边栏是一个很常用的导航控件,如Qt Creator软件本身也使用到了侧边栏:目前使用Qt做出这种侧边导航栏,常见的做法是使用QListWidget加QStackedWidget,但是使用QListWidget做侧边的这个导航很不灵活,想要复刻出和Qt Creator这个侧边栏同样的效果很费劲,所以本篇博客采用QToolButton加QStackedWidget形式,在用QSS进行美化以达到效果。

2023-01-03 11:26:49 16446 15

原创 Qt、工程文件.pro的库引入和头文件引入、INCLUDEPATH和LIBS的详细使用方法

Qt、工程文件.pro的库引入和头文件引入、INCLUDEPATH和LIBS的详细使用方法

2022-12-30 15:22:31 10647 1

原创 Qt Creator 无效构建套件(Kits)的清除以及恢复默认设置

在使用在Qt Creator 开发过程中,有时候由于配置的原因出现了很多无效的构建套件(Kits),在创建项目也会列出来,因此想清理掉这些的无效的Kit;再有就是将Qt的配置搞乱了,需要恢复默认设置。

2022-12-13 14:04:37 3162 3

原创 Qt | QTextCodec类使用详解、GBK和UTF8编码互转、QString的toLocal8bit和toLatin1区别

Qt使用Unicode来存储、绘制和操作字符串。unicode是各个编码格式转换的媒介,以UTF-8转到GBK格式为例,需要先将UTF-8转到UNICODE,在通过unicode转到GBK,反之亦然。Qt提供了一组QTextCodec类,以帮助将非Unicode格式转换为Unicode格式。您还可以创建自己的编解码器类。

2022-12-01 21:06:26 16027 3

原创 Qt | QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决

问题原因:默认情况下QListWidgetItem的背景QBrush是为空的,所以默认颜色为ListWidget的背景颜色,因此不会使用绘画,即不绘制背景颜色,所以获取到的brush转成qcolor后的颜色值始终为0。使用场景:程序使用QListWidget显示一个列表,这个列表具有点击选择和再次点击取消选择的功能,点击之后需要更换背景色以表示被选中,由于软件有主题效果,所以打算让背景色自动选择背景颜色取反显示,让软件去自适应。前景也是同样的情况,而前景使用视图调色板的文本颜色作为前景色。

2022-11-27 20:25:14 1007

原创 Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤

JAVA SDK其中Android NDK直接下载的压缩包,解压即可。Android SDK提供了安装包和压缩包,用哪个都行。Qt For Android开发环境的搭建说简单也简单,说复杂也比较复杂。说它简单是因为安装的软件就一两个,安装完在Qt Creator中填入安装的目录即可。说复杂是因为这三个和Qt的版本必须要需要对应起来!

2022-11-27 14:07:54 20485 30

原创 Qt | 点击按钮后软件重启的实现

而如果使用quit函数,则应用程序直接退出,窗口直接销毁,也就是说倘若你实现了closeEvent函数并在此函数内实现了配置文件的保存,那么closeEvent是不会被调用到的。使用closeAllWindows是一级一级调用直到所有打开的窗口都被关闭。qApp提供了closeAllWindows和quit方法。Qt | 点击按钮后软件重启的实现。利用Qt的全局变量qApp。

2022-11-25 18:45:01 1253 1

OpenSSL创建生成CA证书、服务器、客户端证书及密钥

OpenSSL创建生成CA证书、服务器、客户端证书及密钥,配套。https://blog.youkuaiyun.com/qq153471503/article/details/109524764

2023-05-19

STM32_USB_Composite_MultiCDC_Demo.7z

STM32-USB多路CDC实现,包含两个工程,一个是2路CDC实现,一个是3路CDC实现,博客地址:https://blog.youkuaiyun.com/qq153471503/article/details/116190231?spm=1001.2014.3001.5501

2021-04-27

STM32_USB_Composite_CDC_MSC_Demo.7z

STM32实现的USB组合设备CDC+MSC,已经完整测试通过,博客地址:https://blog.youkuaiyun.com/qq153471503/article/details/116062885

2021-04-27

ObserverModeDemo.7z

观察者模式,使用C和C++分别实现,具体思路见博客:https://blog.youkuaiyun.com/qq153471503/article/details/79183527?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160067345219195162118420%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160067345219195162118420&biz_id=0&utm_medium=dist

2020-09-21

Bootloader-SPI-SD.7z

STM32的bootloader升级程序,使用HAL库模拟SPI方式驱动SD卡,带FATFS文件系统。

2020-08-13

STM32Cube_IAP_using_UART.7z

串口IAP升级方案,主控芯片STM32F103RBT6,可使用SecureCRT的Ymodem1K进行固件升级和备份功能。

2020-05-08

QModBus.7z

QModbus、qt编写的modbus上位机,实现了RTU、ASCII、和TCP。

2020-04-01

STM32使用HAL库移植freemodbus-v1.6

STM32使用HAL库移植freemodbus-v1.6,已在正点原子MiniSTM32-V2开发板上测试通过,博客地址:https://blog.youkuaiyun.com/qq153471503/article/details/104840279

2020-03-13

STM32-SPI方式驱动SD卡,包含标准库、HAL库、LL库三种另加HAL库的FATFS代码,共4个工程

STM32驱动SD卡,使用SPI方式,压缩包内包含标准库、LL库、HAL库三种库的SPI驱动SD卡代码外加HAL库版本的FatFS的代码,作者使用的是正点原子MiniSTM32开发板V2,STM32RBT6那一款,32G的mircosd卡加卡托,已经测试通过!

2020-03-06

MINISTM32V33_TIM_IC_DEMO.7z

STM32F103RC使用HAL实现的脉冲宽度测量代码,可以测量高电平持续时间、脉冲宽度、周期频率。博客地址:https://blog.youkuaiyun.com/qq153471503/article/details/104409994

2020-02-20

doxgen代码文档生成工具包

doxygen代码文档生成工具包,包含软件:doxygen1.8.17,、graphviz2.38,htmlhelp三个软件,满足正常使用。

2020-01-08

miniboard_modbus_demo.7z

使用STM32 HAL库实现的MODBUS RTU协议的从机,主控芯片使用STM32F103RBT6。

2019-12-17

miniboard_esp8266_mqtt_demo.zip

ESP8266-01S模块,使用STM32F103RB,HAL库驱动,移植MQTT协议,远程控制LED灯。

2019-11-11

MQTT-Client.7z

MQTT调试助手,软件源码和效果图详见博客:https://blog.youkuaiyun.com/qq153471503/article/details/102976431

2019-11-08

Opencv3.0.0人脸检测+识别代码,vs2012工程

效果可看博客:https://blog.youkuaiyun.com/qq153471503/article/details/80064653

2018-04-24

嵌入式实时操作系统μCOS-III完整版带书签

嵌入式实时操作系统μCOS-III.pdf 目录 第1章 概述 第2章 目录与文件 第3章 初识μC/OS-Ⅲ 第4章 临界段代码 第5章 任务管理 第6章 任务就绪表, 第7章 任务调度 第8章 任务切换, 第9章 中断管理 第10章 任务挂起表 第11章 时间管理 第12章 定时器管理 第13章 资源管理 第14章 任务同步 第15章 消息传递 第16章 同时等待多个内核对象 第17章 存储管理 第18章 移植μC/OS-Ⅲ 第19章 程序运行时的各类统计信息

2018-01-27

空空如也

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

TA关注的人

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