STM32-логотиби

STM32F103C8T6 Минималдуу системаны өнүктүрүү кеңеши

STM32F103C8T6-Минималдуу-Системаны-Өнүктүрүү-Такта-продукты

Продукт маалыматы

STM32F103C8T6 ARM STM32 Минималдуу системаны өнүктүрүү тактасынын модулу - бул STM32F103C8T6 микроконтроллерине негизделген иштеп чыгуу тактасы. Ал Arduino IDE аркылуу программалоо үчүн иштелип чыккан жана ар кандай Arduino клондору, вариациялары жана ESP32 жана ESP8266 сыяктуу үчүнчү тараптын такталары менен шайкеш келет.

Башкарма, ошондой эле Blue Pill Board деп аталган, Arduino UNO караганда болжол менен 4.5 эсе жогору жыштыкта ​​иштейт. Ал ар кандай долбоорлор үчүн колдонулушу мүмкүн жана TFT дисплейлери сыяктуу перифериялык түзүлүштөргө туташтырылышы мүмкүн.

Бул такта менен долбоорлорду куруу үчүн талап кылынган компоненттерге STM32 тактасы, FTDI программист, түстүү TFT дисплей, баскыч баскычы, кичинекей нан тактасы, зымдар, Power банкы (өз алдынча режим үчүн кошумча) жана USBден сериялык конвертер кирет.

БУУнун

STM32F1 тактасын 1.8 ST7735 негизиндеги түстүү TFT дисплейге жана түртүү баскычына туташтыруу үчүн, берилген схемада сүрөттөлгөн пинден пинге туташууларды аткарыңыз.

STM32 үчүн Arduino IDE орнотуу

  1. Arduino IDE ачыңыз.
  2. Куралдар -> Башкарма -> Башкармасына өтүңүз.
  3. Издөө тилкеси бар диалог кутусунда "STM32F1" издеп, тиешелүү пакетти орнотуңуз.
  4. Орнотуу процедурасынын аягына чыгышын күтүңүз.
  5. Орнотуудан кийин, STM32 тактасы азыр Arduino IDE тактасынын тизмесинен тандоо үчүн жеткиликтүү болушу керек.

Arduino IDE менен STM32 такталарын программалоо

Түзүлгөндөн бери Arduino IDE ар кандай платформаларды колдоо каалоосун көрсөттү, Arduino клондорунан жана ар кандай өндүрүүчүлөрдүн вариацияларынан ESP32 жана ESp8266 сыяктуу үчүнчү тараптын такталарына чейин. Көбүрөөк адамдар IDE менен таанышкан сайын, алар ATMEL чиптерине негизделбеген көбүрөөк такталарды колдой башташат жана бүгүнкү окуу куралы үчүн биз ушундай такталардын бирин карап чыгабыз. STM32 негизиндеги STM32F103C8T6 өнүктүрүү тактасын Arduino IDE менен кантип программалоону карап чыгабыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-1

Бул окуу куралы үчүн колдонула турган STM32 тактасы STM32F103C8T6 чипине негизделген STM32F1 иштеп чыгуу тактасынан башкасы эмес, анын ПХБнын көк түсүнө ылайык, адатта "Көк таблетка" деп аталат. Blue Pill кубаттуу 32-бит STM32F103C8T6 ARM процессору менен иштейт, сааты 72 МГц. Башкарма 3.3v логикалык деңгээлде иштейт, бирок анын GPIO пиндери 5v чыдамдуу болушу үчүн сыналган. Ал ESP32 жана Arduino варианттары сыяктуу WiFi же Bluetooth менен келбесе да, ал 20 КБ оперативдүү жана 64 КБ флеш эстутумду сунуштайт, бул аны чоң долбоорлорго ылайыктуу кылат. Ал ошондой эле 37 GPIO пинге ээ, алардын 10у Аналогдук сенсорлор үчүн колдонулушу мүмкүн, анткени аларда ADC иштетилген, ошондой эле SPI, I2C, CAN, UART жана DMA үчүн иштетилген башкалар. Болжол менен 3 доллар турган такта үчүн сиз мени менен макул болосуз, бул таасирдүү мүнөздөмөлөр. Arduino Uno менен салыштырылган бул спецификациялардын жалпыланган версиясы төмөндөгү сүрөттө көрсөтүлгөн.

