diff --git a/AI_CONTEXT.md b/AI_CONTEXT.md new file mode 100644 index 0000000..7be792f --- /dev/null +++ b/AI_CONTEXT.md @@ -0,0 +1,62 @@ +# πŸ€– ВСхничСский контСкст ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ИИ) + +## README β€” STM32 Peripheral Drivers Library + +### НазначСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° +Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства STM32 (HAL/LL). ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ API для управлСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ модулями: UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ, GPIO ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с нСсколькими ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (STM32CubeIDE, Keil MDK, VS Code + PlatformIO) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ стандартныС, Ρ‚Π°ΠΊ ΠΈ кастомныС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. + +--- + +### Π‘Ρ‚Π΅ΠΊ +- **Π―Π·Ρ‹ΠΊ**: C/C++ +- **ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°**: STM32 (HAL/LL), ARM Cortex-M +- **Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹**: STM32CubeIDE, Keil MDK v5, VS Code + PlatformIO +- **ЛицСнзия**: MIT + +--- + +### АрхитСктура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° + +#### ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ +| ΠŸΡƒΡ‚ΡŒ | НазначСниС | +|------|------------| +| `Drivers/` | Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² HAL ΠΈ LL (STM32Cube) | +| `Examples/` | ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | +| `Middleware/` | Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: FreeRTOS, FatFS, CMSIS-DSP, USB, SD/MMC | +| `Drivers/CMSIS/` | CMSIS-совмСстимыС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ (DMP, DCM, DCI, DSI) | +| `Drivers/BSP/` | BSP-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: STM32CubeTouch, STM32CubeConnectivity, STM32CubeL476G-DK | + +#### ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ +| Π€Π°ΠΉΠ» | НазначСниС | +|------|------------| +| `STM32F1xx_HAL_Driver/` | HAL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии F1 (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | +| `STM32L4xx_HAL_Driver/` | HAL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии L4 (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | +| `STM32F7xx_HAL_Driver/` | HAL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии F7 (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | +| `STM32H7xx_HAL_Driver/` | HAL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии H7 (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | +| `STM32F4xx_HAL_Driver/` | HAL-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии F4 (UART, SPI, I2C, ADC, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹) | + +--- + +### ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования +ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для: +- **UART**: ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ°/ΠΏΡ€ΠΈΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, конфигурация скорости ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° +- **SPI**: двунаправлСнная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°, настройка Ρ€Π΅ΠΆΠΈΠΌΠ° +- **I2C**: Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/запись Ρ‡Π΅Ρ€Π΅Π· рСгистры +- **ADC**: многоканальная конвСртация с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² 16-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ + +--- + +### Зависимости +- **FreeRTOS** β€” RTOS для STM32 (встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°) +- **FatFS** β€” файловая систСма для SD/MMC ΠΊΠ°Ρ€Ρ‚ +- **CMSIS-DSP** β€” DSP-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов +- **USB** β€” USB-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для сСрии F4 + +--- + +### ЛицСнзия +MIT License + + +# ✍️ Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° +*Π”ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ сюда свои трСбования, ΠΈ ИИ ΡƒΡ‡Ρ‚Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС*