Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Представляем GD32F103C8T6 от GigaDevice в качестве дешевой и быстрой альтернативы STM32F103C8T6
Запасы
GigaDevice GD32F103C8T6
Шаг 1. Что такое STM32F103C8T6?
STM32F103C8T6 - это микроконтроллер, который можно использовать как альтернативу платам Arduino. Arduino была бы первой платой для многих любителей (включая меня) и инженеров, когда они начинали с электроники.
Однако по мере того, как мы начинаем строить больше и копать глубже, мы скоро поймем, что Arduino не является промышленно готовым, а его 8-битный процессор со смехотворно медленными часами не дает вам достаточно энергии для ваших проектов. Тем не менее, мы надеемся, что у нас есть новые платы разработки STM32F103C8T6 STM32 (Blue Pill) на рынке, которые могут легко превзойти Arduino с его 32-битным процессором и архитектурой ARM Cortex M3. Еще один горшок для меда в том, что мы можем использовать ту же старую IDE Arduino для программирования наших плат STM32. Итак, в этом руководстве давайте начнем с STM32, чтобы немного узнать об этой плате и мигать встроенным светодиодом с помощью Arduino IDE.
Этот проект спонсируется LCSC. Я использовал электронные компоненты от LCSC.com. LCSC стремится предлагать широкий выбор подлинных высококачественных электронных компонентов по лучшей цене с глобальной сетью доставки в более чем 200 стран. Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ.
Эти микроконтроллеры производятся STMicroelectronics, глобальной независимой полупроводниковой компанией. Плата с STM32F103C8T6, так как это мозг, также прозвали Blue Pill.
Шаг 2: Технические характеристики синей таблетки STM32F103C8T6
- Ядро: Cortex-M3 32-бит
- Рабочая частота: 72 МГц
- Ресурсы хранилища: 64 Кбайт Flash, 20 Кбайт SRAM
- Ресурсы интерфейса: 2x SPI, 3x USART, 2x I2C, 1x CAN, 37x портов ввода / вывода
- Аналого-цифровое преобразование: АЦП (12 бит / 16 каналов) ШИМ: 16 бит / 15 каналов
- USB-устройство: 1 таймер: 3 общих таймера и 1 расширенный таймер
- Загрузка отладки: поддержка интерфейса отладки JTAG / SWD для загрузки, поддержка IAP
Шаг 3. Теперь, GigaDevice's GD32F103C8T6?
GigaDevice, ведущий поставщик устройств с энергонезависимой памятью (NVM), - это компания, которая занимается разработкой усовершенствованной памяти и связанных с ней микросхем в материковом Китае, основанная в 2005 году.
GigaDevice сделал двойника STM, который имеет более высокую скорость из-за более высоких тактовых частот 108 МГц по сравнению с 72 МГц STM.
Как и STM, они также основаны на ядре ARM CortexTM-M3 RISC с наилучшим соотношением вычислительной мощности, пониженного энергопотребления и набора периферийных устройств. CortexTM-M3 - это процессорное ядро нового поколения, которое тесно связано с контроллером вложенных векторных прерываний (NVIC), таймером SysTick и расширенной поддержкой отладки.
Шаг 4: Технические характеристики GD32F103C8T6
- Упаковка: TQFP-48_7x7x05P
- Размер ядра: 32-битный
- Тип памяти программ: FLASH
- Основной процессор: ARM® Cortex®-M3
- Рабочая частота: 108 МГц
- Напряжение - питание (Vcc / Vdd): 2,6 В ~ 3,6 В
- Размер памяти программ: 64 КБ
- Размер ОЗУ: 20 КБ
- Количество входов / выходов: 37
- A / D: 10x12 бит
- Д / А: 0
- ШИМ: 2
- UART / USART: 3
- SPI: 2
- I2C / SMBUS: 2
- USB-устройство: 1
- USB-хост / OTG: 1
- CAN: 1
Шаг 5: Сравнение двух устройств
Почти все характеристики и детали обоих микроконтроллеров одинаковы, с одинаковым размером флэш-памяти, оперативной памятью, ядром процессора и распиновкой.
Наиболее существенное отличие состоит в том, что GD32F103C8T6 имеет большую рабочую частоту с 108 МГц по сравнению с 72 МГц STM32F103C8T6. Итак, если вы ищете более высокую скорость обработки длинных кодов и команд с битовыми вычислениями, у GigaDevice есть подходящая альтернатива. Хотя вам может потребоваться внести некоторые изменения, когда вы начнете программировать плату GigaDevice, чтобы включить функцию delay () и другие функции, связанные с таймером. Функции delay () - это жестко запрограммированные циклы nops, которые предполагают частоту 72 МГц, так что это также необходимо изменить.
Вы можете выполнить эти изменения в stm32.h: Путь к файлу: / IDE / hardware / Arduino_STM32 / STM32F1 / system / libmaple / stm32f1 / include / series
# если STM32_F1_LINE == STM32_F1_LINE_PERFORMANCE
# ifndef STM32_PCLK1 # определение STM32_PCLK1 54000000U //