Files
ds18b20-MODBUS/john103C6T6NewVer/MCU_PINS.md
2026-06-25 17:25:41 +03:00

6.0 KiB
Raw Blame History

Пины МК

Документ составлен по прошивке:

  • ..\new rev\john103C8T6\john103C6T6.ioc
  • ..\new rev\john103C8T6\Core\Inc\main.h
  • ..\new rev\john103C8T6\Core\Src\gpio.c
  • ..\new rev\john103C8T6\Core\Src\usart.c
  • ..\new rev\john103C8T6\Core\Src\can.c
  • ..\new rev\john103C8T6\Core\Src\i2c.c
  • ..\new rev\john103C8T6\Core\Src\spi.c
  • ..\new rev\john103C8T6\Core\Inc\ow_port.h

МК: STM32F103C8Tx, корпус LQFP48.

Основные интерфейсы

Пин МК Функция Настройка Назначение в проекте
PB6 USART1_TX AF push-pull, remap USART1 Modbus RTU slave TX
PB7 USART1_RX input, no pull, remap USART1 Modbus RTU slave RX
PA2 USART2_TX AF push-pull Modbus RTU master TX
PA3 USART2_RX input, no pull Modbus RTU master RX
PA15 One_wire GPIO, динамически input/output Шина 1-Wire для DS18B20
PA10 Relay_dc5v GPIO output push-pull Реле 5 В, управляется из Modbus coil 20
PC13 GPIO output push-pull Светодиод/индикация, используется в led_blink()
PA0 GPIO input no pull Вход, назначение в коде не найдено
PA11 CAN_RX input CAN RX
PA12 CAN_TX AF push-pull CAN TX
PB8 I2C1_SCL AF open-drain, remap I2C1 I2C1 SCL
PB9 I2C1_SDA AF open-drain, remap I2C1 I2C1 SDA
PB3 SPI1_SCK AF push-pull, remap SPI1 SPI1 SCK
PB4 SPI1_MISO input, no pull, remap SPI1 SPI1 MISO
PB5 SPI1_MOSI AF push-pull, remap SPI1 SPI1 MOSI
PA13 SWDIO Serial Wire Отладка
PA14 SWCLK Serial Wire Отладка
PD0 OSC_IN HSE oscillator Внешний кварц
PD1 OSC_OUT HSE oscillator Внешний кварц

GPIO output, сконфигурированные в MX_GPIO_Init

Пин МК Начальное состояние Комментарий
PC13 RESET Индикация, мигает при старте через led_blink(GPIOC, 13, ...)
PA1 RESET Выход сконфигурирован, активного использования в коде не найдено
PA4 RESET Выход сконфигурирован, активного использования в коде не найдено
PA5 RESET Выход сконфигурирован, активного использования в коде не найдено
PA6 RESET Выход сконфигурирован, активного использования в коде не найдено
PA7 RESET Выход сконфигурирован, активного использования в коде не найдено
PA8 RESET Выход сконфигурирован, активного использования в коде не найдено
PA9 RESET Выход сконфигурирован, активного использования в коде не найдено
PA10 RESET Relay_dc5v, в цикле main зависит от MB_DATA.Coils.coils[1].state_val_bit.state_val_05
PA15 RESET 1-Wire, затем драйвер меняет режим пина input/output
PB0 RESET Выход сконфигурирован, активного использования в коде не найдено
PB1 RESET Выход сконфигурирован, активного использования в коде не найдено
PB2 RESET Выход сконфигурирован, активного использования в коде не найдено
PB10 RESET Выход сконфигурирован, активного использования в коде не найдено
PB11 RESET Есть macro GPIOB11_valve, но прямой записи в PB11 в текущем коде не найдено
PB12 RESET Выход сконфигурирован, активного использования в коде не найдено
PB13 RESET Выход сконфигурирован, активного использования в коде не найдено
PB14 RESET Выход сконфигурирован, активного использования в коде не найдено
PB15 RESET Выход сконфигурирован, активного использования в коде не найдено

Периферия без внешнего пина

Периферия Настройка Назначение
TIM1 internal clock, period 65535, prescaler 0 Тайминги 1-Wire, OW_TIM
TIM2 internal clock, period 65535, prescaler 7199 Таймер Modbus slave
TIM4 internal clock, period 65535, prescaler 7199 Таймер Modbus master
ADC1 ADC_CHANNEL_VREFINT Внутренний Vref, внешних ADC-пинов нет
RTC LSI Часы, доступны через Modbus-регистры

Замечания

  • В .ioc пины PA2/PA3 отмечены как GPIO output, но в актуальном usart.c они инициализируются как USART2_TX/RX. Для документации использована фактическая инициализация из исходников.
  • Функция handle_valves() содержит запись в GPIOC pin 14, но PC14 не инициализирован в MX_GPIO_Init() и сама функция в основном цикле закомментирована.
  • Для RS-485 direction control (DE/RE) отдельный GPIO в modbus_config.h не задан: RS_EnableReceive() и RS_EnableTransmit() закомментированы.