- 博客(168)
- 收藏
- 关注
原创 ubuntu20.04系统下搭建GB28181-WVP视频监控系统
编译产物路径:/opt/ZLMediaKit/release/linux/Release/MediaServer。账号/密码:admin / admin。八、摄像机接入要点(GB28181)http://你的IP:18080。保存后,平台设备列表会自动上线。三、安装并配置 Redis。# 回复 PONG 正常。
2026-05-08 11:20:12
240
原创 基于STM32LXXX的无线收发芯片(NRF52805-CAAA-R)应用程序设计
define BLE_NRF_USART huart1 // 使用STM32CubeMX 句柄。#define BLE_NRF_RX_BUF_SIZE 256 // 接收缓冲区大小。// 2. 启动串口空闲中断 + DMA 接收 (这是效率最高的方式)// 启动DMA接收,将数据源源不断存入rx_buffer。// 主动发送数据到手机 (例如传感器数据)
2026-04-20 09:57:01
221
原创 基于STM32LXXX的无线收发芯片(DA14531-00000FX2)应用程序设计
其BLE固件包含L2CAP服务层协议、安全管理器(SM)、属性协议(ATT)、通用属性配置文件(GATT)及通用访问配置文件(GAP),同时支持蓝牙®技术联盟(SIG)发布的所有配置文件及自定义配置文件。DA14531是一款超低功耗系统级芯片(SoC),集成了2.4 GHz收发器和Arm® Cortex-M0+微控制器,配备48 kB随机存取存储器(RAM)及32 kB一次性可编程(OTP)存储器。□ 发射功率:3.5mA;□ GPIO接口:6路(WLCSP17封装)、12路(FCGQFN24封装)
2026-04-20 09:50:09
237
原创 基于STM32LXXX的无线收发芯片(SX1281IMLTRT)应用程序设计
* 频率计算公式:RF = freqHz / (32MHz / 2^18) = freqHz * 2^18 / 32e6 */#define LORA_BW 0x02 /* 812 kHz带宽 */#define LORA_CR 0x01 /* 4/5编码率 *//* 注:实际需要写寄存器0x0891,简化示例未实现完整写寄存器函数 *//* 0表示无超时限制 *//* 清除中断状态,实际需要读取IRQ寄存器,简化处理 */
2026-04-20 09:38:57
132
原创 基于STM32LXXX的无线收发芯片(SI4732-A10-GSR)应用程序设计
Si4732-A10数字CMOS调幅/调频/短波/低频/射频数字接收器集成电路,实现了从天线输入端到数字音频输出端的完整广播调谐与接收功能。这款调幅/调频/短波/低频/射频数字接收器在满足便携设备空间节省与低功耗需求的同时,完美实现了各类调幅/调频/短波/低频/射频解决方案所需的高性能与设计简洁性。// 计算公式: FREQ = (FREQ_IN_MHZ - 64MHz) * 1000 / 20。#define SI4732_POWER_UP_FM 0x01 // 上电为FM模式。
2026-04-20 09:31:09
110
原创 基于STM32LXXX的无线收发芯片(Ci24R1)应用程序设计
/ RF_SETUP: 1Mbps, 0dBm 功率 (可选 0x0E 为 250kbps)Ci24R1_WriteReg(0x00, 0x0F);// SETUP_AW: 5字节地址宽度。// 3. 设置地址 (示例地址: 0xE7, 0xE7, 0xE7, 0xE7, 0xE7)Ci24R1_WriteReg(0x07, 0x40);
2026-04-20 09:21:39
258
原创 基于STM32LXXX的无线收发芯片(ESP8684H4)应用程序设计
主频最高 120 MHz,并集成了 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth 5 (LE) 无线通信功能。:发射功率最高 21.5 dBm,接收灵敏度 -99 dBm,数据速率 72.2 Mbps (20 MHz 频宽)// 例如: ESP8684_SendCmd("AT+CWMODE=1\r\n", "OK", 2000);:272 KB SRAM、576 KB ROM,H4 型号内置 4MB SiP Flash。– 智能手表、智能手环。,而非单纯的收发芯片。
2026-04-20 09:16:17
122
原创 基于STM32LXXX的无线收发芯片(S2-LPQTR)应用程序设计
该设备支持无需许可证许可的ISM频段及 SRD 频段(433、512、868和920MHz),也可编程工作于413-479MHz、452-527MHz、826-958MHz及904-1055MHz等其他附加频段。// 4. 配置GPIO0为中断输出 (PKT_SENT / PKT_RCVD)// 1. 设置频段为868MHz (通过配置合成器相关寄存器)/* 读取寄存器 (地址0-0x7F为配置,0x80+为状态) *//* 接收数据包 (通常在 GPIO0 中断服务函数中调用) */
2026-04-17 10:40:23
26
原创 基于STM32LXXX的无线收发芯片(LLCC68IMLTRT)应用程序设计
/ 4. 发送参数。// 4. 设置频率(例如 868.0 MHz = 868000000 / 61.035 = 14218035)// 2. 配置SPI (Mode 0, 速率建议4-8MHz)// 3. 设置LoRa参数(通过SetModem命令)
2026-04-17 10:32:04
48
原创 基于STM32LXXX的无线收发芯片(SX1280IMLTRT)应用程序设计
/ SPI读写一个字节。// 注意:WRITE_REGISTER 命令后的参数是 3 字节:高8位地址、低8位地址、操作符(通常0)// GPIO、SPI 初始化已在 board.c 或 MX_GPIO_Init() 中完成,此处为空。// 初始化SPI、GPIO等。// 读取中断状态寄存器,判断是 TX 完成、RX 有数据还是 CRC 错误。// 4. 后续配置:频率、功率、扩频因子等(省略)
2026-04-17 10:26:51
37
原创 基于STM32LXXX的无线收发芯片(CC2530F256RHAR)应用程序设计
产品提供四种不同容量的闪存版本:CC2530F32/64/128/256,分别对应32KB/64KB/128KB/256KB闪存容量。// STM32 串口。#define FRAME_HEADER_CMD 0xAA // 命令帧。#define FRAME_HEADER_DATA 0xBB // 数据帧。:支持多种低功耗模式(PM1/2/3)。
2026-04-17 10:19:14
33
原创 基于STM32LXXX的无线收发芯片(SI4463-C2A-GMR)应用程序设计
Si4460器件在+10dBm输出时的有源模式发射电流为18mA,接收电流为10mA,配合极低待机电流和快速唤醒时间,确保在严苛应用场景中保持持久电池续航。// 配置部分一般是由Silicon Labs的WDS软件根据你的频率、速率自动生成的一长串0x11, 0x12等命令序列。 最大输出功率:λ+20 dBm(Si4463)、λ+16 dBm(Si4461)、λ+13 dBm(Si4460)// SI4463 在SPI操作中,第一个返回的字节通常是0xFF才表示准备好接收下一条命令。
2026-04-17 10:11:42
39
原创 基于STM32LXXX的模数转换芯片ADC(TLA2024IRUGR)驱动C程序设计
define TLA2024_MODE_SINGLE 0x0100 // 单次模式 (1) / 连续模式 (0)TLA2024_PGA_4_096V | // 量程 ±4.096V。#define TLA2024_MUX_AIN0 0x4000 // AIN0 单端 (相对于 GND)#define TLA2024_PGA_6_144V 0x0000 // FS ±6.144V (默认)#define TLA2024_OS_SINGLE 0x8000 // 开始单次转换 (写1)
2026-04-17 10:02:55
30
原创 基于STM32LXXX的模数转换芯片ADC(CMS24AD2001)驱动C程序设计
/ 电压 = (原始值 / 2^23) * Vref (注意:24位有符号数范围为 -2^23 到 2^23-1)//---------------- 硬件端口映射 (请根据实际电路修改) ----------------ADC_SCLK_HIGH();- PGA 放大倍数可选:1、2、4、8、16、32、64、128、256;//---------------- 宏定义操作 -------------------//---------------- 函数声明 -------------------
2026-04-17 09:57:42
54
原创 基于STM32LXXX的模数转换芯片ADC(SGM58031XMS10G/TR)驱动C程序设计
pga = SGM58031_CONFIG_PGA_2_048V, // 小信号选择较小量程。.pga = SGM58031_CONFIG_PGA_4_096V, // 量程 ±4.096V。g_config_reg = SGM58031_CONFIG_COMP_QUE_DIS | // 禁用报警。.data_rate = SGM58031_CONFIG_DR_960SPS, // 高速模式。
2026-04-17 09:50:03
55
原创 基于STM32LXXX的模数转换芯片ADC(ADS1100A0IDBVR)驱动C程序设计
define ADS1100_CFG_SC_MASK 0x08 /* 位3: 单次/连续 */#define ADS1100_CFG_ST_MASK 0xC0 /* 位7-6: 速率 */#define ADS1100_CFG_GAIN_MASK 0x30 /* 位5-4: 增益 */#define ADS1100_CFG_DR_MASK 0x04 /* 位2: 数据就绪 *//* I2C设备地址 *//* I2C句柄 *//* PGA增益 */
2026-04-17 09:43:48
131
原创 基于STM32LXXX的模数转换芯片ADC(ADS7128IRTER)驱动C程序设计
define ADS7128_ADC_DATA(ch) (0x10 + (ch)) // 通道数据寄存器 0x10-0x17。#define ADS7128_ADDR (0x48 << 1) // 7位地址左移一位。// 此处写入 channel 值触发转换 (根据具体数据手册位域定义)// 1. 配置设备设置 (例如启用 CRC 检查等,此处简化)// 写入通道选择寄存器 (部分配置可能需要,根据数据手册调整)// 等待转换完成 (检查 BUSY 位 或 简单延时)
2026-04-17 09:37:49
122
原创 基于STM32LXXX的模数转换芯片ADC(MCP3202-CI/SN)驱动C程序设计
@param channel: 通道选择(MCP3202_CH0/CH1/CH0_CH1_DIFF/CH1_CH0_DIFF)#define MCP3202_CH0_CH1_DIFF 0x00 /* 伪差分模式 IN+=CH0, IN-=CH1 */#define MCP3202_CH1_CH0_DIFF 0x40 /* 伪差分模式 IN+=CH1, IN-=CH0 */#define MCP3202_CH0 0x80 /* 单端模式 CH0 */
2026-04-16 10:10:07
20
原创 基于STM32LXXX的模数转换芯片ADC(CS1238-SOP14)驱动C程序设计
define CS1238_SPEED_1_28kHz 0x60 // 1.28kHz输出速率。#define CS1238_SPEED_640Hz 0x40 // 640Hz输出速率。#define CS1238_SPEED_10Hz 0x00 // 10Hz输出速率。#define CS1238_SPEED_40Hz 0x20 // 40Hz输出速率。// 假设72MHz主频,粗略延时。#define CS1238_CH_AIN1 0x00 // 通道1。
2026-04-16 10:06:09
23
原创 基于STM32LXXX的模数转换芯片ADC(HX71708)驱动C程序设计
define HX71708_SCK_DELAY() delay_us(5) /* SCK时钟延时,约5us */#define HX71708_RATE_10HZ 0x00 /* 10Hz采样率 */#define HX71708_RATE_20HZ 0x01 /* 20Hz采样率 */#define HX71708_RATE_80HZ 0x02 /* 80Hz采样率 *//* SCK引脚端口 *//* SCK引脚号 *//* 当前采样率 */
2026-04-16 10:01:48
46
原创 基于STM32LXXX的模数转换芯片ADC(HX712)驱动C程序设计
HX712_CHANNEL_A_128GAIN = 0, // 通道A,增益128 (适用于称重传感器)HX712_CHANNEL_B_32GAIN = 1, // 通道B,增益32 (电池检测或其他)// 至少延时0.2us,STM32L主频通常不高,适度延时。HX712_CHANNEL_A_64GAIN = 2 // 通道A,增益64。// 读取通道A,增益128 (适用于称重传感器)// 如果RATE接地,采样率为10Hz;// 如果最高位(第23位)为1,则是负数,需要将高位补1。
2026-04-16 09:56:53
43
原创 基于STM32LXXX的模数转换芯片ADC(MS5110S-A0)驱动C程序设计
/ 16位有符号数范围 -32768 ~ 32767 对应 -2.048V ~ +2.048V。#define MS5110S_ADDR_GND 0x48 << 1 // 地址左移一位,兼容HAL库。// 为简化代码,这里发送一个包含SC=1的配置字节(基于之前的配置)// 实际应用中,可以先读取当前配置,将SC位置1再写回。// 建议:发送 0x80 (仅启动) 或 完整配置字节。// 上电默认配置:增益1,15SPS,慢速模式。// 1. 发送SC=1的配置,准备启动转换。
2026-04-16 09:52:13
45
原创 基于STM32LXXX的模数转换芯片ADC(CM1103-SOPTA)驱动C程序设计
define CM1103_CONFIG_OS_SINGLE 0x8000 // 单次转换启动。#define CM1103_CONFIG_COMP_QUE_DIS 0x0003 // 禁用比较器。#define CM1103_CONFIG_MODE_CONT 0x0000 // 连续模式。#define CM1103_CONFIG_MODE_SINGLE 0x0100 // 单次模式。if(GPIO_Pin == GPIO_PIN_0) { // 假设ALERT接PA0。// 转换为有符号数。
2026-04-16 09:47:49
48
原创 基于STM32LXXX的模数转换芯片ADC(HX710A)驱动C程序设计
/ 公式: 输入电压 = (ADC值 / 2^23) * Vref * (1/Gain)HX710_CH_A_128_10HZ = 0, // 通道A,增益128,10Hz (默认)HX710_CH_A_128_40HZ = 1, // 通道A,增益128,40Hz。HX710_CH_TEMP = 2, // 通道B,片内温度传感器。// 原理:如果 24 位数据的最高位是 1 (负数),将高 8 位补 1。HX710_CH_OFF = 3 // 断电模式。
2026-04-16 09:43:15
74
原创 基于STM32LXXX的模数转换芯片ADC(ADS8866IDGSR)驱动C程序设计
include "spi.h" // 假设 SPI 句柄为 hspi1,需在 stm32l4xx_hal_conf.h 或 main.c 中定义。// 这里演示使用空延时循环,实际请使用 HAL_Delay_us (需实现)或调整 SPI 速率使读取时间覆盖转换时间。// HAL_SPI_TransmitReceive 会控制 CS 吗?// 组合数据:rx_buffer[0] 是高位,rx_buffer[1] 是低位。// 公式:Vin = (ADC_Code / 65536.0) * Vref。
2026-04-16 09:38:49
32
原创 基于STM32XX的LCD液晶显示屏(NHD-12864WG-BTMI-V#N、驱动芯片:KS0108)驱动C程序设计
define LCD_CS1_EN() HAL_GPIO_WritePin(LCD_CS1_PORT, LCD_CS1_PIN, GPIO_PIN_RESET) // 低有效。// 可以在这里插入忙检测: while((LCD_Read_Status() & 0x80) == 0x80);/*================== 硬件引脚重定义 ==================*//*================== 函数接口 ==================*/
2026-04-16 09:27:39
123
原创 基于STM32XX的LCD液晶显示屏(N085-1212TBWIG41-H12、驱动芯片:GC9107)驱动C程序设计
/ 参数: 0x00 或 0x60 (根据屏幕丝印方向调整)// 5. 像素格式设置为 RGB565 (0x3A)// 6. 其他性能设置 (参考数据手册推荐值)// 简单呼吸灯效果 (利用 BL 脚)// --- 引脚电平宏定义 (便于移植) ---// 9. 清屏 (可选: 设为白色背景)// 这里设置为 0x00 (正常显示)// 3. 显示关闭 (为了安全配置)// 4. 内存访问控制 (0x36)// 写入16位颜色数据 (RGB565)// 核心:设置显示窗口 (避免屏幕偏移)
2026-04-16 09:22:41
144
原创 基于STM32XX的LCD液晶显示屏(X154-2864KSWBG01-C24、驱动芯片:CH1116)驱动C程序设计
define OLED_ADDR 0x78 // 7位地址0x7A左移1位 = 0xF4?// 注:标准7位地址0x7A,写操作地址 = 0x7A << 1 = 0xF4,但多数例程使用0x78。#define OLED_SET_PAGE 0xB0 // 设置页地址(0xB0~0xB7){0x00,0x00,0x00,0x00,0x00,0x00} // 最后一个字符。{0x00,0x00,0x00,0x00,0x00,0x00}, // 空格。
2026-04-15 10:43:04
24
原创 基于STM32XX的LCD液晶显示屏(X150-2828KSWKG01-H25、驱动芯片:SH1107)驱动C程序设计
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 空格。{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 空格。#define SH1107_CMD_SET_SEG_REMAP 0xA0 // 段重映射(0xA0/0xA1)// COM输出方向(反向)// VCOM检测电平。
2026-04-15 10:37:26
21
原创 基于STM32XX的LCD液晶显示屏(1.5inch OLED Module、驱动芯片:SSD1327)驱动C程序设计
define OLED_DC_LOW() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET) // 命令。#define OLED_DC_HIGH() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET) // 数据。
2026-04-15 10:32:19
30
原创 基于STM32XX的LCD液晶显示屏(N063-2028TSWIG02-H14、驱动芯片:SSD1312)驱动C程序设计
/ 1/32 duty (针对高度28通常设置为类似值)// 写入0x00清空该页。// 段重映射 (SEG remap)// 正常显示 (非反色)// SSD1312 显存寻址通常按页(Page)进行,每页8像素。// 高度28像素 -> 4页 (28/8=3.5 -> 取4页)// 初始化序列 (基于搜索结果中的典型配置) [citation:9]// 在指定位置显示一个字符 (row: 0~3, col: 0~列数)#include "i2c.h" // 假设I2C句柄为 hi2c1。
2026-04-15 10:26:20
51
原创 基于STM32XX的LCD液晶显示屏(N087-2832TSWYG02-H14、驱动芯片:CH1115)驱动C程序设计
/ COM扫描方向 (0xC0: 正常, 0xC8: 上下翻转)#define OLED_ADDR (0x78) // 常用地址 (0x3C << 1)OLED_Write_Cmd(0xA1);// 段重映射 (0xA0: 正常, 0xA1: 左右翻转)OLED_Write_Cmd(0x00);// 32行模式下设置为0x02 (64行模式为0x12)OLED_Write_Cmd(0x00);
2026-04-15 10:21:56
43
原创 基于STM32XX的LCD液晶显示屏(HS91L02W2C01、驱动芯片:SSD1306)驱动C程序设计
define SSD1306_I2C_ADDR (0x78 << 1) // 注意:HAL库需要8位地址,左移一位即0x78。// 高度32,驱动路数为31 (32-1)// 设置COM扫描方向 (重映射)// 对比度值 (范围0-255)// 简易ASCII字符显示 (支持6x8或8x16字体需要字库数组,此处展示核心逻辑)// 段重映射 (翻转左右)ssd1306_WriteCmd(0x02);// 页寻址模式 (常用)// 正常显示 (非反色)ssd1306_WriteCmd(0x02);
2026-04-15 10:15:22
74
原创 基于STM32XX的LCD液晶显示屏(HS96L03W2C03、驱动芯片:SSD1315)驱动C程序设计
/ 初始化OLED。// 0x00表示命令。
2026-04-15 10:11:41
197
原创 基于STM32L4XX的环境光传感器(BU27030NUC-E2)应用程序设计
/ 假设写入 0x01 启动传感器,具体值需查阅数据手册。* @note 转换公式依据数据手册,此处为示例公式:Lux = Count / Gain * Res。#define BU27030_ALS_DATA_L 0x10 // ALS 数据低字节。#define BU27030_ALS_DATA_H 0x11 // ALS 数据高字节。// 等待传感器启动完成。// 实际芯片有增益设置,需要根据当前配置的增益计算。// 寄存器地址映射 (示例,需查阅数据手册确认)
2026-04-15 10:01:19
24
原创 基于STM32L4XX的环境光传感器(BH1721FVC-TR)应用程序设计
define BH1721FVC_CMD_H_RES 0x10 // 高分辨率模式 (1 lx, 120ms)#define BH1721FVC_CMD_L_RES 0x13 // 低分辨率模式 (4 lx, 16ms)// 选择高分辨率模式 (120ms 测量)// 注意:实际光照度 = ADC值 / 1.2 (根据不同模式系数略有不同,高分辨率模式典型系数为 1.2)#define BH1721FVC_POWER_DOWN 0x00 // 断电模式。
2026-04-15 09:56:08
151
原创 基于STM32L4XX的环境光传感器(AS7343-DLGMN)应用程序设计
define AS7343_STATUS_SPECTRAL_INT (1 << 3) /* 光谱数据就绪 */#define AS7343_SYS_CFG_SPECTRAL_EN (1 << 1) /* 光谱测量使能 */#define AS7343_SYS_CFG_ALS_EN (1 << 0) /* ALS使能 */#define AS7343_SYS_CFG_INT_EN (1 << 4) /* 中断使能 *//* 切换通道组 (0=组1 F1-F6, 1=组2 F7-F12) */
2026-04-15 09:49:51
193
原创 基于STM32L4XX的环境光传感器(TCS34727FN)应用程序设计
TCS34727FN是一款集成了红外滤光片的数字颜色传感器,能输出RGB三原色和Clear(无滤光)四个通道的16位数据。#define TCS34727_EN_AEN (1 << 1) // RGBC ADC使能。#define TCS34727_EN_PON (1 << 0) // 上电。// 4. 设置积分时间 (默认2.4ms):颜色光数字转换器(红、绿、蓝、Clear)// 3. 设置增益 (默认16x)// 读取RGBC数据。// 补偿后的RGB值。
2026-04-14 10:28:02
24
原创 基于STM32L4XX的环境光传感器(VEML3235)应用程序设计
* 等待上电稳定,数据手册建议4ms以上 *//* 每秒采样一次 *//* 积分时间修正系数(相对于100ms) *//* 方式二:读取原始数据后转换 *//* I2C1初始化(以STM32L476为例) *//* 方式一:直接读取Lux值 *//* 基础Lux乘数(来自数据手册) *//* 初始化VEML3235 *//* 初始化失败处理 *//* 直接读取Lux值(组合函数) *//* 可选:配置传感器参数 *//* CONFIG寄存器位定义 *//* 更新CONFIG寄存器 */
2026-04-14 10:20:38
21
原创 基于STM32L4XX的环境光传感器(OPT4001DTSR)应用程序设计
• 内置自动全量程光量范围选择逻辑,根据输入光量动态切换测量范围,实现跨量程优异增益匹配 • PicoStar™封装方案提供-312.5 μlux 至83 klux的28位有效动态范围,SOT-5x3封装方案覆盖437.5 μlux 至117 klux • 12种可配置转换时长(600 μs 至800 ms),适用于各类高速高精度应用场景。* 其中 CTIME_SHIFT = 0 (0.6ms), 1 (3ms), 2 (12ms), 3 (48ms), 4 (192ms), 5 (768ms)
2026-04-14 10:15:40
23
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