STM32F103C8T6 Ҳадди ақали Шӯрои Рушди Системаи
Маълумот оид ба маҳсулот
STM32F103C8T6 ARM STM32 Модули Шӯрои Минимуми Рушди Система як тахтаи рушд аст, ки ба микроконтроллери STM32F103C8T6 асос ёфтааст. Он бо истифода аз Arduino IDE барномарезӣ шудааст ва бо клонҳои гуногуни Arduino, вариантҳо ва тахтаҳои тарафи сеюм ба монанди ESP32 ва ESP8266 мувофиқ аст.
Раёсат, ки бо номи Blue Pill Board маъруф аст, дар басомади тақрибан 4.5 маротиба зиёдтар аз Arduino UNO кор мекунад. Онро барои лоиҳаҳои гуногун истифода бурдан мумкин аст ва метавонад ба таҷҳизоти периферӣ, ба монанди дисплейҳои TFT пайваст карда шавад.
Ба ҷузъҳои зарурӣ барои сохтани лоиҳаҳо бо ин тахта Шӯрои STM32, Programmer FTDI, дисплейи рангаи TFT, тугмачаи пахшкунӣ, тахтаи хурд, симҳо, бонки барқ (ихтиёрӣ барои ҳолати мустақил) ва USB ба табдилдиҳандаи силсила иборатанд.
Нақшаи
Барои пайваст кардани тахтаи STM32F1 ба дисплейи TFT-и рангин дар асоси 1.8 ST7735 ва тугмаи пахш, пайвастҳои дар схемаи пешниҳодшуда тавсифшударо пайгирӣ кунед.
Танзими IDE Arduino барои STM32
- Arduino IDE -ро кушоед.
- Ба Tools -> Board -> Manager Board гузаред.
- Дар қуттии муколама бо сатри ҷустуҷӯ, "STM32F1" -ро ҷустуҷӯ кунед ва бастаи мувофиқро насб кунед.
- Мунтазир бошед, ки тартиби насбкунӣ ба итмом расад.
- Пас аз насб, тахтаи STM32 бояд ҳоло барои интихоб дар рӯйхати тахтаи Arduino IDE дастрас бошад.
Барномасозии тахтаҳои STM32 бо Arduino IDE
Аз замони таъсиси худ, Arduino IDE хоҳиши дастгирии ҳама гуна платформаҳоро, аз клонҳои Arduino ва вариантҳои истеҳсолкунандагони гуногун то тахтаҳои тарафи сеюм ба монанди ESP32 ва ESp8266 нишон дод. Вақте ки шумораи бештари одамон бо IDE шинос мешаванд, онҳо ба дастгирии тахтаҳои бештаре шурӯъ мекунанд, ки ба чипҳои ATMEL асос наёфтаанд ва барои дарси имрӯза мо яке аз чунин тахтаҳоро дида мебароем. Мо дида мебароем, ки чӣ гуна тахтаи таҳияи STM32 дар асоси STM32F103C8T6 бо Arduino IDE барномарезӣ карда шавад.
Тахтаи STM32, ки барои ин дарс истифода мешавад, ғайр аз тахтаи таҳияи STM32F103C8T6, ки дар асоси чип асос ёфтааст, STM32F1 нест, ки одатан бо ранги кабуди PCB он ҳамчун "Пиллҳои кабуд" номида мешавад. Blue Pill бо протсессори пурқудрати 32-битии STM32F103C8T6 ARM кор мекунад, ки бо суръати 72 МГс кор мекунад. Раёсат дар сатҳҳои мантиқии 3.3v кор мекунад, аммо пинҳои GPIO-и он санҷида шудаанд, ки 5V таҳаммулпазиранд. Гарчанде ки он бо WiFi ё Bluetooth ба монанди вариантҳои ESP32 ва Arduino мавҷуд нест, он 20 КБ RAM ва 64 КБ хотираи флешро пешниҳод мекунад, ки онро барои лоиҳаҳои калон мувофиқ мекунад. Он инчунин дорои 37 пинҳои GPIO мебошад, ки 10-тои онҳоро барои сенсорҳои аналогӣ истифода бурдан мумкин аст, зеро онҳо ADC фаъоланд ва дар баробари дигарон, ки барои SPI, I2C, CAN, UART ва DMA фаъоланд. Барои тахтае, ки тақрибан 3 доллар арзиш дорад, шумо бо ман розӣ мешавед, ки инҳо хусусиятҳои таъсирбахшанд. Варианти ҷамъбастии ин мушаххасот дар муқоиса бо Arduino Uno дар тасвири зер нишон дода шудааст.
Бар асоси мушаххасоти дар боло зикршуда, басомади кор кардани Blue Pill нисбат ба Arduino UNO тақрибан 4.5 маротиба зиёдтар аст, барои дарси имрӯза, ҳамчун собиқampДар бораи чӣ гуна истифода бурдани тахтаи STM32F1, мо онро ба дисплейи 1.44 ″ TFT пайваст мекунем ва онро барои ҳисоб кардани доимии "Pi" барномарезӣ мекунем. Мо қайд хоҳем кард, ки тахта барои ба даст овардани арзиш чӣ қадар вақт лозим буд ва онро бо вақте, ки Arduino Uno барои иҷрои як вазифа сарф мекунад, муқоиса кунед.
Компонентҳои зарурӣ
Барои сохтани ин лоиҳа ҷузъҳои зерин лозиманд;
- Шӯрои STM32
- Барномасози FTDI
- Ранги TFT
- Тугмаи пахш кунед
- Панели хурд
- Симҳо
- Бонки барқ
- USB ба табдилдиҳандаи силсилавӣ
Одатан, ҳамаи ҷузъҳои барои ин дарс истифодашударо аз истинодҳои замимашуда харидан мумкин аст. Бо вуҷуди ин, бонки барқӣ танҳо лозим аст, агар шумо хоҳед, ки лоиҳаро дар ҳолати мустақил ҷойгир кунед.
Нақшаи
- Тавре ки қаблан зикр гардид, мо тахтаи STM32F1-ро ба дисплейи TFT-и рангаи 1.8 ″ ST7735 дар якҷоягӣ бо тугма пайваст мекунем.
- Тугмаи пахшкунӣ барои дастур додан ба тахта барои оғоз кардани ҳисоб истифода мешавад.
- Компонентҳоро тавре, ки дар схемаи зер нишон дода шудааст, пайваст кунед.
Барои осон кардани такрори пайвастҳо, пайвастҳои pin-to-pin байни STM32 ва дисплей дар зер тавсиф карда шудаанд.
STM32 - ST7735
Бори дигар аз болои пайвастҳо гузаред, то боварӣ ҳосил кунед, ки ҳама чиз бояд тавре бошад, зеро он каме душвор мешавад. Бо ин кор, мо ба насб кардани тахтаи STM32 идома додем, ки бо Arduino IDE барномарезӣ карда шавад.
Танзими IDE Arduino барои STM32
- Мисли аксари тахтаҳое, ки аз ҷониби Arduino сохта нашудаанд, пеш аз он ки тахта бо Arduino IDE истифода шавад, каме танзим кардан лозим аст.
- Ин насб кардани тахтаро дар бар мегирад file ё тавассути менеҷери Шӯрои Arduino ё аз интернет зеркашӣ ва нусхабардорӣ кунед fileс ба ҷузвдони сахтафзор.
- Масири Менеҷери Раёсат камтар дилгиркунанда аст ва азбаски STM32F1 дар байни тахтаҳои номбаршуда аст, мо ба ин масир меравем. Бо илова кардани истиноди тахтаи STM32 ба рӯйхатҳои афзалиятҳои Arduino оғоз кунед.
- Ба File -> Preferences, пас инро ворид кунед URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) дар қуттии тавре ки дар зер нишон дода шудааст ва OK-ро пахш кунед.
- Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. Ҷустуҷӯ STM32F1 and install the corresponding package.
- Раванди насб чанд сонияро мегирад. Пас аз он, ҳоло тахта бояд барои интихоб дар рӯйхати тахтаи Arduino IDE дастрас бошад.
Кодекс
- Рамз ҳамон тавре навишта мешавад, ки мо ягон эскизи дигарро барои лоиҳаи Arduino менависем, бо ягона фарқият ин тарзи истинод ба пинҳо мебошад.
- Барои ба осонӣ таҳия кардани коди ин лоиҳа, мо ду китобхонаро истифода мебарем, ки ҳардуи онҳо тағиротҳои китобхонаҳои стандартии Arduino мебошанд, то онҳоро бо STM32 мувофиқ созанд.
- Мо версияи тағирёфтаи Adafruit GFX ва китобхонаҳои Adafruit ST7735 -ро истифода хоҳем бурд.
- Ҳарду китобхонаро тавассути истиноди ба онҳо замимашуда зеркашӣ кардан мумкин аст. Тавре маъмулӣ, ман як тақсимоти кӯтоҳи кодро иҷро мекунам.
- Мо кодро бо ворид кардани ду китобхонае, ки мо истифода хоҳем кард, оғоз мекунем.
- Минбаъд, мо пинҳои STM32-ро муайян мекунем, ки ба онҳо pinҳои CS, RST ва DC-и LCD пайваст шудаанд.
- Баъдан, мо баъзе таърифҳои рангҳоро эҷод мекунем, то истифодаи рангҳоро бо номашон дар код баъдтар ба ҷои арзишҳои шонздаҳӣ осон кунад.
- Баъдан, мо шумораи такрори онро муқаррар мекунем, ки мо мехоҳем, ки тахта бо давомнокии навсозӣ барои истифодаи сатри пешрафт гузарад.
- Бо ин кор, мо объекти китобхонаи ST7735-ро эҷод мекунем, ки барои истинод ба намоиш дар тамоми лоиҳа истифода мешавад.
- Мо инчунин PIN-и STM32-ро нишон медиҳем, ки тугма ба он пайваст карда шудааст ва тағирёбандаеро барои нигоҳ доштани ҳолати он эҷод мекунем.
- Бо ин кор, мо ба функсияи void setup() мегузарем.
- Мо бо гузоштани pinMode()-и пин, ки тугма ба он пайваст аст, оғоз мекунем, ки муқовимати дохилии кашидашавандаро дар пин фаъол месозем, зеро тугма ҳангоми пахш кардан ба замин пайваст мешавад.
- Баъдан, мо иртиботи пайдарпай ва экранро оғоз мекунем, заминаи экранро ба сиёҳ муқаррар мекунем ва функсияи чопро () барои намоиши интерфейс даъват мекунем.
- Баъдан функсияи void loop() аст. Функсияи ҳалқаи void ба шарофати истифодаи китобхонаҳо/функсияҳо хеле содда ва кӯтоҳ аст.
- Мо аз хондани ҳолати тугмаи пахш оғоз мекунем. Агар тугма пахш шуда бошад, мо паёми ҷорӣро дар экран бо истифода аз removePressKeyText() хориҷ мекунем ва бо истифода аз функсияи drawBar() сатри пешрафти тағирёбандаро мекашем.
- Сипас, мо функсияи ҳисобкунии оғозро даъват мекунем, то арзиши Pi-ро бо вақти ҳисоб кардани он ба даст орем ва нишон диҳем.
- Агар тугма пахш карда нашавад, дастгоҳ дар ҳолати Бекорӣ мемонад ва экран талаб мекунад, ки тугмачаро барои муошират бо он пахш кунед.
- Ниҳоят, дар охири давра таъхир гузошта мешавад, то пеш аз кашидани "халқаҳо" каме вақт дода шавад.
- Қисми боқимондаи код функсияҳое мебошанд, ки барои ноил шудан ба вазифаҳо аз кашидани сатр то ҳисоб кардани Pi даъват карда мешаванд.
- Аксарияти ин функсияҳо дар якчанд дарсҳои дигар, ки истифодаи намоиши ST7735-ро дар бар мегиранд, фаро гирифта шудаанд.
- Рамзи пурраи лоиҳа дар зер дастрас аст ва дар зери фасли зеркашӣ замима карда шудааст.
Боркунии код ба STM32
- Боркунии эскизҳо ба STM32f1 дар муқоиса бо тахтаҳои стандартии бо Arduino мувофиқ каме мураккаб аст. Барои бор кардани код ба тахта, ба мо табдилдиҳандаи FTDI-ба USB-ба Serial лозим аст.
- USB-ро ба табдилдиҳандаи силсилавӣ ба STM32 пайваст кунед, тавре ки дар схемаҳои зер нишон дода шудааст.
Дар ин ҷо харитаи pin-to-pin пайвастшавӣ аст
FTDI - STM32
- Пас аз анҷом додани ин кор, мо пас аз он мавқеи секунҷаи давлатии тахтаро ба мавқеи як иваз мекунем (тавре ки дар gif дар зер нишон дода шудааст), то тахтаро ба ҳолати барномасозӣ гузорем.
- Пас аз ин як маротиба тугмаи барқароркуниро дар тахта пахш кунед ва мо омодаем кодро бор кунем.
- Дар компютер, боварӣ ҳосил кунед, ки шумо "Шӯрои умумӣ STM32F103C" -ро интихоб мекунед ва барои усули боргузорӣ силсиларо интихоб кунед, ки пас аз он шумо метавонед тугмаи боркуниро пахш кунед.
- Пас аз ба итмом расидани боргузорӣ, гузаргоҳи ҳолатиро ба мавқеъ иваз кунед "О" Ин тахтаро ба ҳолати "давидан" мегузорад ва он бояд акнун дар асоси рамзи боршуда ба кор шурӯъ кунад.
- Дар ин лаҳза, шумо метавонед FTDI-ро ҷудо кунед ва тахтаро аз USB-и он пур кунед. Агар код пас аз барқ кор накунад, боварӣ ҳосил кунед, ки шумо jumper-ро дуруст барқарор кардаед ва қувваи барқро ба тахта дубора коркард кунед.
Намоиш
- Бо анҷом ёфтани код, раванди боркунии дар боло тавсифшударо иҷро кунед, то кодро ба танзимоти худ бор кунед.
- Шумо бояд бубинед, ки дисплей тавре ки дар тасвири зер нишон дода шудааст, пайдо мешавад.
- Барои оғоз кардани ҳисоб тугмаро пахш кунед. Шумо бояд бинед, ки лавҳаи пешрафт тадриҷан то ба охир лағжида мешавад.
- Дар охири раванд, арзиши Pi дар баробари вақте, ки ҳисоб гирифта шудааст, нишон дода мешавад.
- Ҳамин код дар Arduino Uno амалӣ карда мешавад. Натиҷа дар тасвири зер нишон дода шудааст.
- Муқоисаи ин ду арзиш, мо мебинем, ки "ҳабҳои кабуд" нисбат ба Arduino Uno беш аз 7 маротиба тезтар аст.
- Ин онро барои лоиҳаҳое, ки коркарди вазнин ва маҳдудиятҳои вақтро дар бар мегиранд, беҳтарин месозад.
- Андозаи хурди доруи кабуд низ ҳамчун пешрав хизмат мекунадtage дар ин ҷо, зеро он аз Arduino Nano каме калонтар аст ва онро дар ҷойҳое истифода бурдан мумкин аст, ки Nano ба қадри кофӣ зуд нест.
Ҳуҷҷатҳо / Сарчашмаҳо
![]() |
STM32 STM32F103C8T6 Ҳадди ақали Шӯрои рушди системаи [pdf] Дастури корбар STM32F103C8T6 Ҳадди ақали Шӯрои рушди система, STM32F103C8T6, Шӯрои рушди система, Шӯрои рушди система, Шӯрои таҳия, Шӯрои |