- 博客(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
原创 一、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
原创 一、超声波模块
原理(1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。(即mcu输出一个高电平持续10us脉冲信号。(2)ECHO引脚自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;(即:通过mcu检测该引脚的电平状态。修改配置systick。
2025-03-02 19:41:38
1024
原创 一、舵机模块的分析与使用
(快)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
原创 一、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
原创 一、在cubemx上配置sd和fatfs示例演示
注意:f_open后写和读取要分开操作,即写完后f_close以保持写入的内容,当需要读取时重新打开文件进行读取。
2024-08-15 18:59:02
1215
2
原创 一、对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文件传输
2025-12-17
atgm336h+freertos测试
2025-12-15
freertos+eps01s+ap模式
2025-12-13
freertos+esp01+sta模式
2025-12-13
stm32can通信示例
2024-08-17
STM32F4上游戏摇杆模块JOYStick的测试源码
2020-12-01
双向循环链表.zip
2020-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