E fa'afefea ma pe aisea e faitau ai fa'amaumauga pe afai o microcontrollers o lau mea e fiafia i ai

E fa'afefea ma pe aisea e faitau ai fa'amaumauga pe afai o microcontrollers o lau mea e fiafia i ai

Microelectronics o se faʻafiafiaga masani i tausaga talu ai nei faʻafetai i le faʻailoga Arduino. Ae o le faʻafitauli lenei: ma le lava le fiafia, e mafai ona e vave faʻateleina DigitalWrite (), ae o le a le mea e fai e sosoo ai e le o manino atoatoa. Ua faia e le au atinaʻe Arduino le tele o taumafaiga i le faʻaitiitia o le pa e ulufale atu ai i totonu o latou faʻalapotopotoga faʻanatura, ae i fafo atu o loʻo i ai pea se vaomatua pogisa o le taʻavale faigata e le mafai ona maua e le au amateur.

Mo se faʻataʻitaʻiga, faʻamaumauga. E foliga mai o loʻo ia i latou mea uma, ave ma faʻaaoga. Ae o latou tusitala manino e le o latou faia le galuega o le faalauiloaina o microcontrollers; O nisi taimi foliga mailatou te fa'aaogaina ma le loto i ai faaupuga ma fa'apuupuuga e le mafai ona malamalama i ai pe a fa'amatalaina mea faigofie ina ia fa'afememea'i ai i latou e le'i malamalama i le tele e mafai ai. Ae le o mea uma e leaga tele; pe a manaʻomia, e matala le pusa maliu.

I lenei tusiga o le a ou faʻasoaina le poto masani o se tagata poto faapitoa i le humanities e fesoʻotaʻi ma faʻamaumauga mo faʻamoemoega fiafia. O le tusitusiga e faʻamoemoe mo amateurs oe na ola aʻe mai le ofuvae Arduino; o loʻo i ai se malamalamaaga i mataupu faavae o le faʻaogaina o microcontrollers.

O le a ou amata i le masani

Faʻailoaina se LED i Arduino

Ma vave le code:

void setup() {
DDRB |= (1<<5);
}

void loop() {
PINB = (1<<5);
for (volatile uint32_t k=0; k<100000; k++);
}

"O le a lea? – O le a fesili se tagata faitau atamai. – Aisea ua e tusia ai se mea i le tusi resitala fa'aoga PINB? E mo na'o le faitau!” E moni lava, Arduino pepa, pei o le tele o tala fa'aa'oa'oga i luga o le Initaneti, o lo'o ta'ua ai o lenei tusi resitala e na'o le faitau. Sa ou manatu faapena ia te au lava ia seia oo ina ou toe faitauina fa'amatalaga i Atmega328p, saunia lenei tusiga. Ma o iina:

E fa'afefea ma pe aisea e faitau ai fa'amaumauga pe afai o microcontrollers o lau mea e fiafia i ai

O se galuega fou fou, e leʻo i luga ole Atmega8, e le o iloa e tagata uma pe le o taʻua mo mafuaʻaga o le fetaui i tua. Ae e fetaui lelei mo le faʻaalia o le manatu o faʻamaumauga e aoga le faitau ina ia faʻaogaina uma gafatia o le pu, e aofia ai ma mea e le masani ai. Ma e le na o le pau lea o le mafuaaga.

Aisea e toe faitau ai fa'amaumauga?

E masani lava, inisinia Arduino, ua lava taʻalo ma LEDs ma AnalogWrites, amata ona faʻafesoʻotaʻi ituaiga uma o modules ma meataalo i luga o le laupapa, lea ua uma ona tusia ai faletusi. Ise taimi mulimuli ane, e aliali mai se faletusi e le o galue e pei ona tatau ai. Ona amata lea ona piki e le amateur e toe faaleleia, ona ...

Ma o se mea e matua le malamalama lava e tupu iina, o lea e tatau ai ona e alu i Google, faitau le tele o aʻoaʻoga, toso ese vaega o le tulafono talafeagai a se tasi ma mulimuli ane ausia lau sini. O lenei mea e maua ai se lagona malosi o le ausia, ae o le mea moni o le faagasologa e pei o le toe faʻafouina o le uili e ala i le faʻaaogaina o le uila afi. E le gata i lea, o le malamalama i le auala e galue ai lenei uila e le faʻateleina. Ou te iloa, aua na ou faia lenei mea mo se taimi umi lava.

Afai nai lo lenei gaioiga manaia na ou faʻaaluina ni nai aso e suʻesuʻe ai le Atmega328 pepa, semanu ou te sefeina se taimi tele. A uma mea uma, o se microcontroller faigofie lava.

O le mea lea, e tatau ona e faitauina faʻamaumauga ina ia mafai ai ona e mafaufau pe faʻafefea ona galue le microcontroller ma mea e mafai ona fai. Ma le isi:

  • e siaki ma fa'asilisili faletusi a isi tagata. E masani ona tusia e le au amateurs e tasi e toe faʻafouina le uili; pe, i se isi itu, ua faia ma le loto i ai e tusitala ia matua faavalevalea. Ia faatoluina le tele ma faagesegese, ae e mautinoa lava e aoga;

  • ia mafai ona faʻaaogaina tupe meataalo i se poloketi e leʻi tusia e se tasi se faletusi;

  • ina ia faafaigofie ai mo oe lava ona faimalaga mai le tasi laina MK i le isi;

  • e faʻamalieina lau code tuai, lea e le fetaui i Arduino;

  • ia a'oa'o le pulea sa'o o so'o se chip e ala i ana tusi resitala, e aunoa ma le fa'alavelave i le su'esu'eina o le fausaga o ana faletusi, pe a iai.

Aisea e tusi sa'o ai e resitala pe a iai le HAL ma le LL?

Tusi upu
HAL, Fa'asa'oga Maualuga Maualuga - o se faletusi mo le puleaina o se microcontroller ma se maualuga maualuga o le faʻaaogaina. Afai e te manaʻomia le faʻaogaina o le SPI1 interface, naʻo lou faʻatulagaina ma faʻatagaina le SPI1 e aunoa ma le mafaufau po o fea resitala e nafa ma le a.
LL, Tulaga Maulalo API - o se faletusi o loʻo i ai macros poʻo fausaga faʻatasi ai ma tuatusi resitala, e mafai ai ona e mauaina i latou i lou igoa. DDRx, PORTx, PINx ile Atmega ole LL.

O feeseeseaiga i luga o le autu "HAL, LL poʻo resitala" e masani ona tupu i faʻamatalaga i luga o Habré. A aunoa ma le fa'ailoaina o avanoa i le malamalama astral, o le a na'o lo'u fa'asoa atu o lo'u poto masani ma mafaufauga.

I le tele pe itiiti ifo o le mafaufauina o Atmega ma le faitauina o tala e uiga i le matagofie o le STM32, na ou faʻatauina le afa taseni laupapa eseese - Discovery, ma Blue Pills, ma e oʻo lava naʻo tupe meataalo mo aʻu oloa gaosi. Na latou aoina uma le pefu i totonu o se pusa mo le lua tausaga. O nisi taimi sa ou faapea ifo ia te aʻu lava: “O le mea lena, amata i le faaiuga o le vaiaso nei ou te aʻoaʻoina le STM,” faʻalauiloa CubeMX, faʻatupuina se seti mo SPI, tilotilo i le puipui o tusitusiga, faʻamalieina ma le agalelei STM puletaofia, ma filifili ai o le mea foi lea. tele.

E fa'afefea ma pe aisea e faitau ai fa'amaumauga pe afai o microcontrollers o lau mea e fiafia i ai

Ioe, e mafai ona e iloa le mea na tusia e CubeMX iinei. Ae i le taimi lava e tasi e manino lava o le manatuaina o upu uma ona tusia lea i lima e le talafeagai. Ma e faʻafefeina lenei mea, pe a faʻafuaseʻi ona galo ia te aʻu le siaki o se pusa i le Cube, e matua lelei lava.

Ua mavae atu le lua tausaga, o loo ou mitimiti pea oʻu laugutu ST MCU Saili mo ituaiga uma o mea suamalie, ae i tua atu o loʻu malamalama, chips, ma faʻafuaseʻi ona maua tala matagofie, e tusa ma le STM8. MA fa'afuase'i Na ou iloaina o lenei taimi atoa sa ou tuʻituʻi i se faitotoʻa matala: o resitala a le STM o loʻo faʻatulagaina i le auala lava e tasi e pei o isi MK, ma e le manaʻomia le Cube e galulue ai ma i latou. Na mafai lava? ..

HAL ma faapitoa STM32CubeMX o se meafaigaluega mo inisinia faʻapolofesa o loʻo galulue vavalalata ma STM32 meataalo. O le vaega autu o se maualuga maualuga o le faʻaaogaina, o le mafai ona vave faimalaga mai le tasi MCU i le isi ma e oʻo lava mai le tasi autu i le isi, aʻo tumau i totonu ole laina STM32. E seasea ona feagai le au fiafia i ia faafitauli - o la matou filifiliga o microcontrollers, e pei o se tulafono, e gata i le AliExpress, ma e masani ona matou faimalaga i le va o tupe meataalo eseese - matou te siitia mai Atmega i STM, mai le STM i le ESP, poʻo soʻo se mea fou a matou uo Saina. togi mai ia i matou. O le a le fesoasoani le HAL iinei, ma o le suʻesuʻeina o le a alu ai le tele o taimi.

LL tumau - ae mai ai i le resitala o loʻo i ai le afa o le laasaga. I le tagata lava ia, ou te iloa le tusiaina o aʻu macros ma tuatusi resitala e aoga: Ou te suʻesuʻeina le faʻamaumauga ma le faʻaeteete, ou te mafaufau i mea o le a ou manaʻomia i le lumanaʻi ma mea e mautinoa lava ou te le faia, sili atu le faʻatulagaina o aʻu polokalame, ma i se tulaga lautele, manumalo fesoasoani e tauloto. .

E le gata i lea, o loʻo i ai se faʻaaliga ma le lauiloa STM32F103 - e lua faʻasalalauga LL e le fetaui mo ia, tasi le ofisa mai le STM, le lona lua mai Leaf Labs, faʻaaogaina i le STM32duino poloketi. Afai e te tusia se faletusi tatala-puna (ma sa ou maua tonu se galuega faapena), e tatau ona e faia ni fa'aliliuga se lua, pe fa'aoga sa'o i tusi resitala.

Mulimuli ane, faʻaumatia LL, i loʻu manatu, faʻafaigofie le femalagaaʻi, aemaise lava pe afai e te fuafua i ai mai le amataga o le poloketi. Faʻataʻitaʻiga faʻateleina: seʻi o tatou tusi Arduino emo i Atmel Studio e aunoa ma le LL:

#include <stdint.h>

#define _REG(addr) (*(volatile uint8_t*)(addr))

#define DDR_B 0x24
#define OUT_B 0x25

int main(void)
{
    volatile uint32_t k;

    _REG(DDR_B) |= (1<<5);

    while(1)
    {
        _REG(OUT_B) |= (1<<5);
        for (k=0; k<50000; k++);
        _REG(OUT_B) &= ~(1<<5);
        for (k=0; k<50000; k++);
    } 
}

Ina ia mafai e lenei tulafono ona emo le LED i luga o le laupapa Saina ma le STM8 (mai le ST Visual Desktop), ua lava le suia o tuatusi e lua i totonu:

#define DDR_B 0x5007
#define OUT_B 0x5005

Ioe, ou te faʻaogaina se vaega o le faʻafesoʻotaʻi o le LED i luga o se laupapa faʻapitoa, o le a emo lemu, ae o le a tupu!

O a ituaiga o fa'amaumauga o lo'o iai?

I tala ma luga o faʻasalalauga, Rusia ma le Igilisi, "pepa faʻamaumauga" o lona uiga o soʻo se faʻamatalaga faʻapitoa mo tupe meataalo, ma ou te faia foʻi i lenei tusitusiga. I le tulaga aloaia, ua na o se tasi o ituaiga o ia pepa:

Datasheet - Uiga fa'atinoga, uiga fa'apitoa ma fa'atekinisi. Fa'atulafonoina mo so'o se vaega fa'aeletoroni. O faʻamatalaga faʻamatalaga e aoga e teu ai, ae e le tele se faitau i ai ma le mafaufau loloto. Ae ui i lea, o tupe meataalo faigofie e masani ona faʻatapulaʻaina i se faʻamaumauga ina ia aua neʻi maua ni pepa e le manaʻomia; i lenei tulaga Tusitaiala Tusitaiala ua aofia ai iinei.

Tusitaiala Tusitaiala - o faatonuga lava ia, o se tusi soifua maloloina o 1000+ itulau. O le galuega o mea uma o loʻo faʻapipiʻiina i totonu o le chip o loʻo faʻamatalaina auiliili. O le pepa autu mo le puleaina o le microcontroller. E le pei datasheet, o faʻatonuga e tusia mo le tele o MKs; o loʻo i ai le tele o faʻamatalaga e uiga i peripherals e le o maua i lau faʻataʻitaʻiga faʻapitoa.

Tusi Lesona Polokalama poʻo Fa'atonuga Seti Tusi Lesona – fa'atonuga mo fa'atonuga fa'apitoa microcontroller. Ua fuafuaina mo i latou o lo'o faia polokalame i le gagana Assembly. E faʻaaogaina e le au tusitala faʻapipiʻi e faʻamaonia ai le code, o lea i le tulaga lautele tatou te le manaʻomia. Ae o le va'ai iinei e aoga mo se malamalamaaga lautele, mo nisi o fa'atonuga fa'apitoa e pei o le alu ese o se fa'alavelave, fa'apea fo'i ma le fa'aaogaina o le debugger.

Talosaga Faʻamatalaga - fesoasoani aoga mo le foia o faʻafitauli faʻapitoa, masani ma faʻataʻitaʻiga code.

Pepa Errata – fa'amatalaga o mataupu o le amio chip e le masani ai fa'atasi ai ma filifiliga e fo'ia ai, pe a iai.

O a mea o lo'o i totonu o fa'amaumauga

Sa'o i Datasheet atonu tatou te manaʻomia vaega nei:

Aotelega o masini – o le itulau muamua o fa'amatalaga fa'amatalaga fa'apuupuu le masini. E aoga tele i tulaga na e maua ai se pu i se mea (vaai i totonu o se faleoloa, faʻatau, maua se taʻua) ma e te manaʻo e malamalama pe o le a.

Faamatalaga Aoao - o se faʻamatalaga sili atu ona auiliili o le gafatia o tupe meataalo mai le laina.

Pinouts – fa'ata'ita'i fa'ailoga mo afifi uma e mafai ona maua (o le fa'amau o le vae).

Pin Faʻamatalaga - faʻamatalaga o le faʻamoemoe ma gafatia o pine taʻitasi.

Faafanua mo le manatuaina - atonu tatou te le manaʻomia se faʻafanua tuatusi i le mafaufau, ae o nisi taimi e aofia ai foi se laulau o tuatusi poloka poloka.

Resitala Faafanua - o le laulau o tuatusi o poloka resitala, e pei o se tulafono, o loʻo i totonu o faʻamaumauga, ma totonu Ref Manual - na'o sifi (tu'uaiga offsets).

Faʻamaumauga eletise - i lenei vaega matou te matua fiafia i ai fa'atonuga aupito maualuga, lisiina le maualuga o uta i le pu. E le pei o le Atmega328p e le mafai ona faʻaumatia, o le tele o MKs e le faʻatagaina oe e faʻafesoʻotaʻi mamafa mamafa i pine, lea e avea ma mea e le fiafia ai Arduinists.

Faʻamatalaga afifi - ata o avanoa avanoa, aoga pe a mamanuina au laupapa.

Tusitaiala Tusitaiala fa'atulagaina e aofia ai vaega e fa'atatau i peripheral fa'apitoa o lo'o fa'aalia i lo latou igoa. E mafai ona vaevaeina mataupu taitasi i ni vaega se tolu:

lagona, faʻatomuaga, Features - va'aiga lautele o agava'a lautele;

Faʻamatalaga Galuega, Faʻaaogaina Taiala pe na o le poloka autu o le vaega - o se faʻamatalaga faʻamatalaga auiliili o mataupu faavae o le masini faʻaoga ma le faʻaogaina;

Tusi resitala – fa'amatalaga o resitala fa'atonu. I mataupu faigofie e pei o le GPIO poʻo le SPI, atonu e lava lea e amata ai ona faʻaogaina peripherals, ae masani lava e tatau ona e faitau i vaega muamua.

Fa'afefea ona faitau fa'amaumauga

Pepa o faʻamaumauga, ona o le masani, faʻafefe oe i lo latou leo ​​ma le tele o upu le malamalama. O le mea moni, o mea uma e le o se mea taufaafefe pe afai e te iloa ni nai hacks olaga.

Faʻamau lelei faitau PDF. O faʻamaumauga o loʻo tusia i tu ma aga mamalu o faʻatonuga pepa; e lelei tele e lolomi, faʻapipiʻi ma faʻailoga tusi palasitika ma suisui. Hypertext i totonu oi latou o loʻo matauina i le tele o faʻasologa. O le mea e lelei ai, o le mea sili o le fausaga o le pepa ua mamanuina ma faʻamaufaʻailoga, o lea e manaʻomia ai se tagata faitau talafeagai ma faigofie faʻatautaia.

O faʻamaumauga e le o se tusi aoga a Stroustrup; o loʻo i ai e le manaʻomia ona faitau mea uma. Afai na e faʻaaogaina le fautuaga muamua, naʻo le suʻeina o le vaega e manaʻomia i le pusa tusi.

Pepa fa'amaumauga, aemaise lava Fa'asino Tusi Taiala, e mafai ona faʻamatalaina le gafatia e le o se vaʻa faapitoa, ae le laina atoa. O lona uiga o le afa, poʻo le lua vaetolu o faʻamatalaga e le talafeagai i lau pu. A'o le'i su'esu'e tusi resitala TIM7, siaki i totonu Faamatalaga Aoao, e te maua?

Iloa english lava mo tulaga faavae. Pepa o fa'amaumauga e aofia ai le afa o upu e le masani ai le tagata tautala fa'apitoa, ma le afa o fausaga feso'ota'i faigofie. O lo'o i ai fo'i fa'amaumauga sili a Saina i le gagana fa'aSaina fa'aPeretania, lea o lo'o fa'apea fo'i le afa, ma o le afa lona lua o se seti o upu.

Afai e te feiloai upu e le masani ai, aua e te taumafai e faaliliu e faaaoga ai se lomifefiloi Igilisi-Rusia. Afai e te le mautonu hysteresis, o le faaliliuga "hysteresis" o le a le faʻamafanafanaina oe. Fa'aoga Google, Stack Overflow, Wikipedia, forums, pe a iai le manatu mana'omia faamatalaina i upu faigofie ma faataitaiga.

O le auala sili e malamalama ai i mea e te faitauina o le siaki i gaioiga. O le mea lea, ia tu'u pea le laupapa debug o lo'o e masani ai, pe sili atu i le lua, ne'i e le malamalama i se mea ma va'ai i se asu fa'ataulāitu.

Ose mausa lelei le fa'atumauina o lau fa'amaumauga pe a e faitau a'oa'oga a se tasi po o le suesueina o le faletusi a se isi tagata. E matua mafai lava e te mauaina se fofo sili atu ona lelei i lou faafitauli i totonu. Ma le isi itu - afai e le mafai ona e malamalama mai le faʻamatalaga pe faʻafefea ona galue le tusi resitala, google: e foliga mai, ua uma ona faʻamatalaina e se tasi mea uma i upu faigofie pe tuʻu le code manino ile GitHub.

Tusi upu

O nisi o upu ma fa'ailoga aoga e fesoasoani ia te oe e vave fa'aoga i fa'amaumauga. O mea na ou manatua i nai aso talu ai, o faʻaopoopoga ma faasaʻoga e talia.

Eletise
VDC, vdd – “faaopoopo”, meaai
Vss, Vee – “minus”, lalolagi
i le taimi nei – i le taimi nei
volitiga - voltage
ia goto le a'e – galue o se “eleele” mo uta i fafo
e maua ai le taimi nei – mana uta fafo
maualuga goto/puna pine – pine ma le faateleina o le “faapalepale” i le uta

IO
H, Maualuluga – i luga ole pine Vcc
L, Maulalo – i luga ole pine Vss
Maualuga Impedance, Talofa-Z, felelei - e leai se mea i luga o le pine, "maualuga le tetee", e toetoe lava a le vaaia e le lalolagi i fafo.
vaivai toso i luga, vaivai toso i lalo – toso i luga/toso i lalo tetee, e tusa ma le 50 kOhm (silasila i le faamatalaga). E fa'aaogaina, mo se fa'ata'ita'iga, e puipuia ai le pine fa'aulu mai le tautau i le ea, ma mafua ai fa'ailo sese. Vaivai - aua e faigofie ona "faʻalavelave" ia te ia.
tulei toso - faiga fa'apipi'i, lea e fesuia'i i le va maualuga и maulalo - OUTPUT masani mai Arduino.
alavai tatala – fa'ailoga o le faiga fa'atino lea e mafai ona iai le pine maulalo, po o Fa'asalaina maualuga/Opeopea. E le gata i lea, toetoe lava o taimi uma e le o se "moni" tatala alavai; o loʻo i ai diodes puipui, faʻalavelave, ma isi mea. E na'o se fa'ailoga mo le eleele/leai se faiga.
alavai tatala moni - ae o se alavai moni lava lea e matala: e tau sa'o le pine i le eleele pe a matala, pe tumau i le limbo pe a tapuni. O lona uiga, pe a manaʻomia, e mafai ona pasia se voluma sili atu nai lo le Vcc, ae o le maualuga o loʻo faʻamaonia pea i le upega tafaʻilagi i le vaega. Fa'ai'uga Maualuluga/Value.

Faʻaaliga
i fa'asologa – fesootai i le faasologa
e filifili - faʻapipiʻi tupe meataalo i totonu o se filifili e faʻaaoga ai se fesoʻotaʻiga faʻasolosolo, faʻateleina le numera o galuega.
fesuiaiga – sifi, e masani lava ona fa'aalia sina sifi. E fa'apea, e sui i totonu и e sui i fafo - maua ma fa'asalalau fa'amaumauga i lea vaega ma lea mea.
fono – ose faamau e ufiufi ai le pa'u a'o fa'asolo atu i totonu. A maeʻa le fesiitaiga, e matala le alatoto ma amata ona galue ia mea.
e teu i totonu – fai se fesiitaiga ta'i ma lea mea, fa'asolo uma vaega i nofoaga sa'o.
fa'apalua fa'atasi, tusi resitala ata, tusi resitala muamua - fa'ailoga o tala fa'asolopito, pe a tatau i le resitala ona talia fa'amatalaga fou, ae taofi se'ia o'o i se taimi. Mo se faʻataʻitaʻiga, mo le PWM e galue saʻo, o ona taʻaloga (tiʻetiʻe tiute, taimi) e le tatau ona suia seia maeʻa le taamilosaga o loʻo i ai nei, ae ua mafai ona faʻafeiloaʻi mea fou. O le mea lea, o loʻo iai nei o loʻo teuina i tusi resitala ata, ma o mea fou e pauu i totonu tusi resitala muamua, o lo'o tusia i le tusi resitala o chip.

O ituaiga mea uma
tagata fa'atauva'a – fa'asologa o taimi
e seti sina mea - seti le bit i le 1
e fa'amama / toe setiina teisi - toe setiina le laititi i le 0 (toe setiina - STM fa'amatalaga fa'amatalaga)

O le a le isi

I se tulaga lautele, o se vaega aoga na fuafuaina iinei ma se faʻataʻitaʻiga o poloketi e tolu ile STM32 ma le STM8, faʻapitoa mo lenei tusiga e faʻaaoga ai faʻamaumauga, faʻatasi ai ma matauila, SPI, timers, PWM ma faʻalavelave:

E fa'afefea ma pe aisea e faitau ai fa'amaumauga pe afai o microcontrollers o lau mea e fiafia i ai

Ae o loʻo i ai le tele o tusitusiga, o lea e lafo ai poloketi i le vaega lona lua.

O le tomai o le faitauina o fa'amaumauga o le a fesoasoani ia te oe i lau mea e te fiafia i ai, ae e le mafai ona suia le feso'ota'iga ola ma isi tagata fiafia i luga o fa'asalalauga ma talatalanoaga. Mo lenei fa'amoemoe, e mana'omia lava lou fa'aleleia muamua o lau Igilisi. O le mea lea, oi latou na maeʻa faitau o le a maua se taui faʻapitoa: lua lesona e leai se totogi i Skyeng ma le totogi muamua e faʻaaoga ai le code HABR2.

puna: www.habr.com

Faaopoopo i ai se faamatalaga