Embed Toolkit

外设驱动模板生成器

生成外设驱动脚手架(初始化 / 收发 / 中断框架),覆盖常见 HAL / LL / ESP-IDF 场景。HAL 路径成熟稳定;LL 与 ESP-IDF 路径提供骨架 + TODO 注释,需根据具体板卡、时钟、DMA 通道做少量适配。

选择 STM32F4 + SPI + Mode 0,得到 SPI_POLARITY_LOW / SPI_PHASE_1EDGE 的 spi1_driver.h/.c 脚手架,配合板卡的 GPIO 复用与 CS 引脚即可投入使用。

预设场景
一键加载典型驱动模板
驱动配置
UART 参数
生成代码uart1_driver

这是驱动 脚手架,不是即插即用代码。

HAL 路径已验证稳定;LL / ESP-IDF 路径提供骨架 + TODO 注释,需要按以下事项适配:

  • 板卡的 GPIO 复用 / RCC 时钟使能 / DMA 通道必须由 board init 预置
  • STM32 LL I2C 主机收发仍是 TODO(待完善状态机),临时需求请切到 HAL 风格
  • ESP32 Arduino 风格使用默认引脚映射,非默认板卡需显式传 RX/TX 引脚
  • SPI 的 CS_LOW()/CS_HIGH() 宏是占位,需实连到 GPIO 写
  • 中断优先级、NVIC 分组按项目实际配置,这里用的是保守默认值
c
/**
 * USART1 Driver — STM32 HAL
 * Baudrate : 115200
 * RX IT    : disabled
 * 
 * Usage:
 *   uart_init();
 *   uart_send((uint8_t*)"hello", 5);
 *   uart_recv(buf, sizeof(buf));
 * Generated by Embed Toolkit Driver Template Generator
 */
#ifndef UART1_DRIVER_H
#define UART1_DRIVER_H

#include "stm32f4xx_hal.h"
#include <stdint.h>

extern UART_HandleTypeDef husart1;

void uart_init(void);
void uart_send(const uint8_t *data, uint16_t len);
uint16_t uart_recv(uint8_t *buf, uint16_t maxLen);

#endif /* UART1_DRIVER_H */