自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (9)
  • 收藏
  • 关注

原创 一、max98357a模块+mp3解码的演示实例

MAX98357A是一款无滤波D类音频放大器,支持I2S数字音频输入,可直接驱动8Ω/4Ω喇叭。配置时需注意I2S接口的特殊性,通过SPI底层实现,需匹配44.1kHz采样率。解码采用minimp3库,需初始化后逐帧解码并传输PCM数据至MAX98357A。为避免播放卡顿,需优化文件读取和解码效率,或改用硬件解码方案。

2025-12-28 17:09:39 795

原创 一、基于freertos下对LAN8720模块进行通信测试

本文介绍了基于STM32和LAN8720模块的LwIP网络协议栈实现。主要内容包括:1)硬件环境配置,包括LAN8720模块连接和CubeMX参数设置;2)LwIP协议栈的核心配置(lwipopts.h),涉及TCP/UDP、内存管理和超时设置;3)网络初始化流程,支持DHCP和静态IP两种方式;4)TCP服务器实现,包含socket创建、绑定、监听和客户端连接处理。代码部分展示了网络初始化任务和TCP服务器任务的详细实现,包含错误处理和调试信息输出。该方案可为嵌入式设备提供稳定可靠的网络通信能力。

2025-12-17 17:39:14 459

原创 一、基于freertos系统上关于ATGM336H定位模块的定位测试验证

本文介绍了ATGM336H GNSS模块的硬件连接与软件解析实现方案。硬件连接方面,详细说明了模块引脚定义(TX/RX/VCC/GND)的正确连接方式,并强调了天线朝向、供电电压选择和波特率设置等关键注意事项。软件部分采用DMA+空闲中断接收NMEA数据,通过双任务架构实现数据获取与解析:Task01负责DMA数据接收和队列管理,Task02专用于GNGGA帧解析。解析算法创新性地采用延迟转换策略,先存储原始经纬度字符串,待定位有效性确认后再进行度分转换,有效提高了数据可靠性。代码实现了UTC时间、经纬度、

2025-12-15 01:19:52 397

原创 二、在freertos中对应esp01s模块的ap模式下的通信测试。

本文摘要:该代码实现了ESP01S模块的AP模式配置和TCP服务器功能。主要包括:1) 定义AP模式参数(SSID、密码等)和TCP服务器端口;2) 提供IPD数据解析函数,用于处理客户端发送的数据;3) 实现向客户端发送数据的函数;4) 在任务中完成ESP01S的初始化流程,包括设置AP模式、配置网络参数和启动TCP服务器。关键功能包括多连接模式支持、数据收发处理和手动AT指令调试接口。

2025-12-13 22:55:48 344

原创 一、在freertos上使用esp01s模块并配置使用sta模式进行数据通信传输测试。

1、简单对esp01s模块在sta模式下的通信传输进行了测试。2、要点:freertos下的资源配置,任务管理,结合 串口通信与模块设备传输来的数据进行硬件层面控制调整的应用实例。

2025-12-13 20:25:29 303

原创 一、关于如何在rtthread上使用定时器输入捕获功能的记录。

本文介绍了TIM输入捕获设备模型的实现方法。该模型基于RT-Thread设备框架,通过定义设备操作表(包括init、open、close、read、write、control等函数)来构建完整的IO设备驱动。设备核心结构体包含捕获值、信号量和硬件配置参数,并实现中断处理、硬件初始化等底层功能。应用层可通过标准设备接口读取捕获值(配合信号量同步),并配置捕获参数(边沿触发、滤波、分频等)。文中详细展示了设备头文件定义、驱动程序实现(包括中断处理、硬件初始化、设备接口函数)以及设备注册流程,为嵌入式系统中实现高

2025-11-05 01:10:13 447

原创 二、freertos系统中常用机制整理。

【代码】二、freertos系统中常用机制整理。

2025-07-21 23:36:46 234

原创 一、对linux驱动文件编写时结构认识与记录

驱动文件常见的内容认识,

2025-05-09 16:00:23 287

原创 一、linux系统启动过程操作记录

arm-linux-ld -Ttext 地址 -o demo.elf demo.o 将.o文件链接到对应指定程序运行的地址,输出.elf执行文件。arm-linux-objcopy -O binary demo.elf demo.bin 无操作系统所以,将.elf转为可执行的bin文件。arm-linux-gcc -c demo.o -nostdlib -O2 编译时不添加标准库,提高优化等级。初始化硬件设备,如:cpu初始化 ,看门狗,时钟,内存,存储设备等。配置uboot启动的位置,以及内核的位置。

2025-04-27 19:27:00 1156

原创 一、对printk的使用记录

7:默认消息输出级别, 该值在3到4时,消息内容允许写入到日志当中去。7:控制台打印级别,默认打印级别高于该值,消息就能输出到控制台。1、控制输出有用的信息,没必要输出的信息可以输出到日志中去。0:致命级,用于系统崩溃提示,标识系统不可用。2:临界级,当涉及硬件或软件操作失败时使用。1:警戒级,报告消息,表示需要采取措施。3:错误级,驱动程序报告硬件错误时使用。4:警告级,对可能出现的情况进行警告。6:通知级,提示信息,如打印硬件信息。7:写入日志文件的最低级别。5:注意级,用于提示。

2025-04-27 17:32:56 328

原创 一、对42步进电机使用演示记录

主要参数根据标识得到:电流:1.7A 即驱动器上选择时至少要大于1.7A。步距角:1.8°,42电机转动时的最小角度接线方式:根据步进电机标识的颜色于字母和驱动器上标识的字母一 一对应连接。步进电机驱动器。

2025-03-21 22:16:57 1584

原创 一、对lora_sx1278v1.2模块通信记录梳理

一、通信测试:注意:1、检查供电是否满足。2、检测引脚是否松动或虚焊。3、检测触发是否能触发。引脚作用:SPI:通信(仅作一次初始化,初始化后会进行模块通信返回测试,返回值和预定值相否即报错,并不会进入接收于发送中)NSS:片选(输出)RST:复位(输出)D0:信号通知(输入)D1:信号通信(输入)dirver说明:比较原本的驱动文件删减了cad相关文件以及阻塞相关的发送,接收相关的内容。对spi的发送接收函数做了更改。驱动代码:.chalhal调用文件.hlora模块

2025-03-09 19:36:19 985

原创 一、在freertos中串口接收方式的记录

1、需要开启dc和ic即数据和指令缓存功能2、对于mdk而言无需开启,对ide需要开启3、用于设置中断过滤级别,凡高于该级别的中断指令会别过滤掉,即freertos系统不会打断其上面的优先级中断4、查看优先级别5、默认systick定时器会有警告,更换其他定时器即可。

2025-03-09 18:05:34 1488

原创 一、NRF2401无线通信模块使用记录

找到1号引脚,与原理图对号入座。

2025-03-04 00:04:11 806

原创 一、对于fdcan配置与使用记录

【代码】一、对于fdcan配置与使用记录。

2025-03-02 21:18:10 657

原创 一、超声波模块

原理(1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。(即mcu输出一个高电平持续10us脉冲信号。(2)ECHO引脚自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;(即:通过mcu检测该引脚的电平状态。修改配置systick。

2025-03-02 19:41:38 1024

原创 一、旋钮式滑动变阻器模块

vcc,gnd,供电out,输出电压,adc采集电压。

2025-03-02 18:55:07 547

原创 一、舵机模块的分析与使用

(快)0.5ms —(顺)----(慢)1.5ms(慢)----(逆)-----2.5ms(快)舵机的控制一般需要一个20ms左右的时基脉冲,思路:都是通过tim的pwm来进行控制的,即。1、0~180°舵机:控制类型为旋转角度。2、o~360°舵机:控制类型为旋转速度。180度-----------2.5ms。调整pwm的占空比进而控制舵机的转动,90度-----------1.5ms。135度----------2.0ms。0度-----------0.5ms。45度----------1ms。

2025-03-01 20:03:12 662

原创 一、对iic类模块分析与使用

1、该模块用于获取气压,温度,海拔等数据。vcc,gnd接电源sda ,scl 接iic通信引脚2、该模块使用iic通信,通过iic发送请求相关类的寄存器值,芯片获取对应寄存器返回的数据。所以使用的时调用HAL_I2C_Mem_Write函数3、调用:.h文件.c文件mpu6050驱动代码1、模块主要对外输出加速度,陀螺仪,温度等数据vcc,gnd 接电源scl,sda iic通信引脚xda,xcl,iic主机通信引脚,(作为主机通信使用)ad0,iic地址配置引脚int,中

2025-03-01 19:21:57 862

原创 一、旋转编码器模块分析与使用

该模块配合定时器的encoder使用时,可通过旋转来进行调整记录编码的数值。(通过旋转编码器的数值与字母建立对应关系,即可进行打字编码)引脚说明:vcc,gnd,供电使用sw,相当于按键ioclk 相当于a脉冲dt 相当b脉冲原理:通过记录a和b两段脉冲之间的脉冲差来进行脉冲计数。在cubemx上配置。

2025-03-01 18:02:45 430

原创 一、烟雾+土壤湿度传感器模块分析

1、烟雾传感器模块2、土壤湿度传感器模块其基本都是通过检测电压变化而进行的,使用adc进行采集数字信号的变化,进而得到想要的模拟量值来。其中涉及到很多数字信号和模拟量之间的关系,例如温度变化到导致的电压改变,又或是重量变化导致电压发生改变等等,这些变化在特定环境(如常温常压)与电压呈现出一点的线性关系。通过adc采集电压变化的数字信号,就能得到与之对应的模拟量值来。

2025-03-01 16:58:32 378

原创 一、对4*3按键模块编程分析

说明:1、横着4排,竖着3列,加起来共7组,所以对外引出7根线。2、根据排针终端引脚又可分两类。即横排和竖列对应的引脚。

2025-03-01 16:34:05 244

原创 一、在cubemx下RTC配置调试实例测试

配置rtc,开启闹钟和唤醒,对掉电和复位后测试时间正常显示,唤醒和闹钟正常提示。

2024-10-25 18:24:12 1102

原创 一、hal库配置0.96寸oled屏幕+tftlcd屏幕演示

一、硬件iic配置(使用oled演示)图省事复制即可(注意:从机地址0x78或0x7a)//初始化void MX_I2C1_Init(void){ hi2c1.Instance = I2C1; hi2c1.Init.ClockSpeed = 100000;//标准 hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;//对应标准 hi2c1.Init.OwnAddress1 = 0x78;//第一个设备自己的地址 hi2c1.Init.Addressin

2024-08-22 16:05:05 745

原创 一,SPI双机通信从机向主机传输数据演示

1、实现主机向从机传输数据。ok2、从机向主机传输数据。ok缺陷:传输定长的数据长度。

2024-08-19 17:41:47 1121

原创 一、在cubemx下配置can进行双机通信演示

注意:高速can通信速率的范围200kbps~1mbps。

2024-08-17 16:10:42 1386

原创 一、在cubemx上配置sd和fatfs示例演示

注意:f_open后写和读取要分开操作,即写完后f_close以保持写入的内容,当需要读取时重新打开文件进行读取。

2024-08-15 18:59:02 1215 2

原创 一、stm32在cubemx配置硬件crc与rng测试演示

使用cubemx配置rng和crc,生成随机数,计算crc。

2024-08-08 01:07:38 374

原创 一、数据结构与算法练习整理

整理栈,链表,队列的练习应用实例。

2024-05-13 00:30:34 384 1

原创 一、关于串口以队列方式接收数据应用笔记。

对串口以队列方式进行接收数据时的使用分析笔记

2023-03-01 11:44:43 611

原创 一、stm32的dac功能输出电压

dac配置使用。

2022-12-14 19:10:39 2219

原创 一、SPI通信时前面几个字节为0x00,后面正常的问题总结

spi通信的前几个字节为0x00的问题。

2022-12-14 17:39:09 3031 3

原创 一、关于回调函数在实例中的应用分析

关于回调函数的应用分析和演示。

2022-11-03 11:54:55 546

原创 一、串口SHELL模式配置分析解读

对原子的串口shell处理方式进行重新整理,解析

2022-09-05 22:57:28 796

原创 一、对ST的系统时钟的理解与笔记

一、对于系统的启动和初始化流程1.启动流程系统启动文件startup_xx.s进行系统并调用复位中断复位服务程序。在复位中断服务程序里调用SystemInit函数,此函数在文件system_stm32f4xx.c里面之后调用编译器封装好的函数__main ,进入到main中执行用户的函数2.初始化流程在main函数中的重要初始化HAL_Init函数即HAL库初始化函数,在stm32f4xx_hal.c中进行配置。在system_stm32f4xx.c中有关于HSE_VALUE的配置,当时钟不匹配时

2022-04-28 15:50:32 1165

原创 一、对MODEBUS RTU方式通信学习笔记

一、首先1、对于寄存器操作的一些宏进行理解。#define SET_BIT(REG, BIT) ((REG) |= (BIT))//设置寄存器的第bit位值为1,SET_BIT(RCC->AHB2ENR,1) 或者 SET_BIT(RCC->AHB2ENR,2) #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))//清除寄存器的第bit位值为1的值,即将第bit位置0,CLEAR_BIT(RCC->CR, 64) #def

2022-04-27 20:24:27 2996

原创 一、cubeide的使用与笔记

一,应用使用**1.**使用CubeIde 时生成hex或者bin,进行下载配置工程右键》Properties》C/C++ Build 》Settings 》找到Build Steps选项卡,在“Post-build steps”的“Command”输入以下命令生成hex:arm-none-eabi-objcopy "${ProjName}.elf" -O ihex "${ProjName}.hex"生成bin:arm-none-eabi-objcopy "${ProjName}.elf"

2022-04-26 14:42:50 2636

原创 一、单向、循环、双向链表流程的应用的演示。

一、链表流程的演示。(1)主要是链表的初始化流程,以及配置演示。使用的环境为gcc编译环境,环境配置查看往昔文章。(1)单向链表#include <stdio.h>#include <string.h>#include <stdlib.h>//--------------------------------------------------------单向链表 typedef struct node { int data; stru

2022-03-31 11:17:12 1391

原创 一.静态库和动态库的创建与调用。

1.创建静态库:static_test_sort.h#define funtype int //变量类型funtype Sel_sort(funtype *a, funtype len); //选择排序funtype bub_sort(funtype *a, funtype len); //冒泡排序funtype insert_sort(funtype *a,

2021-12-29 20:27:57 763

原创 一对于开关电源的简单整理:

一.首先电感和电容,电阻作为常见的电源电路的元器件:有着各自的作用:电阻:并联分流,串联分压特性。二极管:整流作用(单向导通性)等。(一).“电容通交流阻直流原理:电容的阻通性能是随电流的频率变化的。当交流电流接通时,正极板不断聚集正电荷,负极板不断聚集负电荷,这是电容的充电。充电、放点,就形成了电流。频率越高,充放速度就越快电流就越大其他作用:1)旁路旁路电容是为本地器件提供能量的储能器件,它能使稳压器的输出均匀化,降低负载需求。就像小型可充电电池一样,旁路电容能够被充电,并向器件进行放电。

2021-12-17 18:14:21 828

LAN8720模块+FreeRtos测试TCP,UDP通信,测试TFTP文件传输

1、LAN8720模块+FreeRtos。 2、测试TCP 通信。 3、测试UDP通信。 4、测试TFTP文件传输。

2025-12-17

atgm336h+freertos测试

1、基于stm32使用cubedie开发,对atgm336h定位模块进行测试。 2、并在freertos下对定位信息解析与获取功能的验证。

2025-12-15

freertos+eps01s+ap模式

1、基于stm32,cubeide+cubemx+freertos+eps01s模块+ap模式,快速测试ap模式的通信功能。 2、实现功能:与指定客户端ip进行数据通信。 3、测试ok

2025-12-13

freertos+esp01+sta模式

1、硬件使用stm32,esp01s模块。 2、编程使用cubeide+cubemx,添加freertos。 3、测试通信,客户端 stm32+esp01s,服务端:pc。 4、配置时注意网段是否在同一网络下。关于ip查询在路由器管理界面上查看,可看到对应设备的ip地址。

2025-12-13

fatfs文件系统测试

1、sd卡识别 ok 2、fatfs文件系统挂载 ok 3、创建文件写入数据ok,查看sd卡信息 ok 4、打卡sd的dma进行读写测试 ok

2024-08-17

stm32can通信示例

1、打开两路fifo接收中断 ok 2、打开过滤器配置掩码和列表过滤项 ok 3、测试双机通信 ok 存在问题:1、通信对接收数据时携带标准id打印 id号存在问题,扩展id号打印正常。

2024-08-17

串口1进行dma数据通信传输,串口2进行打印

串口1进行dma数据通信传输,串口2进行打印信息,用于单片机内部数据通信,和调试信息的移植方向

2021-12-06

(hc-sr04)超声波模块在stm32f4上的源程序

在stm32f4上运行(hc-sr04)超声波模块,本程序功能上是测出超声波碰到物体并返回的距离,并通过串口显示出来。

2020-11-20

stm32f4上hal库串口收发源程序

使用hal库对串口收发的源程序代码。

2020-12-24

stm32上(DTH11)温湿度模块源程序

在stm32f407上通过在串口助手实时输出并显示出当前的温湿度,并对温湿度模块进行定义和测试的源程序。

2020-11-24

stm32f4上火焰模块的运行源码

在stm32f4上运行的火焰模块源代码,通过adc和dac对火焰模块进行数据处理,输出到串口上,并实时显示火焰强度。

2020-11-23

stm32上3色led灯,激光模块,金属触摸模块源码

stm32f407板子测试后实现3色led灯(呼吸灯模式),激光灯模块,金属触摸模块的源源码.....。

2020-11-26

STM32F4上游戏摇杆模块JOYStick的测试源码

在stm32上测试x,y,z,键,并在串口输出x,y,z的状态,x,y决定上下左右,z决定按键。通过遥感的摆动在串口上看到对应(摇杆位置)的状态。

2020-12-01

28byj48步进电机程序.zip

在stm32f4单片机上,实现对(28byj48)步进电机的转速进行调节和控制,还可通过选项(0和1)选择正反转向。

2020-11-17

双向循环链表.zip

对c语言中双向循环链表的简单应用。能实现链表中的(前插人)后插入,查找,删除,移动的相关功能,并配有较为详细的注释,还画有数据和指针的流向图,帮助你快速理解对于链表中 各指针的指向关系。(测试时需将函数声明删除,将函数移动至main前测试,同时移动数据时需要修改所要移动的数据)

2020-08-13

空空如也

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

TA关注的人

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