# 基于STM32的智慧农业系统 **Repository Path**: vexis/stm32project ## Basic Information - **Project Name**: 基于STM32的智慧农业系统 - **Description**: 基于STM32的智慧农业系统 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-09-11 - **Last Updated**: 2025-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于STM32的智慧农业系统 ## 项目概述 本项目是一个基于STM32F4微控制器的智慧农业系统,主要用于演示I2C通信协议的使用。系统通过按键控制对24C02 EEPROM的读写操作,并将结果显示在LCD屏幕上。项目旨在展示如何在嵌入式系统中实现简单的数据存储和读取功能,适用于农业环境中的数据记录和监控。 ## 硬件平台 - **主控芯片**: STM32F4系列微控制器 - **存储芯片**: 24C02 EEPROM - **显示设备**: LCD显示屏 - **输入设备**: 按键 - **输出设备**: LED指示灯 ## 软件依赖 - **开发环境**: Keil uVision 或其他支持STM32开发的IDE - 库文件 - `sys.h` - `delay.h` - `usart.h` - `led.h` - `lcd.h` - `24cxx.h` - `key.h` ## 功能描述 ### 1. 系统初始化 - **中断优先级设置**: 使用`NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)`设置中断优先级分组。 - **延时函数初始化**: `delay_init(168)`初始化延时函数。 - **串口初始化**: `uart_init(115200)`初始化串口波特率为115200。 - **LED初始化**: `LED_Init()`初始化LED指示灯。 - **LCD初始化**: `LCD_Init()`初始化LCD显示屏。 - **按键初始化**: `KEY_Init()`初始化按键输入。 - **I2C初始化**: `AT24CXX_Init()`初始化24C02 EEPROM。 ### 2. 24C02 EEPROM检测 - 系统启动后,首先检测24C02 EEPROM是否正常连接。如果检测失败,LCD屏幕会显示错误信息,并闪烁LED0指示灯。 ### 3. 按键控制 - **KEY1**: 按下KEY1键,系统将预定义的字符串`"Explorer STM32F4 IIC TEST"`写入24C02 EEPROM,并在LCD屏幕上显示写入完成的信息。 - **KEY0**: 按下KEY0键,系统从24C02 EEPROM中读取数据,并在LCD屏幕上显示读取到的字符串。 ### 4. 系统运行提示 - 系统每运行200ms,LED0指示灯会闪烁一次,提示系统正在正常运行。 ## 使用说明 1. **硬件连接**: - 确保STM32F4微控制器与24C02 EEPROM、LCD显示屏、按键和LED指示灯正确连接。 - 连接电源,确保系统供电正常。 2. **软件编译与下载**: - 使用Keil uVision或其他支持STM32开发的IDE打开项目文件。 - 编译项目并下载到STM32F4微控制器中。 3. **系统启动**: - 系统启动后,LCD屏幕会显示初始信息,并检测24C02 EEPROM是否正常连接。 - 如果24C02 EEPROM连接正常,LCD屏幕会显示“24C02 Ready!”。 4. **操作说明**: - 按下KEY1键,系统将字符串写入24C02 EEPROM,并在LCD屏幕上显示写入完成的信息。 - 按下KEY0键,系统从24C02 EEPROM中读取数据,并在LCD屏幕上显示读取到的字符串。 ## 注意事项 - 确保所有硬件连接正确,特别是I2C总线的连接。 - 在编写和读取数据时,确保24C02 EEPROM的地址和数据长度正确。 - 如果系统无法检测到24C02 EEPROM,请检查硬件连接和电源供应。 ## 参考资料 - STM32F4系列微控制器官方文档 - 24C02 EEPROM数据手册 - I2C通信协议相关资料 ## 许可 本项目采用GPL-3.0许可证,详情见LICENSE文件。