July工作室
心随境转则凡,心能转境则圣
展开
-
基于STM32L4XX、HAL库的FM22L16铁电存储器 驱动程序设计
* 高字节地址 *//* 低字节地址 */addrBuffer[0] = (uint8_t)(regAddress >> 8);#define FM22L16_SIZE 0x4000 /* 总容量16K字节(128K位) */buffer[0] = (uint8_t)(regAddress >> 8);原创 2025-05-26 10:29:46 · 17 阅读 · 0 评论 -
基于STM32L4XX、HAL库的M24512 EEPROM 驱动程序设计
HAL库(Hardware Abstraction Layer)是ST提供的一个硬件抽象层库,用于简化STM32系列微控制器的开发。M24512是STMicroelectronics推出的512Kbit(64KB)串行EEPROM,采用I2C接口通信。#define M24512_I2C_ADDRESS 0xA0 // M24512的I2C地址。: 连接到STM32L4的I2C数据线(如PB7): 连接到STM32L4的I2C时钟线(如PB6)// 写入数据到EEPROM。// 初始化错误处理。原创 2025-03-17 20:35:35 · 802 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C32 EEPROM 驱动程序设计
AT24C32是一款32Kbit(4KB)的串行EEPROM存储器,采用I2C接口通信。STM32L4系列微控制器是低功耗的ARM Cortex-M4内核微控制器,支持多种外设接口,包括I2C。: 接地(用于设置I2C地址,全接地时地址为0xA0): 接STM32L4的I2C数据线(如PB7): 接STM32L4的I2C时钟线(如PB6)原创 2025-03-17 20:31:51 · 747 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C16 EEPROM 驱动程序设计
define AT24C16_I2C_ADDRESS 0xA0 // AT24C16的I2C地址。: I2C时钟线,连接到STM32L4的I2C_SCL引脚。: I2C数据线,连接到STM32L4的I2C_SDA引脚。// 数据不匹配处理。// 写入数据到AT24C16。// 从AT24C16读取数据。// 检查I2C是否已初始化。// 写入数据到EEPROM。// 从EEPROM读取数据。// 初始化失败处理。// 初始化错误处理。// 初始化AT24C16。// 验证读取的数据。原创 2025-03-17 20:25:18 · 548 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C08C EEPROM 驱动程序设计
define AT24C08C_I2C_ADDRESS 0xA0 // AT24C08C的I2C地址。: 接地(用于设置I2C地址,AT24C08C的地址为0xA0)。// 等待EEPROM写入完成。: 连接到STM32的I2C数据线(如PB7)。: 连接到STM32的I2C时钟线(如PB6)。// 从地址0x00读取一个字节。// 写入一个字节到地址0x00。// 写入和读取成功。// 写入一页数据(最多16字节)// 读取缓冲区数据。原创 2025-03-17 20:21:22 · 885 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C128 EEPROM 驱动程序设计
define AT24C128_MEMORY_SIZE 16384 // 存储器大小 (16KB)#define AT24C128_I2C_ADDRESS 0x50 // 器件地址。#define AT24C128_PAGE_SIZE 64 // 页大小。原创 2025-03-17 20:18:08 · 1083 阅读 · 0 评论 -
基于STM32L4XX、HAL库的93LC56BT EEPROM 驱动程序设计
93LC56BT 是一款串行EEPROM存储器,容量为2K位(256字节),采用SPI接口进行通信。它广泛应用于需要非易失性存储的场景,如配置存储、数据记录等。: 连接到STM32的SPI主输出从输入引脚(MOSI)。: 连接到STM32的SPI主输入从输出引脚(MISO)。: 连接到STM32的GPIO引脚,用于选择芯片。: 连接到STM32的SPI时钟引脚(SCK)。原创 2025-03-13 20:55:01 · 786 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C512 EEPROM 驱动程序设计
/ 100kHz时钟。#define AT24C512_I2C_ADDR 0xA0 // AT24C512设备地址。: I2C时钟线,连接STM32的I2C_SCL引脚。// 写入数据到地址0x0000。原创 2025-03-13 20:50:57 · 874 阅读 · 0 评论 -
基于STM32L4XX、HAL库的BL24C256A EEPROM 驱动程序设计
define BL24C256A_I2C_ADDRESS 0xA0 // BL24C256A 的 I2C 地址。: I2C 时钟线,连接到 STM32 的 I2C 时钟引脚(如 PB6)。: I2C 数据线,连接到 STM32 的 I2C 数据引脚(如 PB7)。: 电源(2.5V - 5.5V),连接到 STM32 的 3.3V 电源。// 初始化 BL24C256A。: 写保护引脚,接地表示禁用写保护。// 检查 I2C 是否正常。// 初始化失败处理。: 地,连接到 STM32 的地。原创 2025-03-13 20:45:29 · 614 阅读 · 0 评论 -
基于STM32L4XX、HAL库的M24C64 EEPROM 驱动程序设计
M24C64 是 STMicroelectronics 生产的一款 64 Kbit(8 KB)串行 EEPROM 存储器,采用 I2C 接口进行通信。: 7-bit I2C 地址,通常为 0xA0(写)和 0xA1(读): I2C 时钟线,连接到 STM32 的 I2C_SCL 引脚。: I2C 数据线,连接到 STM32 的 I2C_SDA 引脚。: 写保护引脚(可选,接地时禁用写保护): 电源(2.5V - 5.5V)原创 2025-03-13 20:40:39 · 563 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C256 EEPROM 驱动程序设计
AT24C256是一款256Kbit(32KB)的串行EEPROM,采用I2C接口通信。: 地址引脚(用于设置设备地址): 写保护引脚(高电平时写保护): 电源(通常为3.3V)原创 2025-03-13 20:36:23 · 648 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25V05铁电存储器 驱动程序设计
一、简介: FM25V05 是Cypress(现为Infineon)推出的512Kbit(64KB)串行FRAM(铁电随机存取存储器),具有非易失性、高速度、低功耗等特点,通过SPI接口与微控制器通信。二、硬件接口:FM25V05通过SPI接口与STM32L4XX连接,典型连接方式如下:VDD:接3.3V电源VSS:接地SCK:接STM32的SPI时钟线MOSI:接STM32的SPI主输出从输入线MISO:接STM32的SPI主输入从输出线CS:接STM32的SPI片选线HOLD:保持引脚,接原创 2025-03-12 20:31:42 · 487 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25V10铁电存储器 驱动程序设计
define FM25V10_READ 0x03 // 读数据。原创 2025-03-12 20:26:08 · 764 阅读 · 0 评论 -
基于STM32L4XX、HAL库的MB85RC256铁电存储器 驱动程序设计
是富士通推出的256Kbit(32KB)串行FRAM(铁电随机存取存储器),具有非易失性、高速度、低功耗等特点,通过I2C接口与微控制器通信。#define MB85RC256_I2C_ADDRESS 0xA0 // 默认I2C地址。* @param MemAddress: 存储器地址。* @param MemAddress: 存储器地址。* @param pData: 读取数据的缓冲区指针。* @param pData: 要写入的数据指针。* @param Size: 数据大小。原创 2025-03-12 20:18:28 · 844 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM24CL04B铁电存储器 驱动程序设计
是Cypress(现为Infineon)推出的4Kbit(512字节)串行FRAM(铁电随机存取存储器),具有非易失性、高速度、低功耗等特点,通过I2C接口与微控制器通信。// 初始化错误处理。:地址选择引脚,用于设置I2C地址。(假设A2, A1, A0接地)。FM24CL04B的I2C地址为。:写保护引脚,接地时允许写操作。:接STM32的I2C数据线。:接STM32的I2C时钟线。原创 2025-03-12 20:12:57 · 705 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM24W256铁电存储器 驱动程序设计
FM24W256是一款256Kbit(32KB)的串行FRAM(铁电随机存取存储器),采用I2C接口。FRAM结合了RAM的速度和EEPROM的非易失性,适合需要频繁写入和低功耗的应用。#define FRAM_I2C_ADDRESS 0xA0 // FM24W256的I2C地址。: I2C时钟线,连接到STM32的SCL引脚。// 发送地址和数据。: 电源(3.3V)。原创 2025-03-11 20:15:57 · 750 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25W256铁电存储器 驱动程序设计
FM25W256是一款256Kbit(32KB)的串行FRAM(铁电随机存取存储器),具有SPI接口。FRAM结合了RAM的速度和EEPROM的非易失性,适合需要频繁写入和低功耗的应用。FM25W256通过SPI接口与STM32L4XX微控制器通信。: 主输出从输入,连接到STM32的MOSI引脚。: 主输入从输出,连接到STM32的MISO引脚。: SPI时钟线,连接到STM32的SCK引脚。: 片选信号,连接到STM32的GPIO引脚。: 电源(3.3V)。原创 2025-03-11 20:07:17 · 564 阅读 · 0 评论 -
基于STM32L4XX、HAL库的MB85RS256铁电存储器 驱动程序设计
@param state: GPIO_PIN_SET(高电平)或 GPIO_PIN_RESET(低电平)MB85RS256_CS_Control(GPIO_PIN_RESET);* @param GPIO_Pin: 片选GPIO引脚。原创 2025-03-11 20:01:05 · 542 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM24CL16B铁电存储器 驱动程序设计
FM24CL16B 是一款由Cypress(现为Infineon)生产的16Kbit(2K x 8)串行FRAM(铁电随机存取存储器)芯片。// 初始化GPIO。// 初始化I2C1。// 初始化GPIO(根据实际硬件配置)// 配置系统时钟(根据实际硬件配置)// 时钟初始化错误处理。// 时钟配置错误处理。// 初始化错误处理。原创 2025-03-11 19:51:41 · 795 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25V02A铁电存储器 驱动程序设计
FM25V02A 与 STM32L4XXX 的硬件连接需要连接 SPI 接口的四个引脚:SCK、MISO、MOSI、CS。SPI 主机输入从机输出线,连接 STM32L4XXX 的 SPI MISO 引脚。SPI 主机输出从机输入线,连接 STM32L4XXX 的 SPI MOSI 引脚。#define FM25V02A_WRSR 0x01 // 写状态寄存器。SPI 时钟线,连接 STM32L4XXX 的 SPI SCK 引脚。#define FM25V02A_WRITE 0x02 // 写数据。原创 2025-03-10 20:31:15 · 569 阅读 · 0 评论 -
基于STM32L4XX、HAL库的MB85RC64铁电存储器 驱动程序设计
MB85RC64 与 STM32L4XXX 的硬件连接非常简单,只需要连接 SDA、SCL、VCC 和 GND 四个引脚即可。#define MB85RC64_I2C_ADDRESS 0xA0 // 假设 A0=A1=A2=0。#define MB85RC64_I2C_ADDRESS 0xA0 // 假设 A0=A1=A2=0。// 配置 I2C 时序。I2C 数据线,连接 STM32L4XXX 的 I2C SDA 引脚。I2C 时钟线,连接 STM32L4XXX 的 I2C SCL 引脚。原创 2025-03-10 20:19:43 · 1248 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25CL16B铁电存储器 驱动程序设计
一、简介:是Cypress(现为Infineon)推出的一款16Kbit(2K x 8位)FRAM(铁电随机存取存储器)芯片。FRAM结合了RAM和EEPROM的优点,具有高速读写、低功耗、高耐久性和非易失性等特点。原创 2025-03-10 20:09:11 · 690 阅读 · 0 评论 -
基于STM32L4XX、HAL库的FM25CL64B铁电存储器 驱动程序设计
一、简介:是Cypress(现为Infineon)推出的一款64Kbit(8K x 8位)FRAM(铁电随机存取存储器)芯片。FRAM结合了RAM和EEPROM的优点,具有高速读写、低功耗、高耐久性和非易失性等特点。原创 2025-03-10 20:04:36 · 1137 阅读 · 0 评论 -
基于STM32L4XX、HAL库的MB85RC16P铁电存储器 驱动程序设计
是富士通推出的一款16Kbit(2K x 8位)FRAM(铁电随机存取存储器)芯片。FRAM结合了RAM和EEPROM的优点,具有高速读写、低功耗、高耐久性和非易失性等特点。MB85RC16P的I2C地址由A0, A1, A2引脚决定,默认地址为0x50(7位地址)。:I2C地址选择引脚,用于设置设备的I2C地址。:I2C数据线,接STM32的I2C数据引脚。:I2C时钟线,接STM32的I2C时钟引脚。:写保护引脚,接地或接VDD以控制写保护功能。原创 2025-03-10 19:58:14 · 300 阅读 · 0 评论 -
基于STM32L4XX、HAL库的GD25Q128驱动程序设计
GD25Q128是GigaDevice推出的128Mbit(16MB)串行Flash存储器,采用SPI接口,支持高速读写操作,广泛应用于嵌入式系统中存储固件、配置数据等。(Master In Slave Out):SPI数据输入信号,连接STM32的MISO引脚。(Master Out Slave In):SPI数据输出信号,连接STM32的MOSI引脚。(Serial Clock):SPI时钟信号,连接STM32的SCK引脚。(Chip Select):SPI片选信号,连接STM32的GPIO引脚。原创 2025-03-04 20:47:58 · 859 阅读 · 0 评论 -
基于STM32L4XX、HAL库的GD25Q32驱动程序设计
GD25Q32是GigaDevice推出的32Mbit(4MB)串行Flash存储器,采用SPI接口,支持高速读写操作,广泛应用于嵌入式系统中存储固件、配置数据等。(Master In Slave Out):SPI数据输入信号,连接STM32的MISO引脚。(Master Out Slave In):SPI数据输出信号,连接STM32的MOSI引脚。(Serial Clock):SPI时钟信号,连接STM32的SCK引脚。(Chip Select):SPI片选信号,连接STM32的GPIO引脚。原创 2025-03-04 20:39:33 · 890 阅读 · 0 评论 -
基于STM32L4XX、HAL库的W25Q64驱动程序设计
W25Q64是Winbond推出的64Mbit(8MB)串行Flash存储器,采用SPI接口,支持高速读写操作,广泛应用于嵌入式系统中存储固件、配置数据等。(Master In Slave Out):SPI数据输入信号,连接STM32的MISO引脚。(Master Out Slave In):SPI数据输出信号,连接STM32的MOSI引脚。(Serial Clock):SPI时钟信号,连接STM32的SCK引脚。(Chip Select):SPI片选信号,连接STM32的GPIO引脚。原创 2025-03-04 20:36:41 · 977 阅读 · 0 评论 -
基于STM32L4XX、HAL库的W25Q256驱动程序设计
W25Q256是Winbond推出的256Mbit(32MB)串行Flash存储器,采用SPI接口,支持高速读写操作,广泛应用于嵌入式系统中存储固件、配置数据等。(Master In Slave Out):SPI数据输入信号,连接STM32的MISO引脚。(Master Out Slave In):SPI数据输出信号,连接STM32的MOSI引脚。(Serial Clock):SPI时钟信号,连接STM32的SCK引脚。(Chip Select):SPI片选信号,连接STM32的GPIO引脚。原创 2025-03-04 20:33:47 · 853 阅读 · 0 评论 -
基于STM32L4XX、HAL库的W25Q128驱动程序设计
W25Q128是Winbond推出的128Mbit(16MB)串行Flash存储器,采用SPI接口,支持高速读写操作,广泛应用于嵌入式系统中存储固件、配置数据等。(Master In Slave Out):SPI数据输入信号,连接STM32的MISO引脚。(Master Out Slave In):SPI数据输出信号,连接STM32的MOSI引脚。(Serial Clock):SPI时钟信号,连接STM32的SCK引脚。(Chip Select):SPI片选信号,连接STM32的GPIO引脚。原创 2025-03-04 20:30:59 · 945 阅读 · 0 评论 -
基于STM32L4XX、HAL库的W25P80驱动程序设计
W25P80 是一款 8M-bit 串行 Flash 存储器,支持 SPI 接口。CS -> GPIO_PIN_X (任意GPIO引脚)原创 2025-03-03 20:22:15 · 783 阅读 · 0 评论 -
基于STM32L4XX、HAL库的AT24C02驱动程序设计
define AT24C02_ADDR 0x50 // 7位设备地址(A0=A1=A2=GND)#define EEPROM_PAGE_SIZE 8 // AT24C02页大小为8字节。#define I2C_TIMEOUT 100 // I2C操作超时时间(ms)// 等待EEPROM完成内部写入。// 写入成功,延时等待(可选)// 从地址0x10读取3个字节。// 写入3个字节到地址0x10。// 执行I2C写入。原创 2025-02-13 13:22:34 · 429 阅读 · 0 评论