STM32F103C8T6-Minimum-System-Development-Board-fig-2

Жогорудагы мүнөздөмөлөргө таянсак, Blue Pill иштеген жыштыгы Arduino UNOга караганда 4.5 эсе жогору, мурунку окуу куралы үчүнampSTM32F1 тактасын кантип колдонуу керектиги боюнча биз аны 1.44 дюймдук TFT дисплейге туташтырабыз жана аны "Pi" константасын эсептөө үчүн программалайбыз. Биз тактага маанини алуу үчүн канча убакыт кеткенин белгилеп, аны Arduino Uno бир эле тапшырманы аткарууга кеткен убакыт менен салыштырып көрөбүз.

Керектүү компоненттер

Бул долбоорду куруу үчүн төмөнкү компоненттер талап кылынат;

  • STM32 тактасы
  • FTDI программист
  • Түстүү TFT
  • Push Button
  • Small Breadboard
  • Зымдар
  • Power Bank
  • USB - сериялык конвертер

Адаттагыдай эле, бул окуу куралы үчүн колдонулган бардык компоненттерди тиркелген шилтемелерден сатып алса болот. Эгер сиз долбоорду өз алдынча режимде жайылтууну кааласаңыз, электр банкы гана керек.

БУУнун

  • Жогоруда айтылгандай, биз STM32F1 тактасын 1.8 ″ ST7735 негизиндеги түстүү TFT дисплейге баскыч менен туташтырабыз.
  • Баскыч тактага эсептөөнү баштоого көрсөтмө берүү үчүн колдонулат.
  • Компоненттерди төмөнкү схемада көрсөтүлгөндөй туташтырыңыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-3

Байланыштарды репликациялоону жеңилдетүү үчүн, STM32 менен дисплейдин ортосундагы pin-to-pin байланыштары төмөндө сүрөттөлгөн.

STM32 – ST7735

STM32F103C8T6-Minimum-System-Development-Board-fig-4

Баардыгы бир аз татаал болуп кеткендей болушу керек экенине ынануу үчүн байланыштарды дагы бир жолу карап көрүңүз. Муну менен биз Arduino IDE менен программаланган STM32 тактасын орноттук.

STM32 үчүн Arduino IDE орнотуу

  • Arduino тарабынан жасалбаган көпчүлүк такталардай эле, тактаны Arduino IDE менен колдонуудан мурун бир аз орнотуу керек.
  • Бул тактаны орнотууну камтыйт file же Arduino башкармалыгынын менеджери аркылуу же интернеттен жүктөп алып, көчүрүңүз fileаппараттык папкага.
  • Башкармалыктын менеджеринин маршруту азыраак тажатма жана STM32F1 саналып өткөн такталардын арасында болгондуктан, биз ошол жол менен кетебиз. Arduino артыкчылык тизмелерине STM32 тактасынын шилтемесин кошуу менен баштаңыз.
  • барыңыз File -> Preferences, анан муну киргизиңиз URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) төмөндө көрсөтүлгөндөй кутучага киргизип, "OK" баскычын басыңыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-5

  • Эми Tools -> Board -> Board Manager бөлүмүнө өтүңүз, ал издөө тилкеси менен диалог кутусун ачат. Издөө STM32F1 жана тиешелүү пакетти орнотуу.

STM32F103C8T6-Minimum-System-Development-Board-fig-6

  • Орнотуу процедурасы бир нече секунд талап кылынат. Андан кийин, такта азыр Arduino IDE тактасынын тизмесинен тандоо үчүн жеткиликтүү болушу керек.

