# mcu_reuse_development_module **Repository Path**: lee-gitpro/mcu_reuse_development_module ## Basic Information - **Project Name**: mcu_reuse_development_module - **Description**: 一种单片机(32位MCU)可复用、可通用的快速开发组件,内容有:有限状态机FSM,xmodem,ymodem,bootloader,MODBUS主从机管理(RTU和ASCII),内存管理,串口管理,消息队列,环形缓冲区,同步方法(信号量、互斥锁、事件集),软件定时器,AT指令交互,命令交互客户端(类命令行),软件非阻塞延时,模拟EEPROM,数据转换,IO输入输出操作等。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 23 - **Created**: 2025-04-23 - **Last Updated**: 2025-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mcu_reuse_development_module 一种单片机(32位MCU)可复用、可通用开发组件,是以中间件思想开发的一套功能模块,将具有代表性或使用次数较多的功能和协议栈封装为独立的组件供开发者使用,开发者仅需通过组件提供的接口对接驱动层和应用层即可使用组件功能,从而减少重复工作、缩短开发周期,并且具备跨平台特性。 ## 代码结构 本组件处在中间件层,向上提供应用层的功能模块接口,向下调用底层驱动接口。 ![](https://gitee.com/ashuai0110/image_saves/raw/master/mrdm_images/MRDM_Hierarchy.png) ## 文件目录 * ./documents/存放组件使用手册 * ./examples/存放所有组件的使用例程(用前必看) * ./src/存放所有组件源代码 ## 使用说明 - MCU开发项目编译器需要勾选C99 - 使用前请先查看例程,例程项目和组件名称相同 - 所有组件都依赖common_include.c.h和mw_config.h文件 - 仅mw_config.h文件可由用户根据需求自行修改 ## 组件说明 | 组件名称 | 组件描述 | | ----- | --- | | | **src/bootloader文件夹内容↓↓↓** | | bootloader | 升级引导程序 | | xmodem | xmodem协议 | | ymodem | ymodem协议 | | | **src/common文件夹内容↓↓↓** | | all_include | 所有组件头文件集合 | | common_include | 公共引用文件(所有组件都需包含此文件) | | | **src/devices/communication文件夹内容↓↓↓** | | esp8266 | ESP8266模组AT指令集 | | hongjia_ble | 宏佳电子HJ-131蓝牙模组指令集 | | sim900a | SIM900A模组AT指令集 | | | **src/devices/display文件夹内容↓↓↓** | | oled_096 | 0.96英寸OLED屏幕驱动 | | | **src/devices/sensor文件夹内容↓↓↓** | | by9301 | BY9301语音播报模块驱动 | | dht11 | DHT11温湿度模块驱动 | | | **src/modbus文件夹内容↓↓↓** | | modbus_common | modbus通用文件(modbus主从机都需包含此文件) | | modbus_host | modbus主机程序(RTU ASCII) | | modbus_slave | modbus从机程序(RTU ASCII) | | | **src/modules文件夹内容↓↓↓** | | command_at | AT指令交互 | | command_line | 命令行交互 | | data_check | 数据校验方法集合 | | data_convert | 数据转换方法集合 | | delay_no_block | 非阻塞延时 | | eeprom_emulation | FLASH模拟EEPROM | | input_output | IO输入输出操作 | | memory | 内存管理(小内存管理算法<2MB) | | message_queue | 消息队列 | | ring_buffer | 环形缓冲区 | | sync_method | 伪线程同步方法(信号量,互斥锁,事件集) | | timer_software | 软件定时器 | | uart_handler | 串口管理 | | | **src/state_machine文件夹内容↓↓↓** | | fsm_event_processor | 有限状态机FSM | | fsm_event_queue | 有限状态机FSM的事件队列 | | | **src/文件夹内容↓↓↓** | | mw_config.h | 组件配置宏(所有组件都需包含此文件) |