自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aron566博客

记录/学习/嵌入式C

  • 博客(116)
  • 资源 (26)
  • 收藏
  • 关注

原创 GitHub中已开源项目汇总

GitHub中已开源项目汇总QT 端软件输入法串口工具AIIOT网络协议安卓音频工具嵌入式端软件协议类引导升级类音频类QT 端软件输入法基于谷歌拼音输入法库串口工具串口助手AI百度AI,语音识别,图片识别OpenCV人脸检测demoIOT基于QMQTT的MQTT界面库网络协议TCP UDP传输demo安卓安卓BLE调试工具 待完善中…音频工具多通道音频文件生成工具 - 算法调试嵌入式端软件协议类软件I2C实现引导升级类STM32F103ZET6_Bootloader

2022-02-13 14:41:51 3231 1

原创 QT析构崩溃问题

析构函数崩溃的原因可能有很多,但通常是由于在析构函数中访问了已经被删除或释放的对象指针或内存区域引起的。可能是由于以下原因导致析构函数崩溃:对象被重复删除:如果您在程序中多次删除同一个对象,可能会导致析构函数崩溃。确保您只在需要时删除对象,并且只删除一次。对象指针为空:如果您在析构函数中访问一个空指针,程序就会崩溃。确保在访问对象指针之前,该指针已经被正确初始化。内存泄漏:如果您的程序中存在内存泄漏,可能会导致析构函数崩溃。确保您在程序中正确管理内存,并在不需要时释放对象。

2023-06-05 15:07:19 1214

原创 单片机通用Bootloader框架-优化

Bootloader

2022-11-11 17:27:23 3746 1

转载 bss段,data段、text段、堆heap和栈stack

bss段,data段、text段、堆heap和栈stackbss段data段text段堆(heap)栈(stack)bss段bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。bss是英文Block Started by Symbol的简称。bss段属于静态内存分配。data段数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。text段代码段(code segment/text segme

2022-10-31 16:56:26 1894 1

原创 高效的串行数据驱动框架

串行数据驱动框架

2022-10-25 18:37:57 709

原创 MDK外部Flash烧录算法文件制作

MDK下的外部Flash烧录算法制作,GD32Flash,SFUD驱动

2022-10-17 16:30:24 3273 4

原创 USB MSC类存储设备及FatfsR0.14移植

USB MSC存储设备类的实现

2022-09-28 16:12:10 1285

原创 USB Composite 组合设备之耳机+多路CDC

USB 组合设备

2022-09-15 15:27:30 1506

原创 USB Composite 组合设备之麦克风与扬声器

USB 音频组合设备

2022-09-14 10:30:28 518

原创 USB Composite 组合设备之多路CDC实现

USB 组合设备多路CDC

2022-09-09 11:11:13 1865

原创 Eclipse 辅助功能

Eclipse实用功能介绍

2022-09-07 09:41:28 288

原创 RISC-V内核中科蓝讯BT8922开发

RISC-V内核中科蓝讯BT8922B开发开发工具准备IDE安装SDK下载编译工具链安装工具使用源码阅读SDK源码文件说明时钟配置GPIO配置蓝牙配置开发工具准备IDE安装SDK下载编译工具链安装工具使用源码阅读SDK源码文件说明时钟配置GPIO配置蓝牙配置.........

2022-08-30 11:05:16 4606 3

原创 C代码创建多通道WAV音频文件

wav文件生成,音频算法调试

2022-08-11 18:01:29 489

原创 宏的##嵌套问题

##宏嵌套问题

2022-07-27 16:05:03 169

原创 图形库LVGL v8.2版本移植

LVGL移植案例

2022-06-06 14:44:40 3990 1

原创 一级指针、二级指针,或是多级指针访问

简述代码测试地址:https://www.nhooo.com/tool/c/https://rextester.com/https://www.tutorialspoint.com/codingground.htmhttps://www.codechef.com/ide#include <stdio.h>#include <stdint.h>#include <string.h>/* 5行8列 */static int xx[5][8] = {0

2022-03-11 11:07:33 391 1

原创 DSP Math加速优化整理

平方根魔数优化float MagicSqrt(float x){ if (x < 0) { return -1; } else { float xhalf = 0.5f * x; int i = *(int*)&x; i = 0x1fbd1df5 + (i >> 1); x = *(float*)&i; x = 0.5f * x + x

2021-10-19 09:01:05 961

原创 Visual Studio编译问题

最近在用vs 跑下精简后的数学库,验证输出结果的,结果在其他ide上编译通过,在vs上不行,出现了一堆莫名其妙的错误。问题现象#if /endif 不匹配 实际是匹配的xxx变量未声明 实际是声明并定义的等等诸如此类问题…解决处理参考这里文章所说总结下,文件编码的原因,中文注释出现的异常,导致编译异常。注释写法:/* 使用此中文注释头尾各有一个空格 *//*不使用这样的注释形式*/...

2021-10-15 22:32:41 1425

原创 安森美RSL10开发-DSP

安森美RSL10开发-DSP资料下载最近开发RSL10的芯片,目前测试下,该平台在低功耗表现出色,双核ARM+DSP,在测试主频6MHz下功耗仅为3mA资料下载安森美官网

2021-09-23 09:58:50 1347

原创 IAR代码溢出问题处理section placement failed

问题现象unable to allocate space for sections/blocks with a total estimated minimum size of 0x45af bytes (max align 0x8) in <[0x2000'0000-0x2000'5fff]> (total uncommitted space 0x3ffc). 处理方法找到生成的.map文件打开IAR的链接脚本文件(建议使用code 打开,在商店中搜索:ext:icf安装即可,此时

2021-08-25 17:21:15 4893 2

原创 蓝牙通用外观设置

蓝牙通用外观设置961//设置外观为键盘<Format>16bit</Format><Enumerations><Enumeration key="0" value="Unknown" description="None"/><Enumeration key="64" value="Generic Phone" description="Generic category"/><Enumeration key="128" valu

2021-08-24 14:48:49 1411

翻译 KEIL的分散加载文件

KEIL的分散加载文件使用分散文件指定堆栈和堆创建root执行区使用 FIXED 属性创建根区域在特定地址放置函数和数据使用分散加载显式放置命名部分使用.ANY模块选择器放置未分配的段使用 __at 在外设寄存器上放置预留一个空区域在分散文件中使用预处理命令在分散文件中使用表达式求值以避免填充使用分散文件指定堆栈和堆ARM C 库提供了该函数的多种实现__user_setup_stackheap(),并且可以从分散文件中提供的信息中自动为您选择正确的一种。要选择两个区域内存模型,请在名为ARM_LIB

2021-08-22 23:27:02 2544 2

原创 安森美RSL10开发-ARM-M3

安森美RSL10开发资料下载开发环境配置代码时钟配置关于Systick串口操作I2C操作PDM操作OD操作Flash操作BLE配置基于RSL10的Bootloader资料下载安森美官网开发环境配置以IAR8.32为例代码时钟配置使用内部RF48Mhz晶振,分频系数为1关于Systick附图地址:硬件参考手册Page73Systick时钟源,由寄存器CLCSOURCE确定以下代码,初始化时钟到48MHz,也可以初始化到8MHz的主频,使用DIO5作为恢复按键,当程序异常跑飞,无

2021-08-22 14:42:10 1572

原创 函数指针与指针函数区别

简述最近看到安森美芯片的boot的部分代码,如下,写的不易观看,可能C萌新,不易理解,这涉及到指针函数,函数指针的相关概念。typedef enum{ BOOTROM_ERR_NONE = 0x0, BOOTROM_ERR_BAD_ALIGN = 0x1, BOOTROM_ERR_BAD_SP = 0x2, BOOTROM_ERR_BAD_RESET_VECT = 0x3, BOOTROM_ERR_FAILED_START_APP = 0x6, BOOT

2021-07-30 13:13:46 136

原创 SystemviewV3.3工具使用

SystemviewV3.3工具使用工具下载移植使用方法工具下载Systemview下载地址移植以不带操作系统的移植方式为例移植源码位于:工程加入以下文件:使用方法int main(void){ /*硬件的初始化*/ /*工具初始化并启动*/ SEGGER_SYSVIEW_Conf(); SEGGER_SYSVIEW_Start(); while (1) { SEGGER_SYSVIEW_RecordEnterISR(); HAL_Dela

2021-07-06 21:19:29 706

原创 STM32 USB DFU功能

STM32 USB DFU功能CubeMX上配置DFU的全称为:DownLoad Firmware Update即固件升级以下配置以STM32F103ZET6为例。CubeMX上配置开启USB外设配置中间件,USB协议栈这里配置使用默认即可,暂时先不改,原始配置烧录进设备后,USB应枚举成功,请求描述符失败情况应注意堆栈调整堆栈设置,因为DFU默认使用了1K的缓冲区(USBD_static_malloc),所以栈区的大小一定大于2K才能不会出现问题,这里大小设置可以编译后查看map文件,查

2021-06-11 10:46:33 4400

原创 STM32 USB音频麦克风实现

USB 音频

2021-06-05 12:44:57 6842 23

原创 BLE蓝牙模块HC-08和BLE-103驱动

BLE蓝牙模块HC-08和BLE-103驱动驱动代码使用方法需要注意的是,两款蓝牙芯片都不是默认波特率为115200,都是以AT指令进行配置修改,所以驱动做了修改,自动切换自身波特率进行通讯,修改波特率参数后,调回115200。驱动主要做了以下工作:1、修改蓝牙名称2、修改波特率到1152003、配置打包机制4、设置从站模式驱动代码/** * @file Bluetooth_Port.c * * @date 2021-02-26 * * @author aron566 *

2021-04-21 23:21:55 1452

原创 QT绘制时间轴图表不显示问题处理

问题的现象建立并初始化时间轴图表后,设置几个点但是未能在表中绘制出来。代码 splineSeries = new QSplineSeries(this); splineSeries->setName("spline"); QPen red(Qt::red); red.setWidth(3); splineSeries->setPen(red); chart = new QChart(); chart->legend()->hid

2021-04-16 21:40:53 1346 1

原创 单片机MPU9250/6050陀螺仪芯片驱动

单片机MPU9250/6050陀螺仪芯片驱动CubeMX配置驱动代码项目需要陀螺仪检测设备位置角度信息,所以就有了本文章,代码借鉴了github上大佬写的应用了卡尔曼滤波。CubeMX配置配置好I2C即可。驱动代码/** * @file MPU6050_Driver.c * * @date 2021-03-14 * * @author aron566 * * @copyright Copyright (c) 2021 aron566 <[email protected]

2021-04-07 17:55:02 820

原创 CS43L21 DAC芯片驱动

CS43L12 DAC芯片驱动CubeMX配置如下驱动代码音频数据通过MIC采集上来后有的的PDM数据有的直接是PCM数据,CS43L12做的就是将PCM数据播放出来。CubeMX配置如下音频数据传输I2S接口开DMA双缓冲芯片配置I2C通讯驱动代码/** * @file CS43L12_Driver.c * * @date 2021-03-10 * * @author aron566 * * @copyright Copyright (c) 2021 aron56

2021-04-07 17:47:47 324

原创 制作录音文件转PCM格式单片机播放

制作录音文件到单片机播放准备相关工具软件制作录音文件将WAV文件转换为PCM数据用ffmpeg播放pcm文件:制作录音数据播放准备相关工具软件录音工具:Audacity格式转换工具:ffmpeg工具下载地址制作录音文件将WAV文件转换为PCM数据ffmpeg -i xxx.wav -f s16le -ar 16000 -ac 1 -acodec pcm_s16le pcm16k.pcm其中:-f为存储类型s16le指的是16位整形数据le代表的是小端序,对应的是be大端序,一般默认

2021-03-25 11:45:11 1008

原创 嵌入式部分名词缩写含义

嵌入式部分名词缩写含义AcronymDescriptionADCAnalog-to-Digital ConverterBLEBluetooth Low EnergyBOMBill of MaterialsCMODModulator CapacitorCMPComparatorCTANKShield tank capacitorDACDigital to Analog ConvertorDPDTDouble-Pole, Doubl

2021-03-15 10:32:19 518

原创 电源管理芯片MAX17048驱动

电源管理芯片MAX17048驱动芯片功能电路配置代码最近调试MAX17048,做个简单的记录。基于STM32H743芯片功能MAX17048为小尺寸、微功耗电池电量计,用于手持及便携产品的锂离子(Li+)电池。MAX17048配置工作在单节锂电池,MAX17049配置工作在2节串联锂电池,两者都是标准I2C接口通讯。电路配置打开图形化配置工具Cubemax,选择快速模式以支持400Khz,7Bit地址,开启中断,GPIO上拉代码/** * @file Voltameter_P

2021-03-09 17:36:28 3766 25

原创 单片机通用Bootloader框架

通用Bootloader框架终端控制台预览flash分区APP分区固件制作设置中断向量表设置flash起始地址加入升级成功标识写入生成可烧写bin文件固件升级与上载更新固件上载固件升级方式最近搞了Bootloader,春节没回家一直在完善,目前测试在STMH743和STM32F407上测试完毕,具有较高的移植性。整个Bootloader依赖开源FAL和LetterShell无其他依赖,移植方法参考之前的博文,对片内Flash使用FAL分区管理,形成统一接口。目前已实现Ymodem协议的文件传输,并留有自

2021-02-21 21:26:33 3006 2

原创 单片机上使用shell控制台

单片机上使用shell控制台效果移植方法IAR代码定位到指定段的设置,修改icf文件加入文件到工程完善接口测试代码单片机控制台第一次使用是在RTthread上的Finsh组件,当时感觉挺好,但也一直没移植到其他单片机芯片平台,主要是一直搞Linux的开发,最近看了下刚准备搞,发现有个开源的做的不赖。LetterShell开源项目地址效果移植方法目前3.06版本的IAR测试存在问题,定位到指定段(shellCommand),需要增加编译器关键字__rootIAR代码定位到指定段的设置,修改icf文

2021-02-03 02:34:55 1063 3

原创 音频外设术语定义

音频外设术语定义MCLK主时钟串行时钟频率SCLKstereo 立体声PCMPDM帧时钟LRCLK也称WS采样率MCLK主时钟该时钟输出频率 256 × FS或者384 x FS,其中 FS 为音频信号 采样频率串行时钟频率SCLK又叫位时钟频率BCLK,采集bit的速率,以PCM数字幅值编码的音频流数据,16bit代表一个状态幅值,2个字节SCLK的频率=2×采样频率×采样位数stereo 立体声立体声就是拥有左右声道的音频流数据,Mono单声道PCM脉冲幅值编码16bit长度,有符

2021-01-25 03:07:00 1832 2

原创 ARM单片机通用IAP在线升级YMODEM协议

ARM单片机通用IAP在线升级效果前提条件移植修改接口效果前提条件移植修改接口

2021-01-17 03:00:32 598 1

原创 ARM单片机FATFS文件系统的移植

ARM单片机FATFS文件系统的移植测试效果前提条件下载所需源码FATFS 文件系统SFUD万能驱动加入工程测试效果前提条件本工程源码下载所需源码FATFS 文件系统下载地址,可能需代理工具SFUD万能驱动官方移植方法参考本博客移植参考加入工程port目录下皆是需要修改的的文件,其他无需修改...

2021-01-06 03:18:05 1054

转载 C的泛型编程

C的泛型编程C语言支持泛型编程吗?_Generic关键字泛型算法C99的tgmath.hvoid *指针总结泛型编程(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。C++支持泛型编程,也就是模板,比如:// 来源:公众号【 编程珠玑】// 作者:守望先生#include <iostream>template <class T>T add(T a

2020-12-30 10:07:55 1461

md文件编辑软件,方便下载安装

md文件编辑软件,方便下载安装

2022-12-26

Typora-v1.2.4安装包

Markdown语法编辑器,超好用,避免被墙,方便下载

2022-04-12

MacTypeInstaller_2021.1-rc1.exe.7z

Windows端使用MAC字体

2022-01-11

IAR For Arm 9.20.1安装教程.7z

内含IAR for ARM最新版本的安装方法

2021-11-23

IAR_8.50.1_P.zip

IAR8.50.1安装使用

2021-10-21

STM32开发文档.docx

适合刚接触STM32HAL库版本的萌新,讲述了外设配置,及注意事项,结合CubeMX软件

2021-08-11

WM8978_Driver.7z

内含ADC采样(模拟麦克),输出PCM格式数据,到DAC输出的全部配置,更有增益调节,EQ调节,前置放大,AGC等设置接口

2021-08-03

JFlash v7.50a的安装包.7z

新版JLink_Windows_x86_64_V750a.exe的安装包

2021-07-25

COV_TOOL.7z

制作录音文件到单片机播放:含FFMPEG、转换工具、编译后的PCM数据提取成数组工具,使用方法参考博客https://blog.csdn.net/weixin_42892101/article/details/115203999

2021-03-25

STM32H743VIT6_Bootloader.7z

整个Bootloader依赖开源FAL和LetterShell无其他依赖,==移植方法参考之前的博文==,对片内Flash使用FAL分区管理,形成统一接口。目前已实现Ymodem协议的文件传输,并留有自定义传输协议接口。效果查阅博客https://blog.csdn.net/weixin_42892101/article/details/113923735

2021-02-21

FFMPEG4.2.3库文件和Nginx1.19.6源码及编译文件.7z

Win10编译Nginx-1.19.6详细配置并推流,测试所需代码。教程参考:https://blog.csdn.net/weixin_42892101/article/details/111468465

2020-12-25

F103ZET6_PRJ_Freemodbus_TEST.7z

本工程是基于STM32F103移植的freemodbus,带freertos操作系统的移植,已完成从站功能的移植,主站功能移植类似

2020-10-21

Doxygen代码注释标准.7z

资源包含整套doxygen工具,用于符合doxygen注释规范的文档生成,使用方法全面,工具更新到2021年12月份,代码注释要求看我的博客

2020-10-21

libmqttclient.7z

现在基于`qmqtt开源库14.2`编写的ui界面,当然以后可能经常调用,已经封装成库的形式。拥有完善的接口说明和移植教程。

2020-08-30

MyVirtualKeyboard.7z

纯英文界面做的没意思,加上中文输入法是我一直想做的,界面如何修改处理可以自己修改,接口说明全面,支持不同窗口大小的调整,移植说明:https://blog.csdn.net/weixin_42892101/article/details/108057414

2020-08-17

ucGUI3_9.7z

ucGUI相对于STemwin没有芯片使用要求,文件包含IAR下的库文件,ucGUI的一堆头文件,移植接口文件(绘制驱动接口,触摸驱动接口、配置文件)如再配置文件中启用OS,则必须是FreeRTOS,且开启动态内存,由于我移植都是不启用OS的,所以这块没有把接口开放到接口文件中,使用方式查看我的博客即可

2020-05-10

QT开发文档.docx

学习QT过程所作的笔记,涉及线程,队列,布局,定时器,编码转换,信号槽,曲线模块使用,内容繁杂但也比较全面,有代码,有文字,有截图,欢迎下载

2020-04-03

QT串口工具First_pro.7z

学习C++时,使用QT编写了一个串口工具,工具参考的其他串口工具,目前已经实现大部分基础功能,还剩下想要增加的功能:文件发送,接收数据文件存储,发送CRC计算,指定接收的第几个字节换成整数,及modbus解析,二级页面。这些功能后续有时间在添加吧,第一次做确实不太熟悉,代码中注释很多,编译的话下载qt-opensource-windows-x86-5.13.2.exe配置成mingw 32 gcc

2019-12-18

LoRa_Gateway——MT7628AN开发笔记.docx

关于openwrt开发笔记,出现的问题的解决笔记!其中涉及增加make menuconfig中sub target和profile的配置项修改记录,GPIO功能开启涉及的DTS文件修改。SX1301_LoraWAN驱动部分暂时未加入!

2019-09-25

利用AUTOIT制作的自动Jlink循环下载脚本2增加标题匹配选项和时间统计

工作中碰到需要烧写一大堆板子,通常有个自动烧写的机器的。奈何没钱,只能自己写个自动脚本凑合用,相对于按键精灵,他能识别窗口标题并锁定,并不会乱跳。第一次写的bug有点多,这是修改后的代码测试过!内有源码欢迎DIY

2019-03-12

RC滤波电路计算工具

本文件是利用AUTOit工具制作,本次上传是编译后的程序及源码,可直接运行程序,360报毒属于误报,建议关闭360后使用。程序根据TI公司的rc计算方式制作。

2019-03-12

常规小工具_去除文本空格脚本文件_未按要求关闭_会不死哈哈

本文件是用AUTOIT软件制作而成,用于删除空格并记录成文本文档,有字节长度限制,可自己修改代码增长。程序打开后若未按要求关闭,并不会退出调出任务管理退也不行!

2019-03-12

windows系统封装教程

windows系统封装教程,主要采用IT天空的软件,对封装系统的过程做介绍。

2019-01-15

ABB800变频器RDCU软修复

ABB800变频器RDCU软修复,过程总结经验,方便大家对误刷变频器或设置错乱的软修复

2019-01-15

安川变频器参数设置

安川变频器参数设置,包含总线参数的整定,历次工作经验总结。

2019-01-15

ACC800参数设置内容很全

ABB升机构专用参数设置,工作经验总结参数很有用,常用于现场调试,故障排查。

2019-01-15

ACS800参数设置很全

ABB平移机构变频器调试参数设置优化手册,内容很全。。

2019-01-15

空空如也

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

TA关注的人

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