- 博客(647)
- 资源 (1)
- 收藏
- 关注
原创 基于STM32、HAL库的SX1276IMLTRT无线收发器驱动程序设计
/ ... 其他 HAL 初始化代码 (SystemClock_Config, MX_SPI1_Init, MX_GPIO_Init)// 编码率 CR4/5, CR4/6, CR4/7, CR4/8。
2025-09-01 11:03:29
14
原创 基于STM32、HAL库的SX1262IMLTRT无线收发器驱动程序设计
0x80 ) { // 检查芯片模式。/* SX1262 命令定义 -------------------------------------------*//* 函数原型 -------------------------------------------------*//* 硬件相关的引脚和SPI定义 ------------------------------------*//* 用户必须根据实际硬件修改这些变量 --------------------------*/
2025-09-01 10:59:03
13
原创 基于STM32、HAL库的SI4463-C2A-GMR 无线收发器驱动程序设计
define SI4463_SPI_HANDLE hspi1 // 使用的SPI句柄,在main.c中定义。// 声明外部的SPI句柄。// 1. 初始化GPIO和SPI(通常在main.c中已由CubeMX生成,这里假设已完成)// HAL_Delay(100);0x00, // GPIO1 = 默认。0x00, // GPIO2 = 默认。0x00, // GPIO3 = 默认。// 4. 加载射频配置(这是最关键的一步,配置频率、调制方式、数据速率等)0x00, // NIRQ = 默认。
2025-09-01 10:55:25
17
原创 基于STM32、HAL库的XN297LBW 无线收发器驱动程序设计
/ ... 实现其他函数,如 XN297_WriteRegister, XN297_ReadRegisterMulti, XN297_WriteCommand 等。/* 函数声明 ------------------------------------------------------------------*/XN297_WriteRegister(hxn, XN297_REG_RF_CH, 76);
2025-09-01 10:51:25
8
原创 基于STM32、HAL库的S2-LPTXQTR无线收发器驱动程序设计
(Ultra-low power, sub-1GHz transceiver)是意法半导体(ST)推出的一款高性能、超低功耗的无线收发器芯片,工作于 sub-1GHz 频段(如 315, 433, 868, 915 MHz)。// 简单的延时函数。#define S2LP_CMD_SRES 0x80 // 软件复位。#define S2LP_CMD_SNOP 0xC0 // 空操作。
2025-09-01 10:42:05
8
原创 基于STM32、HAL库的TDA7116F 无线收发器驱动程序设计
*********************** 方式1:简单的轮询解码(示例,不推荐用于实际产品) ***********************//*********************** 方式2:中断+定时器解码(推荐) ***********************/// return (voltage * 50.0f - 110.0f);
2025-09-01 10:29:35
111
原创 基于STM32、HAL库的MICRF112YMM-TR 无线收发器驱动程序设计
内部集成了 VCO、PLL、PA、LNA、混频器、滤波器等射频功能单元,极大减少了外部元件数量,降低了设计和布线难度。: 具有多种工作模式(睡眠、待机、接收、发射),待机电流极低,非常适合电池供电的物联网(IoT)设备。是 Microchip 公司生产的一款高性能、低功耗的单片 UHF ASK/FSK 收发器芯片。: 支持 ASK (幅移键控) 和 FSK (频移键控) 调制,适应不同应用需求。// 可以添加其他配置参数,如中心频率、数据速率等。智能家居(安防、遥控、传感)远程钥匙进入系统 (RKE)
2025-09-01 10:24:55
106
原创 基于STM32、HAL库的SI24R2F无线收发器驱动程序设计
else if(status & (1 << 4)) { // 假设第4位是MAX_RT (达到最大重发次数)else if(status & (1 << 5)) { // 假设第5位是TX_DS (发送完成中断)status |= (1 << 4) | (1 << 5) | (1 << 6);if(status & (1 << 6)) { // 假设第6位是RX_DR (接收完成中断)
2025-09-01 10:20:43
148
原创 基于STM32、HAL库的SI4010-C2-GTR无线收发器驱动程序设计
/ 延时10ms,这是一个示例值,需要根据数据包长度和速率调整。// 方法1:使用HAL提供的us延时(注意HAL_Delay只能ms,需要自己实现us延时)#define SI4010_nSEL_PIN GPIO_PIN_4 // 如果使用片选。// 3. 根据数据手册,发送命令后需要等待一段时间(TW_TX)让芯片完成发射。// 短暂延时,保持高电平时间。// 这是一个示例配置序列,必须根据你的需求和数据手册进行修改!// 产生一个时钟上升沿,SI4010在上升沿采样DATA。
2025-09-01 10:17:03
11
原创 基于STM32、HAL库的JN5169/001Z无线收发器驱动程序设计
PA4 | ~CS / GPIO | 如果使用SPI则作为片选,否则可作为通用输入,例如中断引脚。
2025-08-29 09:58:37
24
原创 基于STM32、HAL库的CC2640R2FRGZR无线收发器驱动程序设计
if (HAL_UART_Receive(&huart2, &rx_data[idx], 1, 5) == HAL_OK) { // 每次接收1字节,短时等待。// 释放RST(拉高)HAL_GPIO_WritePin(CC2640_RST_PORT, CC2640_RST_PIN, GPIO_PIN_RESET);// 检查是否收到结束符(通常是\r\n),这里简单检查\n。
2025-08-29 09:54:56
152
原创 基于STM32、HAL库的CH592F无线收发器驱动程序设计
/ 先开启接收一个字节。* @note 必须在stm32l4xx_it.c的USARTx_IRQHandler中调用HAL_UART_IRQHandler,// HAL_UART_Transmit(&huart1, data, length, 100);#define CH592_UART_HANDLE huart2 // 使用的UART句柄。
2025-08-27 09:47:20
160
原创 基于STM32、HAL库的CC2543RHBR无线收发器驱动程序设计
它通过 SPI 或 UART 接口接受主控制器(STM32L4)发送的 HCI 指令或自定义 AT 指令,负责处理所有复杂的射频和协议栈任务,并向主控制器返回数据和状态。// 确保SPI配置为模式0/3,8位数据,MSB First,适当时钟(如4-8MHz)// (HAL库中通常在main.c中通过MX_GPIO_Init()已完成,这里确保配置正确即可)#define CC2543_SPI_HANDLE hspi1 // 使用的SPI句柄。// 调用我们的CC2543中断处理函数。
2025-08-27 09:42:37
220
原创 基于STM32、HAL库的CC1310F128RGZR 无线收发器驱动程序设计
支持Sub-1 GHz频段(如315MHz, 433MHz, 468MHz, 470-510MHz, 779-787MHz, 868MHz, 915MHz, 920MHz)。:CC1310的RF_N和RF_P引脚需要连接由电感和电容组成的巴伦(Balun)和匹配网络,这部分电路必须严格按照TI官方参考设计(如LAUNCHXL-CC1310开发板)的布局和参数。// 使用的SPI句柄(如&hspi1)// 例如:CC1310_WriteReg(CC1310_REG_FSCTRL1, 0x0A);
2025-08-27 09:38:15
31
原创 基于STM32、HAL库的ESP32-S3R8 无线收发器驱动程序设计
可选 GPIO (如 PC0) | 使能脚 / 复位脚 | 通过 STM32 GPIO 控制 ESP32 的复位,便于可靠重启。// 指向我们使用的UART句柄。Pin (如 PA3) | ESP32 的发送脚 -> STM32 的接收脚 | 数据从 ESP32 发往 STM32 |// 构造AT指令,例如:AT+CWJAP="Your_SSID","Your_Password"\r\n。#define ESP32_UART_HANDLE huart2 // 使用的UART句柄,例如UART2。
2025-08-27 09:31:45
384
原创 基于STM32、HAL库的MCP4562T-502E/MF数字电位器驱动程序设计
/ 第一个字节: (寄存器地址 << 4) | (value >> 4) & 0x0F)// 数据字节:高4位=数据低4位,低4位=0。// 第一字节:设备地址 + W(0),第二字节:命令码(高4位)| 数据高4位,第三字节:数据低8位(对于8位器件,就是全部数据)// 紧接着的数据字节是数据字节的 [3:0] << 4 (低4位左移4位,占据数据字节的高4位),数据字节的低4位无效。// 命令字节: (0x00 << 4) | (0x80 >> 4) = 0x00 | 0x08 = 0x08。
2025-08-26 10:00:35
20
原创 基于STM32、HAL库的MAX5415EUD+数字电位器驱动程序设计
/ CS 引脚所在的 GPIO Port (e.g., GPIOA)// 指向使用的 SPI Handle (e.g., &hspi1)// CS 引脚号 (e.g., GPIO_PIN_4)// 通常,CS 引脚的 GPIO 初始化应在 GPIO_Init() 中完成,这里假设已经初始化好。#include "main.h" // 可能需要包含 main.h 来获取 hspi1 等定义。* SPI 本身的初始化应在主程序中使用 HAL_SPI_Init() 完成。// 使用 SPI1。
2025-08-26 09:55:06
24
原创 基于STM32、HAL库的MCP4661T-502E/ML数字电位器驱动程序设计
@param reg_addr: 要写入的寄存器地址 (e.g., MCP4661_VOLATILE_WIPER_0)| 5 (P0A), 6 (P0W), 7 (P0B) | - | 电位器0的A, Wiper, B端,按电路需求连接 || 10 (P1A), 11 (P1W), 12 (P1B) | - | 电位器1的A, Wiper, B端 |* @param i2c_addr: 设备的I2C地址 (e.g., MCP4661_I2C_ADDR)*value = rx_data[0];
2025-08-26 09:51:04
188
原创 基于STM32、HAL库的MAX5488EUD+数字电位器驱动程序设计
MAX5488_CMD_SAVE_BOTH = 0x50, // 同时保存两个通道的当前抽头位置到NV。MAX5488_CMD_SAVE_CH0 = 0x30, // 将通道0的当前抽头位置保存到NV。MAX5488_CMD_SAVE_CH1 = 0x40, // 将通道1的当前抽头位置保存到NV。MAX5488_CMD_RECALL_CH0 = 0x60, // 从NV召回数据到通道0的抽头位置。// 使用 HAL_Delay 进行简单阻塞延时。
2025-08-26 09:47:53
22
原创 基于STM32、HAL库的AD5252BRUZ50数字电位器驱动程序设计
define AD5252_I2C_ADDR (0x28 << 1) // 或者直接写 0x50,取决于HAL库版本的理解。#define AD5252_CMD_STORE 0x50 // 从 RDAC 保存到 EEPROM。#define AD5252_CMD_READBACK 0x40 // 与 CMD 位 OR 使用来读回。// 初始化 AD5252 驱动,地址为 0x28 (A2=A1=A0=0)had->i2c_addr = i2c_addr;
2025-08-26 09:43:45
240
原创 基于STM32、HAL库的MAX5436EUB+ 数字电位器驱动程序设计
通过 SPI 发送一个 8 位的数据,即可将滑动变阻器的抽头移动到对应的位置,从而改变两个固定端(H, L)与滑动端(W)之间的电阻值。// 通常不是必须的,因为SPI传输本身需要时间,但根据SCLK速度可选。// HAL_SPI_Transmit 的超时时间设置为100ms,可根据需要调整。* @param cs_pin: CS引脚号 (如 GPIO_PIN_4)/* 添加一个短暂延时,确保芯片有足够时间处理数据(如果需要) *//* 应用示例:让电位器输出一个变化的电压(类似呼吸灯效果) */
2025-08-26 09:39:04
96
原创 基于STM32、HAL库的MCP4013T-103E/CH 数字电位器驱动程序设计
define MCP4013_I2C_ADDR (0x5F << 1) // HAL库使用7位地址左移1位,或直接使用0xBE/0xBF。#include "i2c.h" // 包含你的I2C初始化相关的头文件,例如由CubeMX生成的 i2c.h。大于127的值会被截断。// MCP4013的读操作:主机发起读取请求,从机返回当前滑片位置的一个字节。// 使用HAL_I2C_Master_Transmit直接发送数据。// 使用HAL_I2C_Master_Receive读取一个字节。
2025-08-22 11:19:33
27
原创 基于STM32、HAL库的ISL90728WIE627Z-TK 数字电位器驱动程序设计
define ISL90728_REG_NV_WIPER_0 (0x02U) // 非易失性存储器 0。#define ISL90728_REG_NV_WIPER_1 (0x03U) // 非易失性存储器 1。// 使用默认地址 (A2=A1=A0=0), WP 引脚未使用 (NULL, 0)/* 示例 3: 将当前设置保存到非易失性存储器 0 (掉电后不会丢失) *//* 示例 1: 设置易失性 wiper 位置到中间值 (128) */// HAL_Delay(10);
2025-08-22 11:11:42
122
原创 姿态传感器/陀螺仪之SC7A20TR是应用驱动程序设计
status = HAL_I2C_Mem_Read(dev->i2c_handle, dev->i2c_addr, SC7A20_REG_OUT_X_L | 0x80, // 0x80 用于启用地址自动递增。#define SC7A20_I2C_ADDR_GROUNDED (0x18 << 1) // SA0 = 0: 0x18 -> 写 0x30, 读 0x31。// 从输出寄存器连续读取6个字节 (X_L, X_H, Y_L, Y_H, Z_L, Z_H)// 当前灵敏度 (LSB/g)
2025-08-21 09:47:12
59
原创 姿态传感器/陀螺仪之QMI8658A是应用驱动程序设计
/ 14字节: Acc(6) + Gyr(6) + Temp(2)* AD0引脚接GND:0x6B << 1 = 0xD6 (8-bit write), 0xD7 (8-bit read)* AD0引脚接VCC:0x6A << 1 = 0xD4 (8-bit write), 0xD5 (8-bit read)// ODR: 100Hz (0x05), 量程: ±8g (0x02)
2025-08-21 09:42:41
46
原创 姿态传感器/陀螺仪之SC7A20HTR是应用驱动程序设计
define SC7A20_CTRL1_PM_100HZ (0x5 << 4) // 正常模式,100Hz输出数据速率(ODR)// 用于存储6字节的原始数据(X_L, X_H, Y_L, Y_H, Z_L, Z_H)#define SC7A20_WHO_AM_I_VALUE 0x11 // 读取WHO_AM_I寄存器应该返回的值。// 但HAL_I2C_Mem_Read按顺序读,data[0]是X_L(低8位),data[1]是X_H(高8位)MX_I2C1_Init();
2025-08-21 09:36:04
157
原创 姿态传感器/陀螺仪之LSM6DSOQTR是应用驱动程序设计
可选量程:±125dps, ±250dps, ±500dps, ±1000dps, ±2000dps。I²C (最高 400kHz), SPI (3/4线,最高 10MHz)
2025-08-20 09:38:38
30
原创 姿态传感器/陀螺仪之ADXL337BCPZ-RL是应用驱动程序设计
/ 公式: Acceleration (g) = (ADC_Value - ZERO_G_OFFSET - Offset_Cal) / SENSITIVITY。#define ADXL337_ADC_BUF_LEN (ADXL337_NUM_AXES * 2) // 可以设置长一些用于滤波。
2025-08-20 09:31:24
146
原创 姿态传感器/陀螺仪之ADXL358CCCZ是应用驱动程序设计
/ 初始化 SPI1,模式 0,MSB First,时钟分频根据实际情况设置 (e.g., 1MHz)#define ADXL358_STANDBY_MODE 0x00 // 0b0000 - standby 模式。// 2g 范围,灵敏度为 256 LSB/g。// 4g 范围,灵敏度为 128 LSB/g。// 8g 范围,灵敏度为 64 LSB/g。// 当前量程 (±2g, ±4g, ±8g)// 当前灵敏度 (LSB/g),根据量程计算。// 数据是 20 位,左对齐。
2025-08-20 09:26:04
28
原创 基于STM32、HAL库的AP43771VFBZ-13-FR01快充协议芯片简介及驱动程序设计
define AP43771_I2C_ADDRESS 0x28 // 默认I2C地址。* @param voltage_mv: 输出电压(mV)* @param current_ma: 输出电流(mA)// 转换为芯片需要的格式 (根据实际规格书调整)// 转换为芯片需要的格式 (根据实际规格书调整)
2025-08-19 10:14:28
132
原创 基于STM32、HAL库的IP5353_I2C_AABC_DWDKO快充协议芯片简介及驱动程序设计
@param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。* @param hip5353: IP5353句柄。
2025-08-19 09:41:49
33
原创 基于STM32、HAL库的AP33771CFBZ-13-FA01快充协议芯片简介及驱动程序设计
define AP33771_I2C_ADDRESS 0x28 // 默认I2C地址。// 清除QC版本位。// 尝试协商PD 20V/3A。CC1 ---- Type-C CC1引脚。CC2 ---- Type-C CC2引脚。INT ---- PC13 (外部中断)
2025-08-18 10:20:03
444
原创 基于STM32、HAL库的CS32G021K8U6快充协议芯片简介及驱动程序设计
/ 转换为寄存器值 (5V-20V, 步进100mV)printf("充电中: %dmV, %dmA\r\n", voltage, current);* @param protocols: 协议组合(CTRL_ENABLE_xx)* @param voltage_mv: 输出电压(mV)* @param current_ma: 输出电流(mA)
2025-08-18 10:15:43
289
原创 基于STM32、HAL库的CYPD5225-96BZXI快充协议芯片简介及驱动程序设计
一、简介:CYPD5225-96BZXI是Cypress(现为英飞凌)推出的USB Type-C和PD(Power Delivery)控制器,属于EZ-PD CCG3系列。主要特性包括:支持USB Type-C 1.2和USB PD 3.0规范内置32位ARM Cortex-M0处理器集成Buck-Boost控制器,支持多种电源配置可编程的固件架构,支持定制化开发96-BGA封装,尺寸紧凑支持多种快充协议:PD、QC、AFC等二、硬件接口:STM32L4XX <--> CYPD5225-96B
2025-08-18 10:11:46
38
原创 基于STM32、HAL库的AP33771DKZ-13快充协议芯片简介及驱动程序设计
@param voltage_mv: 电压值(mV)* @param current_ma: 电流值(mA)* @param hpd: AP33771句柄。* @param hpd: AP33771句柄。* @param hpd: AP33771句柄。* @param hpd: AP33771句柄。* @param hpd: AP33771句柄。// 转换为寄存器值 (50mV/step)* @param hpd: AP33771句柄。// 转换为寄存器值 (50mA/step)
2025-08-18 10:08:21
23
原创 基于STM32、HAL库的TPS25762CAQRQLRQ1快充协议芯片简介及驱动程序设计
/ 电压设置范围为5000mV-20000mV,步进20mV。支持多种快充协议(包括QC2.0/3.0, AFC, FCP等)// 电流设置范围为0mA-5000mA,步进50mA。// PD协议已就绪。支持USB Power Delivery 3.0规范。// 在EXTI中断回调函数中处理中断。// ... 配置I2C参数。// 初始化TPS25762。// 初始化失败处理。// 设置输出电压为9V。// 设置输出电流为2A。集成Type-C端口控制器。集成VBUS开关驱动器。
2025-08-18 10:05:05
30
### 【电子设计自动化】NI Circuit Design Suite入门指南:电路原理图绘制与PCB布局教程
2025-04-21
【机械设计软件】SOLIDWORKS 2022教程:三维实体建模用户界面与基础操作指南
2025-04-22
### 【计算机辅助设计】基于SOLIDWORKS 2020的参数化建模基础:零件建模与装配分析入门教程使用SOLIDWORK
2025-04-22
【计算机辅助设计】SOLIDWORKS 2021增强功能综述:大型装配性能与绘图效率提升及云平台集成文档的主要内容
2025-04-22
### 电子工程Multisim 2001电路仿真与分析:模拟与数字电路设计及测量工具使用指南
2025-04-21
【电子电路设计】基于NI Multisim的电路仿真与PCB布局教程:非反相运算放大器电路设计及模拟
2025-04-21
【视觉SLAM技术】从图优化到深度视觉SLAM从图学习:视觉里程计与同步定位建图系统的发展优化到深度学习的视觉里程计历程及最新进展发展综述:特征提取与位姿优化技术演视觉SLAM(进及应用
2025-04-18
### 动态环境下基于深度学习的视觉SLAM研究综述摘要 本文
2025-04-18
### 深度学习下的视觉SLAM综述
2025-04-18
【机器学习领域】基于贝叶斯决策理论的分类器设计与优化:模式识别中的最小错误率与最小风险决策方法探讨
2025-04-17
### 机器学习基于属性选择的改进加权朴素贝叶斯分类算法:提升分类效率与准确性
2025-04-17
### 【自然语言处理】朴素贝叶斯文本分类器:原理、训练与性能评估
2025-04-17
【工业网络通信】基于Modbus协议的工业自动化系统通信设计:实现与应用详解
2025-04-16
【工业通信协议】Modbus串行与TCP/IP实现详解:传统串行链路及现代网络架构下的应用设计Modbus协议在
2025-04-16
### Modbus协议概览与应用
2025-04-16
### 文章总结:MODBUS 用户手册(德语、英语、法语版本)
2025-04-15
【工业自动化】Modbus协议详解:发展历程、技术特点及应用领域综述
2025-04-15
【工业通信协议】Modbus手册v1.05:网络分析仪通信配置与数据读写操作详解
2025-04-15
【Spring框架】Spring Boot常用注解详解:核心功能与MVC开发的关键配置指南
2025-04-14
### 文章总结:Spring Data JPA 参考文档概述
2025-04-14
【交互设计工具】AXURE-RP案例教程:从入门到实践的产品原型设计与交互实现
2025-06-18
【计算机视觉】OpenCV入门教程:涵盖图像处理、视频分析、深度学习及Web应用部署全流程内容,OPENC
2025-05-06
【计算机视觉与图像处理】基于OpenCV4的C++编程教程:矩阵操作、图像I/O及特征提取技术详解
2025-05-06
【计算机视觉】基于OpenCV与Python的图像处理和视频分析技术详解:从基础操作到深度学习应用部署
2025-05-06
【半导体制造】Proteus光刻解决方案:从掩模合成到工艺优化全流程技术介绍与应用介绍了Synopsys
2025-04-29
电子工程Proteus PCB设计套件:集成化布局与原理图绘制工具提升工作效率和设计精度
2025-04-29
### 基于深度学习的机器人局部路径规划方法总结
2025-04-28
【机器人与自动化领域】基于深度强化学习的路径规划算法研究:智能体在复杂环境中的高效导航系统设计
2025-04-28
### 操作系统CentOS 8 安装与管理指南:从基础安装到高级配置
2025-04-27
【Linux系统管理】CentOS命令速查表:系统与用户管理、磁盘分区、文件操作及网络配置实用命令汇总
2025-04-27
【物联网硬件开发】ESP32开发板快速入门指南:基于FreeRTOS的固件开发与烧录流程详解
2025-04-25
【电子电路设计】PROTEUS MINI使用指南:电路编辑与仿真功能详解及应用
2025-04-24
【CAD教育领域】SOLIDWORKS Education Program:集成3D设计、仿真与数据管理的全面教学解决方案
2025-04-23
【计算机辅助设计】SOLIDWORKS 2024新功能详解:提升工作效率与团队协作的设计工具增强
2025-04-23
### 工程设计基于SolidWorks Simulation的应力分析学员指南:工程设计与技术系列课程介绍
2025-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人