Список функций выводов и инструкция по использованию STM32F103RCT6

12/05/2024

STM32F103RCT6 — это 32-битный микроконтроллер семейства STM32 на базе ядра ARM Cortex-M3 от компании STMicroelectronics. Он предлагает множество периферийных функций и поставляется в корпусе LQFP с 64 выводами. Ниже приводится описание основных функций выводов:

Список функций выводов

Номер выводаНазваниеОсновные функции
1VDDAАналоговое питание
2VSSAАналоговая земля
3PA0GPIO, ADC12_IN0, TIM2_CH1_ETR, WKUP
4PA1GPIO, ADC12_IN1, TIM2_CH2
5PA2GPIO, ADC12_IN2, TIM2_CH3, USART2_TX
6PA3GPIO, ADC12_IN3, TIM2_CH4, USART2_RX
7PA4GPIO, ADC12_IN4, SPI1_NSS, USART2_CK
8PA5GPIO, ADC12_IN5, SPI1_SCK
9PA6GPIO, ADC12_IN6, TIM3_CH1, SPI1_MISO
10PA7GPIO, ADC12_IN7, TIM3_CH2, SPI1_MOSI
11PB0GPIO, ADC12_IN8, TIM3_CH3
12PB1GPIO, ADC12_IN9, TIM3_CH4
13PB2GPIO
14PB10GPIO, I2C2_SCL, USART3_TX, TIM2_CH3
15PB11GPIO, I2C2_SDA, USART3_RX, TIM2_CH4
16VSSЗемля
17VDDПитание
18BOOT0Вход выбора режима загрузки
19PB12GPIO, SPI2_NSS, USART3_CK
20PB13GPIO, SPI2_SCK, TIM1_CH1N
21PB14GPIO, SPI2_MISO, TIM1_CH2N
22PB15GPIO, SPI2_MOSI, TIM1_CH3N
23PC13GPIO
24PC14OSC32_IN (вход низкочастотного осциллятора)
25PC15OSC32_OUT (выход низкочастотного осциллятора)
26PD0OSC_IN (вход основного осциллятора)
27PD1OSC_OUT (выход основного осциллятора)
28NRSTСброс (активный низкий уровень)
29VSSЗемля
30VDDПитание
31PC0GPIO, ADC12_IN10
32PC1GPIO, ADC12_IN11
33PC2GPIO, ADC12_IN12, SPI2_MISO
34PC3GPIO, ADC12_IN13, SPI2_MOSI
35PA8GPIO, MCO, TIM1_CH1
36PA9GPIO, TIM1_CH2, USART1_TX
37PA10GPIO, TIM1_CH3, USART1_RX
38PA11GPIO, TIM1_CH4, USART1_CTS, CAN_RX
39PA12GPIO, USART1_RTS, CAN_TX
40PA13GPIO, SWDIO
41PA14GPIO, SWCLK
42PA15GPIO, JTDI, TIM2_CH1_ETR
43PB3GPIO, JTDO, TRACESWO, TIM2_CH2
44PB4GPIO, JTRST, TIM3_CH1
45PB5GPIO, I2C1_SMBA, TIM3_CH2
46PB6GPIO, I2C1_SCL, USART1_TX, TIM4_CH1
47PB7GPIO, I2C1_SDA, USART1_RX, TIM4_CH2
48BOOT1Вход выбора режима загрузки
49PB8GPIO, I2C1_SCL, TIM4_CH3
50PB9GPIO, I2C1_SDA, TIM4_CH4
51AVDDАналоговое питание
52AVSSАналоговая земля
53PC4GPIO, ADC12_IN14
54PC5GPIO, ADC12_IN15
55PB9Дублирующий вывод GPIO, I2C1_SDA, TIM4_CH4
56PC10GPIO, UART4_TX
57PC11GPIO, UART4_RX
58PC12GPIO, UART5_TX
59PD2GPIO, UART5_RX
60PC6GPIO, TIM3_CH1
61PC7GPIO, TIM3_CH2
62PC8GPIO, TIM3_CH3
63PC9GPIO, TIM3_CH4
64PD3GPIO, FSMC_CLK

Инструкция по использованию

  1. Настройка GPIO:

    c复制代码// Пример: Настройка PA0 как выходаGPIOA->CRL &= ~(0xF << (0 * 4)); // Очистить настройки конфигурацииGPIOA->CRL |= (0x3 << (0 * 4));  // Установить PA0 как выход push-pull
    • Выводы могут быть настроены как универсальные порты ввода/вывода (GPIO). Используйте регистры конфигурации портов для задания направления, режима работы и функций.

  2. Аналоговые входы (ADC):

    c复制代码// Инициализация АЦП на PA0RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; // Включить тактирование АЦПADC1->SQR1 = 0;                     // Один канал в последовательностиADC1->SQR3 = (0 << 0);              // Выбрать канал 0 (PA0)ADC1->CR2 |= ADC_CR2_ADON;          // Включить АЦП
    • Некоторые выводы могут использоваться для аналогово-цифрового преобразования (ADC), что позволяет подключать датчики и другие аналоговые устройства.

  3. Последовательные интерфейсы (USART, SPI и I2C):

    c复制代码// Пример: Настройка USART1RCC->APB2ENR |= RCC_APB2ENR_USART1EN; // Включить тактирование USART1USART1->BRR = 0x1D4C;                 // Установить скорость передачи 9600 бодUSART1->CR1 |= USART_CR1_TE | USART_CR1_RE | USART_CR1_UE; // Включить передатчик, приемник и модуль USART
    • Эти интерфейсы позволяют устройству обмениваться данными с другими микроконтроллерами и периферией.

  4. Работа с таймерами (TIM):

    c复制代码// Пример: Инициализация таймера 2 для простого подсчетаRCC->APB1ENR |= RCC_APB1ENR_TIM2EN; // Включить тактирование TIM2TIM2->PSC = 8000 - 1;               // ПредделительTIM2->ARR = 1000 - 1;               // АвтозагрузкаTIM2->CR1 |= TIM_CR1_CEN;           // Запуск таймера
    • Таймеры могут использоваться для генерации ШИМ-сигналов, подсчета времени или событий.

  5. Конфигурация тактирования (RCC):

    c复制代码// Пример: Настройка системного тактового сигнала от внутреннего HSI осциллятораRCC->CR |= RCC_CR_HSION;            // Включить HSIwhile (!(RCC->CR & RCC_CR_HSIRDY)); // Ожидание готовности HSIRCC->CFGR |= RCC_CFGR_SW_HSI;       // Выбор HSI как системного тактового сигнала
    • Обеспечьте правильную настройку источника тактового сигнала и его делителей для достижения требуемой частоты работы.

Заключение

Микроконтроллер STM32F103RCT6 предлагает богатый набор функций и возможностей для различных встроенных приложений. Правильное понимание и использование каждого вывода и периферии позволяет максимально эффективно использовать этот мощный микроконтроллер. Всегда обращайтесь к официальной документации, чтобы получить подробную информацию о характеристиках и рекомендациях по проектированию.

Комментарии успешно

Представлено