July工作室
心随境转则凡,心能转境则圣
展开
-
基于STM32L4XX、HAL库的M41T0M6F驱动程序设计
/ 忽略最高位(ST位)time->day = BCD_To_Byte(data[3] & 0x07);// 星期几(1-7)time->hours = BCD_To_Byte(data[2] & 0x3F);// 星期天=1, 星期一=2,...,星期六=7。#define M41T0M6F_I2C_ADDRESS 0xD0 // 7位地址为0x68,左移一位。// 起始寄存器地址。// 读取7个寄存器(秒到年)原创 2025-04-08 15:18:22 · 18 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS1390U驱动程序设计
/ A1M4 = 1 (忽略日/日期)// A1M3 = 1 (忽略小时)data[1] = DEC2BCD(alarm->minutes) | 0x80;// A1M2 = 1 (忽略分钟)data[0] = DEC2BCD(alarm->seconds) | 0x80;// A1M1 = 1 (忽略秒)// 保留其他位,设置SQWE=1, RS=00(1Hz)// 忽略24/12小时模式位。// 配置控制寄存器 (示例配置:使能方波输出1Hz)// 写入报警寄存器 (假设使用报警1寄存器)原创 2025-04-08 13:24:39 · 12 阅读 · 0 评论 -
基于STM32L4XX、HAL库的M41T81M6F驱动程序设计
define M41T81_I2C_ADDRESS 0xD0 // 7位地址为0x68,左移一位。if(GPIO_Pin == GPIO_PIN_13) { // 假设闹钟连接到PC13。// 在调试终端打印时间。// 设置闹钟(每天15:31:00)// 使能1Hz方波输出。// 检查设备是否响应。// 读取控制寄存器。// 设置闹钟使能位。原创 2025-04-08 10:34:31 · 16 阅读 · 0 评论 -
基于STM32L4XX、HAL库的ISL1208IB8Z驱动程序设计
6 (IRQ) -> 不接或接中断引脚(如PC13)1 (Vbat) -> 3V电池(正极)低功耗:工作电流400nA(典型值@3.3V)7 (NC) -> 不接。8 (NC) -> 不接。可编程时钟输出(32.768kHz至1Hz)报警功能(可配置为每天/每周/每月)时钟精度:±5ppm(25°C时)温度范围:-40°C至+85°C。工作电压:1.8V至5.5V。I2C接口(400kHz)128字节用户EEPROM。原创 2025-04-08 10:18:47 · 15 阅读 · 0 评论 -
基于STM32L4XX、HAL库的PCF851263驱动程序设计
define PCF85163_I2C_ADDR 0x51 << 1 // 7位地址左移1位。if(GPIO_Pin == GPIO_PIN_13) // 假设INT接在PC13。if(ctrl2 & 0x01) // AF标志置位。// 配置控制寄存器1: 使能时钟输出(可选).weekday = 3, // 星期三。* @param hi2c: I2C句柄。* @param hi2c: I2C句柄。* @param hi2c: I2C句柄。* @param hi2c: I2C句柄。原创 2025-04-08 10:08:23 · 11 阅读 · 0 评论 -
基于STM32L4XX、HAL库的PCF85263驱动程序设计
SDA(3) PB7/I2C1_SDA (或其他I2C SDA引脚)SCL(4) PB6/I2C1_SCL (或其他I2C SCL引脚)// 根据alarm_num选择正确的寄存器地址。原创 2025-04-08 09:59:48 · 9 阅读 · 0 评论 -
基于STM32L4XX、HAL库的RX8130驱动程序设计
(data[0] & 0x80)) // 检查秒寄存器的最高位(时钟停止位)* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。* @param time: 时间结构体指针。* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。* @param hi2c: I2C句柄指针。原创 2025-04-08 09:52:07 · 17 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS1337S驱动程序设计
/ 确保时钟运行(bit7=0)* @param rate: 频率(0=1Hz, 1=4.096kHz, 2=8.192kHz, 3=32.768kHz)time->seconds = DS1337_DecodeBCD(data[0] & 0x7F);// INTCN=1: 中断输出(禁用方波)原创 2025-04-08 09:48:23 · 12 阅读 · 0 评论 -
基于STM32L4XX、HAL库的PCF8523T驱动程序设计
/ 设置频率 (0x00=32.768kHz, 0x01=16.384kHz, 0x02=8.192kHz, 0x03=4.096kHz, 0x04=1.024kHz, 0x05=1Hz)data[2] = bin2bcd(day) | 0x80;#define PCF8523_ADDR 0x68 << 1 // I2C地址(7位地址左移1位)// 周日=0, 周一=1, ..., 周六=6。if(GPIO_Pin == GPIO_PIN_13) { // 假设闹钟连接到GPIO13。原创 2025-04-08 09:43:44 · 6 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS1339U驱动程序设计
return HAL_I2C_Mem_Write(hi2c, DS1339U_I2C_ADDRESS, 0x09, // 报警1寄存器开始地址。printf("当前时间: 20%02d-%02d-%02d %02d:%02d:%02d 星期%d\r\n",#define DS1339U_I2C_ADDRESS 0x68 << 1 // I2C地址(左移1位)// 日/日期、时、分、秒匹配时报警。// 假设I2C1已初始化。case 4: // 日/日期、时、分、秒匹配时报警。原创 2025-04-08 09:39:25 · 116 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS3231驱动程序设计
/ 0.25°C精度。// 设置初始时间(示例:2023年6月15日,星期四,14:30:00)#define DS3231_ADDRESS 0xD0 // 0x68左移一位。// 初始化DS3231。// DS3231 I2C地址。// 检查设备是否响应。// 配置I2C时序。// 初始化DS3231。// I2C1初始化函数。原创 2025-04-08 09:06:23 · 16 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS1307ZM驱动程序设计
define DS1307_I2C_ADDRESS 0x68 << 1 // 左移1位因为HAL库需要7位地址左移。// 星期二(1=星期日, 7=星期六)// 假设使用I2C1。原创 2025-04-07 20:27:01 · 8 阅读 · 0 评论 -
基于STM32L4XX、HAL库的RX8025T驱动程序设计
/ 设置控制寄存器: 24小时模式,禁用所有中断。* @param time: 时间结构体指针。* @param time: 时间结构体指针。* @param len: 要读取的数据长度。* @param len: 要写入的数据长度。* @param reg: 起始寄存器地址。* @param reg: 起始寄存器地址。* @param hi2c: I2C句柄。* @param hi2c: I2C句柄。* @param hi2c: I2C句柄。原创 2025-04-07 20:23:05 · 8 阅读 · 0 评论 -
基于STM32L4XX、HAL库的MCP7940N驱动程序设计
define MCP7940N_I2C_ADDRESS 0x6F // MCP7940N的I2C地址。// 去掉12/24小时格式位。// 设置ST位以启动振荡器。// 设置ST位以启动振荡器。// 读时间失败处理。// 初始化MCP7940N。// 初始化失败处理。// 写时间失败处理。// 读取秒、分、时寄存器。// 设置秒、分、时寄存器。原创 2025-02-13 21:39:25 · 324 阅读 · 0 评论 -
基于STM32L4XX、HAL库的PCF85063驱动C语言程序设计
define PCF85063_I2C_ADDRESS 0x51 // PCF85063 的 I2C 地址。PCF85063 是一款低功耗实时时钟(RTC)芯片,常用于嵌入式系统中。原创 2025-02-14 09:28:44 · 268 阅读 · 0 评论 -
基于STM32L4XX、HAL库的DS1302Z驱动程序设计
/ 2023年10月15日,星期一,12:30:00。// 例如:通过串口打印时间。// 获取日期和时间。// 向DS1302写入一个字节。// 从DS1302读取一个字节。// 复位DS1302。// 使能DS1302。// 系统时钟配置代码。// DS1302寄存器地址。// 初始化GPIO。// 设置日期和时间。// DS1302引脚定义。// 初始化DS1302。// 设置日期和时间。原创 2025-02-17 09:46:37 · 765 阅读 · 0 评论 -
基于STM32L4XX、HAL库的PCF8563T 驱动程序设计
define PCF8563_I2C_ADDRESS 0x51 // PCF8563的I2C地址。// 根据实际情况设置。// 假设I2C1已经初始化。// 默认值,启动时钟。// 设置控制寄存器1,启动时钟。// 设置时间失败处理。// 获取时间失败处理。// 初始化失败处理。// 调用PCF8563示例。// 初始化PCF8563。// 读取时间寄存器。// 初始化PCF8563。原创 2025-02-17 09:50:42 · 432 阅读 · 0 评论