Code

  • Код Arduino долбоору үчүн башка эскизди жазгандай эле жазылат, бир гана айырмасы пиндерге шилтеме кылуу жолу менен.
  • Бул долбоордун кодун оңой иштеп чыгуу үчүн, биз STM32 менен шайкеш келтирүү үчүн стандарттуу Arduino китепканаларынын модификациясы болгон эки китепкананы колдонобуз.
  • Биз Adafruit GFX жана Adafruit ST7735 китепканаларынын өзгөртүлгөн версиясын колдонобуз.
  • Эки китепкана тең аларга тиркелген шилтемелер аркылуу жүктөп алса болот. Адаттагыдай эле, мен кодду кыскача бөлүшөм.
  • Биз колдоно турган эки китепкананы импорттоо менен кодду баштайбыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-7

  • Андан кийин, биз ЖКнын CS, RST жана DC пиндери туташтырылган STM32 пиндерин аныктайбыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-8

  • Андан кийин, түстөрдү алардын он алтылык маанилери боюнча эмес, кийинчерээк коддогу аттары боюнча колдонууну жеңилдетүү үчүн кээ бир түс аныктамаларын түзөбүз.

STM32F103C8T6-Minimum-System-Development-Board-fig-9

  • Андан кийин, биз тактанын өтүшүн каалаган итерациялардын санын жана прогресс тилкесин колдонуу үчүн жаңыртуу узактыгын белгилейбиз.

STM32F103C8T6-Minimum-System-Development-Board-fig-10

  • Муну менен биз ST7735 китепканасынын объектин түзөбүз, ал бүткүл долбоор боюнча дисплейге шилтеме кылуу үчүн колдонулат.
  • Биз ошондой эле баскыч туташтырылган STM32 пинин көрсөтөбүз жана анын абалын кармап туруу үчүн өзгөрмө түзөбүз.

STM32F103C8T6-Minimum-System-Development-Board-fig-11

  • Ушуну менен биз void setup() функциясына өтөбүз.
  • Басуу баскычы туташтырылган пиндин pinMode() параметрин орнотуу менен баштайбыз, пиндеги ички тартылуучу резисторду иштетебиз, анткени баскыч басылганда жерге туташат.

STM32F103C8T6-Minimum-System-Development-Board-fig-12

  • Андан кийин, биз сериялык байланышты жана экранды инициализациялап, дисплейдин фонун кара түскө коюп, интерфейсти көрсөтүү үчүн print () функциясын чакырабыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-13

  • Кийинки void loop() функциясы. Void цикл функциясы китепканаларды/функцияларды колдонуунун аркасында абдан жөнөкөй жана кыска.
  • Биз баскычтын абалын окуу менен баштайбыз. Эгер баскыч басылган болсо, биз removePressKeyText() аркылуу экрандагы учурдагы билдирүүнү алып салабыз жана drawBar() функциясынын жардамы менен өзгөрүлүүчү прогресс тилкесин тартабыз.
  • Андан кийин биз Pi маанисин алуу жана аны эсептөөгө кеткен убакыт менен бирге көрсөтүү үчүн эсептөөнү баштоо функциясын чакырабыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-14

  • Баскыч басылбаса, аппарат Бош режимде калат, экран аны менен иштешүү үчүн баскычты басууну талап кылат.

STM32F103C8T6-Minimum-System-Development-Board-fig-15

  • Акыр-аягы, "илмектердин" эскизине чейин бир аз убакыт берүү үчүн циклдин аягында кечигүү киргизилет.

STM32F103C8T6-Minimum-System-Development-Board-fig-16

  • Коддун калган бөлүгү тилкени тартуудан Pi эсептөөгө чейинки милдеттерди аткаруу үчүн чакырылган функциялар.
  • Бул функциялардын көбү ST7735 дисплейин колдонууну камтыган бир нече башка окуу куралдарында камтылган.

STM32F103C8T6-Minimum-System-Development-Board-fig-17STM32F103C8T6-Minimum-System-Development-Board-fig-18STM32F103C8T6-Minimum-System-Development-Board-fig-19STM32F103C8T6-Minimum-System-Development-Board-fig-20STM32F103C8T6-Minimum-System-Development-Board-fig-21STM32F103C8T6-Minimum-System-Development-Board-fig-22

  • Долбоордун толук коду төмөндө жеткиликтүү жана жүктөө бөлүмүндө тиркелет.

STM32F103C8T6-Minimum-System-Development-Board-fig-23STM32F103C8T6-Minimum-System-Development-Board-fig-24 STM32F103C8T6-Minimum-System-Development-Board-fig-25 STM32F103C8T6-Minimum-System-Development-Board-fig-26 STM32F103C8T6-Minimum-System-Development-Board-fig-27 STM32F103C8T6-Minimum-System-Development-Board-fig-28 STM32F103C8T6-Minimum-System-Development-Board-fig-29 STM32F103C8T6-Minimum-System-Development-Board-fig-30 STM32F103C8T6-Minimum-System-Development-Board-fig-31 STM32F103C8T6-Minimum-System-Development-Board-fig-32 STM32F103C8T6-Minimum-System-Development-Board-fig-33 STM32F103C8T6-Minimum-System-Development-Board-fig-34

Код STM32ге жүктөлүүдө

  • STM32f1ге эскиздерди жүктөө стандарттуу Arduino шайкеш такталарына салыштырмалуу бир аз татаал. Кодду тактага жүктөө үчүн бизге FTDI негизиндеги, USB-сериялык конвертер керек.
  • Төмөнкү схемада көрсөтүлгөндөй USB-ди сериялык конвертерге STM32ге туташтырыңыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-35

Бул жерде байланыштын pin-to-pin картасы

FTDI – STM32

  • Ушуну менен, тактаны программалоо режимине коюу үчүн, тактанын мамлекеттик секиргичинин абалын биринчи абалга (төмөнкү gifде көрсөтүлгөндөй) өзгөртөбүз.
  • Андан кийин тактадагы баштапкы абалга келтирүү баскычын бир жолу басыңыз жана биз кодду жүктөөгө даярбыз.

STM32F103C8T6-Minimum-System-Development-Board-fig-37

  • Компьютерде "Жалпы STM32F103C тактасын" тандап, жүктөө ыкмасы үчүн серияны тандаңыз, андан кийин жүктөө баскычын бассаңыз болот.

STM32F103C8T6-Minimum-System-Development-Board-fig-38

  • Жүктөп берүү аяктагандан кийин, абалды секирүүчүнү абалына өзгөртүңүз "О" Бул тактаны "чуркоо" режимине коет жана ал азыр жүктөлгөн коддун негизинде иштей башташы керек.
  • Бул учурда, сиз FTDIди ажыратып, тактаны анын USB аркылуу кубаттай аласыз. Код кубатталгандан кийин иштебей калса, секиргичти туура калыбына келтиргениңизди текшерип, тактага электр кубатын кайра иштетиңиз.

Демо

  • Код аяктагандан кийин, кодду орнотууңузга жүктөө үчүн жогоруда сүрөттөлгөн жүктөө процессин аткарыңыз.
  • Сиз дисплей төмөндөгү сүрөттө көрсөтүлгөндөй пайда болушун көрүшүңүз керек.

STM32F103C8T6-Minimum-System-Development-Board-fig-39

  • Эсептөөнү баштоо үчүн баскычты басыңыз. Сиз прогресс тилкесинин акырына чейин акырындык менен жылышын көрүшүңүз керек.
  • Процесстин аягында Pi мааниси эсептөөгө кеткен убакыт менен бирге көрсөтүлөт.

STM32F103C8T6-Minimum-System-Development-Board-fig-40

  • Ошол эле код Arduino Unoдо ишке ашырылат. Натыйжада төмөнкү сүрөттө көрсөтүлгөн.

STM32F103C8T6-Minimum-System-Development-Board-fig-41

  • Бул эки маанини салыштырганда, биз "Көк таблетка" Arduino Uno караганда 7 эсе тезирээк экенин көрөбүз.
  • Бул оор иштетүү жана убакыт чектөөлөрдү камтыган долбоорлор үчүн идеалдуу кылат.
  • Көк таблетканын кичинекей өлчөмү да адван катары кызмат кылатtagБул жерде, анткени ал Arduino Nanoдон бир аз чоңураак жана аны Nano жетишсиз ылдамдыкта колдонсо болот.

Документтер / Ресурстар

STM32 STM32F103C8T6 Минималдуу системаны өнүктүрүү кеңеши [pdf] Колдонуучунун колдонмосу
STM32F103C8T6 Минималдуу системаны өнүктүрүү кеңеши, STM32F103C8T6, системаны өнүктүрүү боюнча минималдуу кеңеш, системаны өнүктүрүү кеңеши, өнүктүрүү кеңеши, такта

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *