Si dhe përse të lexoni fletë informuese kur mikroprocesorët janë pasioni juaj

Si dhe përse të lexoni fletë informuese kur mikroprocesorët janë pasioni juaj

Mikroelektronika është një tendencë e njohur vitet e fundit falë Arduino-s magjik. Por ka një pengesë: me interes të duhur, kalimi përtej DigitalWrite() ndodh shpejt, ndërsa çfarë të bëni më pas nuk është shumë e qartë. Zhvilluesit e Arduino-s kanë bërë përpjekje të shumta për të ulur barrierat e hyrjes në ekosistemin e tyre, por përtej saj ende shtrihet një pyll i errët i teknikës së ashpër, i pamundshëm për entuziastët.

Për shembull, fletë informuese. Duket sikur aty ka gjithçka, merr dhe përdor. Por autorët e tyre duket se nuk kanë për qëllim të popullojnë mikroprocesorët; ndonjëherë duket, se ata abuzojnë me terma dhe akronime të paqarta kur përshkruajnë gjëra të thjeshta, për të ngatërruar sa më shumë të paqartët. Por nuk është aq keq, me dëshirën e duhur, ndihma është e arritshme.

Në këtë artikull do të ndaj përvojën time me fletë informuese për qëllime hobi. Teksti është i destinuar për ata që janë rritur nga Arduino dhe supozon një njohje të caktuar me parimet e funksionimit të mikroprocesorëve.

Të fillojmë me tradicionalen

Ndizim një LED me Arduino

Dhe kodin menjëherë:

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

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

«ÇfarĂ« Ă«shtĂ« kjo? – Do tĂ« pyesĂ« njĂ« lexues tĂ« trajnuar. – Pse po shkruan diçka nĂ« regjistrin hyrĂ«s PINB? Ai Ă«shtĂ« vetĂ«m pĂ«r lexim!» NĂ« tĂ« vĂ«rtetĂ«, dokumentacioni Arduino, si shumica e artikujve mĂ«simorĂ« nĂ« internet, thotĂ« se ky regjistĂ«r Ă«shtĂ« read-only. Edhe unĂ« e mendoja kĂ«shtu, derisa rilexova datasheet pĂ«r Atmega328p, duke e pĂ«rgatitur kĂ«tĂ« artikull. Dhe aty:

Si dhe përse të lexoni fletë informuese kur mikroprocesorët janë pasioni juaj

Ky është një funksionalitet relativisht i ri, nuk kishte në Atmega8, për të cilin jo të gjithë e dinë ose nuk e përmendin për arsye të përputhshmërisë prapa. Por është krejtësisht i përshtatshëm për të demonstruar idenë se duhet të lexoni datasheet-et për të shfrytëzuar të gjitha mundësitë e çipit, duke përfshirë ato që janë më pak të njohura. Dhe kjo nuk është arsyeja e vetme.

Pse duhet të lexoni edhe datasheet-et

Zakonisht, ata qĂ« pĂ«rgatisin Arduino, pasi kanĂ« luajtur me LED-at dhe AnalogWrite-at, fillojnĂ« tĂ« lidhen me pllakĂ«n e moduleve dhe çipave tĂ« ndryshĂ«m, pĂ«r tĂ« cilat ekzistojnĂ« tashmĂ« biblioteka tĂ« shkruara. VonĂ« apo herĂ«t shfaqet njĂ« bibliotekĂ« qĂ« nuk funksionon siç duhet. AtĂ«herĂ«, entuziasti fillon ta shqyrtojĂ« atĂ« pĂ«r ta riparuar, dhe atje


Ka there ndodhin disa gjëra që janë krejtësisht të paqarta, prandaj duhet të shkoj në Google, të lexoj shumë tutoriale, të nxjerr pjesë nga kodi i dikujt tjetër dhe në fund të arrij atë që dua. Kjo sjell një ndjesi të fortë të arritjes, por në të vërtetë procesi i ngjan shpikjes së biçikletës përmes inxhinierisë revers të një motociklete. Megjithatë, kuptimi se si funksionon kjo biçikletë nuk shtohet. E di, sepse edhe vetë kam bërë një gjë të tillë për një kohë të gjatë.

Nëse do të kisha shpenzuar disa ditë për të studiuar dokumentacionin e Atmega328, do të kisha kursyer një sasi të madhe kohë. Pas gjithë kësaj, ky është një mikrocontroller mjaft i thjeshtë.

Prandaj, është e domosdoshme të lexosh fletët teknike për të pasur një ide se si është ndërtuar mikrocontrolleri dhe çfarë funksionesh ka. Dhe gjithashtu:

  • pĂ«r tĂ« kontrolluar dhe optimizuar bibliotekat e tĂ« tjerĂ«ve. Shpesh, ato shkruhen nga entuziastĂ« tĂ« ngjashĂ«m qĂ« shpiknin njĂ« biçikletĂ«; ose pĂ«rkundrazi, autorĂ«t qĂ«llimisht bĂ«jnĂ« mbrojtje tĂ« tepruar nga budallallĂ«ku. Le tĂ« jetĂ« tri herĂ« mĂ« e madhe dhe mĂ« e ngadaltĂ«, por nĂ« çdo rast do tĂ« funksionojĂ«.

  • pĂ«r tĂ« pasur mundĂ«sinĂ« tĂ« pĂ«rdorĂ«sh nĂ« projekt çipat pĂ«r tĂ« cilat askush nuk ka shkruar bibliotekĂ«;

  • pĂ«r tĂ« lehtĂ«suar punĂ«n e migrimit nga njĂ« linjĂ« MK nĂ« njĂ« tjetĂ«r;

  • pĂ«r tĂ« optimizuar mĂ« nĂ« fund kodin tim tĂ« vjetĂ«r qĂ« nuk pĂ«rputhej me Arduinon;

  • pĂ«r tĂ« mĂ«suar si tĂ« menaxhosh çdo çip drejtpĂ«rdrejt pĂ«rmes regjistrave tĂ« tij, pa u shqetĂ«suar pĂ«r tĂ« studiuar strukturĂ«n e bibliotekave tĂ« tij, nĂ«se ato ekzistojnĂ«.

Pse të shkruash në regjistra drejtpërdrejt, kur ka HAL dhe LL?

Fjalor
HAL, High Abstraction Layer – njĂ« bibliotekĂ« pĂ«r menaxhimin e mikroprocesorĂ«ve me njĂ« nivel tĂ« lartĂ« abstraksioni. NĂ«se duhet tĂ« pĂ«rdorim ndĂ«rfaqen SPI1, thjesht e konfiguroni dhe aktivizoni SPI1, pa u shqetĂ«suar se cilat regjistrat pĂ«r çfarĂ« pĂ«rgjigjen.
LL, Low Level API – njĂ« bibliotekĂ« qĂ« pĂ«rmban makro ose struktura me adresat e regjistrave, duke lejuar qasje nĂ« to pĂ«rmes emrit. DDRx, PORTx, PINx nĂ« Atmega – kjo Ă«shtĂ« LL.

Diskutimet mbi "HAL, LL apo regjistrat" ndodhin rregullisht në komentet në Habr. Pa pretenduar se kam akses në njohuri astrale, do të ndaj thjesht përvojën dhe mendimet e mia amatore.

Pas mĂ« shpesh duke u marrĂ« me Atmega-n dhe duke lexuar artikuj pĂ«r mrekullitĂ« e STM32, bleva gjysmĂ« duzine plaka tĂ« ndryshme – dhe Discovery, dhe "TabletĂ«t Blu", madje dhe çipe pĂ«r projektet e mia. TĂ« gjitha kĂ«to dy vjet plakuan nĂ« kutinĂ«. NdonjĂ«herĂ« i thoja vetes: "mjaft, kĂ«tĂ« fundjavĂ« do tĂ« mĂ«soj STM", filloja CubeMX, gjeneroja konfigurimin pĂ«r SPI, shikoja murin e tekstit qĂ« rezultonte, tĂ« mbushur me fraza tĂ« kohĂ«s STM, dhe vendosja se kjo Ă«shtĂ« paksa shumĂ«.

Si dhe përse të lexoni fletë informuese kur mikroprocesorët janë pasioni juaj

Sigurisht, Ă«shtĂ« e mundur tĂ« kuptosh se çfarĂ« ka shkruar CubeMX. Por njĂ«kohĂ«sisht Ă«shtĂ« e qartĂ« se nuk Ă«shtĂ« e mundur tĂ« mbash mend tĂ« gjitha formulimet, qĂ« mĂ« pas t’i shkruash nga vetja. Dhe aq mĂ« shumĂ«, ta zhblesh kĂ«tĂ«, nĂ«se rastĂ«sisht harroj tĂ« vendos ndonjĂ« kuti nĂ« Cubo, - pastaj Ă«shtĂ« shumĂ« e vĂ«shtirĂ«.

Ka kaluar dy vjet, unë vazhdoj të endem në ST MCU Finder për çipe të ndryshme të shijshme, por që janë jashtë kuptimit tim, dhe rastësisht u ndesha me një artikull të shkëlqyer, ndonëse për STM8. Dhe papritur kuptova se gjatë gjithë kësaj kohe kam trokitur në një derë të hapur: regjistrat në STM janë organizuar ashtu siç janë në çdo mikrokontrollues tjetër, dhe për të punuar me ta, Cube nuk është i domosdoshëm. E çfarë, kështu mund të ishte?..

HAL dhe konkretisht STM32CubeMX është një instrument për inxhinierë profesionistë, që punojnë ngushtë me çipat STM32. Karakteristika kryesore është niveli i lartë i abstraksionit, mundësia për të migruar shpejt nga një MCU në një tjetër dhe madje nga një bërthamë në një tjetër, duke mbetur brenda linjës STM32. Adhuruesit e detyrave të tilla përballen rrallë - zgjedhja jonë e MCU-ve është zakonisht e kufizuar në asortimentin e AliExpress, dhe ne shpesh migrojmë midis çipave krejtësisht të ndryshëm - kalojmë nga Atmega në STM, nga STM në ESP, ose çfarëdo që na ofrojnë miqtë tanë kinezë. HAL këtu nuk ndihmon, dhe koha për ta studiuar do të ishte e pajisur mirë.

Ka mbetur LL - por nga ai deri te regjistrat është një hap. Personalish, unë e gjej të dobishme të shkruaj makros të mia me adresat e regjistrave: studioj më me kujdes datablat, mendoj se çfarë do të më nevojitet në të ardhmen dhe çfarë nuk do, strukturoj më mirë programet e mia, dhe në përgjithësi, përballimi kontribuon në memorizim.

Përveç kësaj, ka një detaj me STM32F103 të njohur - për të ekzistojnë dy versione të papajtueshme të LL, një e zyrtarizuar nga STM dhe tjetra e Leaf Labs, e cila përdoret në projektin STM32duino. Nëse shkruani një bibliotekë open-source (dhe unë e kam pasur pikërisht këtë detyrë), duhet ose të bëhet dy versione, ose të drejtohemi direkt në regjistra.

Më në fund, heqja dorë nga LL, sipas mendimit tim, e thjeshton migrimin, veçanërisht nëse planifikohet nga fillimi i projektit. Një shembull ekstrem: do të shkruajmë një blink në Arduino në Atmel Studio pa 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++);
    } 
}

Për ta bërë këtë kod të ndizet dhe të ndizet drita në bordin kinez me STM8 (nga ST Visual Desktop), mjafton të ndryshojmë dy adresat:

#define DDR_B 0x5007
#define OUT_B 0x5005

Po, po përdor një tipar të lidhjes së dritës në bordin specifik, do të ndizet shumë ngadalë, por do të ndizet!

Cilat janë datasheet-et

NĂ« artikuj dhe nĂ« forume, nĂ« tĂ« dyja gjuhĂ«t, ruse e angleze, me "datasheets" kuptojmĂ« çdo lloj dokumentacioni teknik pĂ«r çipet, ashtu siç bĂ«j edhe unĂ« nĂ« kĂ«tĂ« tekst. Forma trajtimi Ă«shtĂ« – vetĂ«m njĂ« nga llojet e kĂ«tij dokumentacioni:

Datasheet – TTH, karakteristikat taktike dhe teknike. PatjetĂ«r qĂ« ka nĂ« çdo komponent elektronik. Informacione references, e dobishme tĂ« mbash pranĂ«, por nuk ka shumĂ« pĂ«r ta lexuar me vĂ«mendje. SidoqoftĂ«, çipat mĂ« tĂ« thjeshtĂ« shpesh kufizohen nĂ« datasheet pĂ«r tĂ« shmangur krijimin e dokumenteve tĂ« tepĂ«rta; nĂ« kĂ«tĂ« rast Manual ReferencĂ« pĂ«rfshihet kĂ«tu gjithashtu.

Manual ReferencĂ« – manuali i vetĂ«, njĂ« libĂ«r i shĂ«ndetshĂ«m mbi 1000+ faqe. Shpjegon nĂ« detaje funksionimin e gjithĂ« asaj qĂ« Ă«shtĂ« futur nĂ« çip. Dokumenti kryesor pĂ«r tĂ« mĂ«suar mikroprocesorin. Ndryshe nga datasheet, manualet shkruhen pĂ«r njĂ« gamĂ« tĂ« gjerĂ« tĂ« MC, ato pĂ«rmbajnĂ« shumĂ« informacion rreth periferikĂ«ve qĂ« mungojnĂ« nĂ« modelin tuaj tĂ« caktuar.

Manuali i Programimit ose Manuali i Setit tĂ« Instruksioneve – manual pĂ«r komandat unike tĂ« mikroprocesorit. Prednanzar pĂ«r ata qĂ« programojnĂ« nĂ« Assembler. AutorĂ«t e kompilatorĂ«ve e pĂ«rdorin atĂ« aktivisht pĂ«r optimizimin e kodit, prandaj nĂ« pĂ«rgjithĂ«si nuk do na nevojitet. Por Ă«shtĂ« e dobishme tĂ« shikoni kĂ«tu pĂ«r njĂ« kuptim tĂ« pĂ«rgjithshĂ«m, pĂ«r disa komanda specifike si dalja nga ndĂ«rprerja, si dhe gjatĂ« pĂ«rdorimit aktiv tĂ« debuggers.

ShĂ«nimi i Aplikacionit – kĂ«shilla tĂ« dobishme pĂ«r zgjidhjen e detyrave specifike, shpesh me shembuj kod.

FletĂ« Rregullore – pĂ«rshkrimi i rasteve tĂ« sjelljes jo standarde tĂ« çipit me mundĂ«si pĂ«r trekshe, nĂ«se ka.

ÇfarĂ« ka nĂ« datasheets

Të drejtpërdrejta në Datasheet ne mund të na nevojiten këto seksione:

PĂ«rmbledhja e Pajisjeve – faqja e parĂ« e fletĂ«kesĂ«s jep njĂ« pĂ«rmbledhje tĂ« pajisjes. ShumĂ« e dobishme nĂ« situatat kur hasni njĂ« çip diku (e shihni nĂ« dyqan, e nxirrni, takoni njĂ« pĂ«rmendje) dhe dĂ«shironi tĂ« kuptoni se çfarĂ« Ă«shtĂ«.

PĂ«rshkrimi i PĂ«rgjithshĂ«m – njĂ« pĂ«rshkrim mĂ« tĂ« detajuar tĂ« mundĂ«sive tĂ« çipave nga seria.

Pinouts – diagramet e pinĂ«ve pĂ«r tĂ« gjitha format e mundshme tĂ« çipit (cila kĂ«mbĂ« ka cilin pin).

PĂ«rshkrimi i PinĂ«ve – pĂ«rshkrimi i destinacionit dhe mundĂ«sive tĂ« çdo pini.

Harta e Memories – harta e adresave nĂ« memorie mund tĂ« mos na nevojitet, por ndonjĂ«herĂ« pĂ«rfshin gjithashtu tabelĂ«n e adresave tĂ« bllokave tĂ« regjistrave.

Harta e Regjistrave – tabela e adresave tĂ« bllokave tĂ« regjistrave, zakonisht ndodhet pikĂ«risht nĂ« fletĂ«kesĂ«, ndĂ«rsa nĂ« Manualin Referues – vetĂ«m diferencat (offsets e adresave).

Karakteristikat Elektrike – nĂ« kĂ«tĂ« seksion, nĂ« radhĂ« tĂ« parĂ« na interesojnĂ« vlerat maksimale absolute, tĂ« cilat listojnĂ« ngarkesat maksimale nĂ« çip. Ndryshe nga Atmega328p e papĂ«rshkueshme, shumica e MK-ve nuk lejojnĂ« ngarkesa tĂ« mĂ«dha nĂ« pinĂ«, qĂ« mund tĂ« jetĂ« njĂ« surprizĂ« e pakĂ«ndshme pĂ«r ata qĂ« punojnĂ« me Arduino.

Informacioni mbi PaketĂ«n – skicat e formave tĂ« disponueshme, tĂ« dobishme kur projektoni bordet tuaja.

Manual ReferencĂ« strukturohet nĂ« seksione qĂ« i kushtohen periferisĂ« specifike tĂ« pĂ«rshkruar nĂ« titujt e tyre. Çdo kapitull mund tĂ« ndahet nĂ« mĂ«nyrĂ« tĂ« kushtĂ«zuar nĂ« tri pjesĂ«:

PĂ«rmbledhje, Hyrje, Karakteristikat – njĂ« pĂ«rmbledhje e mundĂ«sive tĂ« periferisĂ«;

PĂ«rshkrimi Funksional, UdhĂ«zuesi i PĂ«rdorimit ose thjesht blloku kryesor i seksionit – pĂ«rshkrimi i detajuar tekstual i parimeve tĂ« funksionimit tĂ« periferisĂ« dhe mĂ«nyrat e saj tĂ« pĂ«rdorimit;

Regjistrat – pĂ«rshkrimi i regjistrave tĂ« kontrollit. NĂ« raste tĂ« thjeshta si GPIO ose SPI, kjo mund tĂ« jetĂ« e mjaftueshme pĂ«r tĂ« filluar pĂ«rdorimin e periferisĂ«, por shpesh duhet tĂ« lexoni edhe pjesĂ«t e mĂ«parshme.

Si të lexoni fletë të dhënash

Fletë të dhënash shpesh shqetësojnë me volumet e tyre dhe me numrin e fjalëve të paqartë. Në të vërtetë nuk është aq frikshme, për sa kohë që njihni disa truke.

Instaloni një lexues të mirë PDF. Fletë të dhënash shkruhen në traditat e lavdishme të udhëzimeve të printuara, është e shkëlqyer t'i printoni, t'i shënoni me shenjash plastike dhe t'i lidhni. Hyperteksti në to gjendet në sasi të vogla. Për fat të mirë, të paktën struktura e dokumentit formatohet me shënime, prandaj një lexues i mirë me navigim të lehtë është shumë i nevojshëm.

Fleta e tĂ« dhĂ«nave – nuk Ă«shtĂ« njĂ« libĂ«r nxĂ«nĂ«sish nga Stroustrup, nuk duhet tĂ« lexoni gjithçka sinkronisht. NĂ«se keni ndjekur kĂ«shillĂ«n e mĂ«parshme – thjesht gjeni seksionin pĂ«rkatĂ«s nĂ« panelin e shenjave.

Fletët e të dhënave, veçanërisht Manualet Referuese, mund të përshkruajnë mundësitë e një linje të caktuar të çipave, por jo të një çipi konkret të gjithë linjës. Kjo do të thotë se gjysma, ndoshta edhe dy të tretat e informacionit nuk kanë të bëjnë me çipin tuaj. Para se të hidhni një vështrim regjistrave TIM7, kontrolloni Përshkrimi i Përgjithshëm, a e keni atë.

Të dish anglisht mjafton në nivelin bazik. Fletët e të dhënave përbëhen gjysmë nga terma që janë të panjohur për një folës të zakonshëm të gjuhës dhe gjysmë nga lidhje të thjeshta. Gjithashtu ka fletë të shkëlqyera të dhënash kineze në anglishten kineze, ku gjysma gjithashtu janë terma, ndërsa gjysma e dytë është një grup fjalësh të rastësishme.

Nëse hasni një fjalë të panjohur, mos u përpiqni ta përktheni atë me një fjalor anglisht-rus. Nëse ju ngatërrohet hysteresis, nuk do t'ju bëjë më të ngrohtë përkthimi 'gisterezis'. Përdorni Google, Stack Overflow, Wikipedia, forume ku koncepti i nevojshëm do të shpjegohet me fjalë të thjeshta dhe shembuj.

MĂ«nyra mĂ« e mirĂ« pĂ«r tĂ« kuptuar atĂ« qĂ« keni lexuar Ă«shtĂ« tĂ« provoni nĂ« praktikĂ«.. Prandaj, mbani pranĂ« bordin e debug, me tĂ« cilin po njohni, pĂ«r mĂ« tepĂ«r dy – nĂ« rast se ndodhi tĂ« mos kuptoni diçka dhe tĂ« shihni tym magjik.

NjĂ« zakon i dobishĂ«m Ă«shtĂ« tĂ« keni tĂ« afĂ«rt fletĂ«n e tĂ« dhĂ«nave kur ju lexoni ndonjĂ« tutorial ose studioni bibliotekĂ«n e dikujt tjetĂ«r. MundĂ«sisht, nĂ« tĂ« do tĂ« gjeni njĂ« zgjidhje mĂ« optimale pĂ«r problemin tuaj. NĂ« tĂ« njĂ«jtĂ«n kohĂ« – nĂ«se nga fleta e tĂ« dhĂ«nave nuk kuptoni si funksionon regjistri, kĂ«rkoni pĂ«r tĂ«: me siguri, dikush e ka pĂ«rshkruar atĂ« me fjalĂ« tĂ« thjeshta ose ka lĂ«nĂ« kod tĂ« kuptueshĂ«m nĂ« GitHub.

Fjalor

Disave fjalë dhe shenja të dobishme që ndihmojnë të përshtateni më shpejt me fletat e të dhënave. Ajo që më erdhi në mend në ditët e fundit, plotësime dhe korrigjime janë të mirëpritura.

Elektriciteti
Vcc, Vdd – "plus", energji
Vss, Vee – "minus", tokĂ«
current – rrjedhĂ«
voltage – tension
to sink current – tĂ« punojĂ« "tokĂ«" pĂ«r ngarkesĂ«n e jashtme
to source current – tĂ« furnizojĂ« ngarkesĂ«n e jashtme
high sink/source pin – pin me "tolerancĂ«" tĂ« lartĂ« ndaj ngarkesĂ«s

IO
H, High – nĂ« pinin Vcc
L, Low – nĂ« pinin Vss
High Impedance, Hi-Z, floating – nĂ« pin nuk ka asgjĂ«, "rezistencĂ« e lartĂ«", faktikisht Ă«shtĂ« e padukshme pĂ«r botĂ«n e jashtme.
weak pull up, weak pull down – njĂ« rezistor mbĂ«shtetĂ«s/zhveshĂ«s i integruar, ekuivalenti i pĂ«rafĂ«rt 50 kΩ (shih fletĂ« teknike). PĂ«rdoret, pĂ«r shembull, pĂ«r tĂ« parandaluar qĂ« pini i hyrjes tĂ« lĂ«vizĂ« nĂ« ajĂ«r, duke shkaktuar aktivizime false. I dobtĂ« – sepse Ă«shtĂ« lehtĂ« "tĂ« thyhet".
ndihmĂ« – mĂ«nyra dalĂ«se e pin-it, nĂ« tĂ« cilĂ«n ai kalon mes E LartĂ« dhe I ulĂ«t – OUTPUT standard me Arduino.
kanale tĂ« hapura – pĂ«rkufizimi i mĂ«nyrĂ«s dalĂ«se, nĂ« tĂ« cilĂ«n pini mund tĂ« jetĂ« ose I ulĂ«t, ose ImpedancĂ« tĂ« LartĂ« / Floating. NĂ« kĂ«tĂ« rast, pothuajse gjithmonĂ« nuk Ă«shtĂ« njĂ« "kanal tĂ« hapur" i vĂ«rtetĂ«, ka dioda mbrojtĂ«se, rezistorĂ«, e tjera. Kjo Ă«shtĂ« vetĂ«m njĂ« pĂ«rkufizim i modit tokĂ«/askush.
kanal i hapur tĂ« vĂ«rtetĂ« – por kjo Ă«shtĂ« njĂ« kanal i hapur i vĂ«rtetĂ«: pini drejtpĂ«rdrejt lidh pĂ«r tokĂ« nĂ«se Ă«shtĂ« i hapur, ose Ă«shtĂ« nĂ« njĂ« gjendje pezullimi nĂ«se Ă«shtĂ« i mbyllur. Kjo do tĂ« thotĂ« se pĂ«rmes tij mund tĂ« kalojĂ« njĂ« tension mĂ« tĂ« madh se Vcc, por maksimumi pĂ«rsĂ«ri specifikohet nĂ« fletĂ«n teknike nĂ« seksionin Vlerat Maksi male Absolute / Tensioni.

Interfacet
nĂ« seri – tĂ« lidhur nĂ« seri
nĂ« zinxhir – pĂ«r tĂ« grumbulluar çipet nĂ« njĂ« zinxhir pĂ«rmes lidhjes sĂ« serisĂ«, duke rritur numrin e daljeve.
zhvendosje – zhvendosje, zakonisht nĂ«nkupton zhvendosjen e bitĂ«ve. PĂ«rkatĂ«sisht, pĂ«r tĂ« zhvendosur brenda dhe pĂ«r tĂ« zhvendosur jashtĂ« – tĂ« pranojĂ« dhe tĂ« dĂ«rgojĂ« tĂ« dhĂ«na bit pĂ«r bit.
mbajtĂ«s – njĂ« mekanizĂ«m, i cili mbulon tamponin ndĂ«rsa bitet kalojnĂ« pĂ«rmes tij. Kur pĂ«rçimi pĂ«rfundon, mekanizmi hapet dhe bitet fillojnĂ« tĂ« punojnĂ«.
tĂ« regjistrohesh nĂ« orar – tĂ« realizosh njĂ« transferim bit pĂ«r bit, tĂ« zhvendosĂ«sh tĂ« gjitha bitet nĂ« vendet e nevojshme.
buffĂ«r i dyfishtĂ«, regjistri hije, regjistri i paraprogramuar – pĂ«rshkrime tĂ« historisĂ«, kur regjistri duhet tĂ« jetĂ« nĂ« gjendje tĂ« pranojĂ« tĂ« dhĂ«na tĂ« reja, por t'i mbajĂ« ato deri nĂ« njĂ« moment tĂ« caktuar. PĂ«r shembull, pĂ«r tĂ« funksionuar siç duhet, parametrat e PWM-sĂ« (cikli, frekuenca) nuk duhet tĂ« ndryshojnĂ« derisa tĂ« pĂ«rfundojĂ« cikli aktual, por parametrat e rinj mund tĂ« jenĂ« tashmĂ« tĂ« transferuar. PĂ«rkatĂ«sisht, aktualet mbahen nĂ« regjistri hije, ndĂ«rsa tĂ« rinjtĂ« kalojnĂ« nĂ« regjistri i paraprogramuar, duke u regjistruar nĂ« regjistrin e duhur tĂ« çipit.

Çdo gjĂ«
parapĂ«rshtues – ndarĂ«si i frekuencĂ«s
tĂ« vendosĂ«sh njĂ« bit – tĂ« vendosĂ«sh bitin nĂ« 1
tĂ« çosh/rishtosh njĂ« bit – tĂ« rikthesh bitin nĂ« 0 (rishtim – funksioni i fletĂ«ve tĂ« tĂ« dhĂ«nave STM)

ÇfarĂ« ndodh mĂ« pas

Në përgjithësi, këtu ishte parashikuar një pjesë praktike me demonstrimin e tre projekteve në STM32 dhe STM8, të realizuara veçanërisht për këtë artikull me ndihmën e fletëve të të dhënave, me llamba, SPI, timerë, PWM dhe ndërprerje:

Si dhe përse të lexoni fletë informuese kur mikroprocesorët janë pasioni juaj

Por teksti po bëhet pak shumë, prandaj projektet do të dërgohen në pjesën e dytë.

AftĂ«sia pĂ«r tĂ« lexuar datashitĂ«t do t'ju ndihmojĂ« me hobin tuaj, por asnjĂ«herĂ« nuk do tĂ« zĂ«vendĂ«sojĂ« komunikimin e drejtpĂ«rdrejtĂ« me kolegĂ«t e pasionit nĂ« forume dhe biseda. PĂ«r kĂ«tĂ«, Ă«shtĂ« megjithatĂ« e domosdoshme tĂ« forconi fillimisht gjuhĂ«n angleze. Prandaj, pĂ«r ata qĂ« e pĂ«rfundojnĂ« – njĂ« çmim special: dy mĂ«sime falas nĂ« Skyeng me pagesĂ«n e parĂ« me kodin. HABR2.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster