Përmbajtje:

Përdorimi i pinit të ndërfaqes ATtiny84/85 SPI: 6 hapa
Përdorimi i pinit të ndërfaqes ATtiny84/85 SPI: 6 hapa

Video: Përdorimi i pinit të ndërfaqes ATtiny84/85 SPI: 6 hapa

Video: Përdorimi i pinit të ndërfaqes ATtiny84/85 SPI: 6 hapa
Video: Video udhëzuese - Tërheqje të parave në bankomat 2024, Korrik
Anonim
Ripërdorimi i ndërfaqes ATtiny84/85 SPI
Ripërdorimi i ndërfaqes ATtiny84/85 SPI

Ky udhëzues është një vazhdim i udhëzimit "Debugging në qark ATtiny84/85 me dalje serike" dhe zgjeron konfigurimin e harduerit dhe softuerit për të adresuar çështjen e ripërdorimit të kunjave të shkarkimit të programimit nga programi i aplikacionit. Së bashku, mes kësaj dhe pjesës 1 të mësueshme, diskutohen/demonstrohen temat e mëposhtme:

Tema ATtiny84 ATtiny85
Komunikimi serik duke përdorur klasën SoftwareSerial X X
Ndarja e kunjave të pajisjes midis aplikacionit dhe shkarkimit X X
Ndërprerja e Ndryshimit të Pin -it X
Ndërprerja e jashtme X
Flini në modalitetin POWER_DOWN; zgjohu në ndërprerje X
Punoni për gabimin e lidhjes së vektorit të ndërprerë "të përcaktuar shumëfish" në lidhje me SoftwareSerial X
Ndryshoni, shkarkoni, korrigjoni, … ciklin e zhvillimit në qark për pajisjet ATtiny X X

Shtimi i një komponenti I/O të harduerit në njërën prej kunjave të dedikuar për ndërfaqen e programimit SPI është ndonjëherë në rregull, ndonjëherë jo. Për shembull, shtimi i një LED në MISO thjesht bën që LED të dridhet gjatë shkarkimit dhe pastaj është në dispozicion për aplikacionin. Sidoqoftë, shtimi i një zile piezo në MISO do të rezultojë në një zhurmë të tmerrshme kërcitëse të ndjekur nga dështimi i shkarkimit.

Ky udhëzues shpjegon se si të përdorni një multiplexer 4x2: 1 për të "rimarrë" përdorimin e kunjave të caktuar në sinjalet e ndërfaqes SPI MISO, MOSI dhe SCK duke i mbrojtur ato gjatë shkarkimit. Ripërdorimi i kunjës RESET kërkon një ndryshim të siguresës dhe nuk mbulohet nga kjo qasje. Caktimi i dyfishtë i kunjave arrihet duke përdorur multiplexerin për të kaluar midis hyrjeve të aplikacionit dhe programimit në varësi të faktit nëse shkarkimi është në progres. Kodi dhe skemat përfshihen si për ATtiny84 ashtu edhe për ATtiny85. Konfigurimi ATiny84 adresohet së pari pasi ka dy porta I/O dhe mund të përdoret për të ilustruar disa probleme/zgjidhje shtesë. Pas diskutimit të vogël 84, të njëjtat skenarë diskutohen për ATtiny85.

Hapi 1: Hardueri i kërkuar

Imazhi
Imazhi

Shumica e pajisjeve të kërkuara u renditën në pjesën 1 të udhëzueshme, kështu që vetëm pajisjet e reja janë të listuara më poshtë.

Emri Burimi i mundshëm Si Përdoret
Multiplekser 4x2: 1 Mouser Përmban katër çelësa me 2 hyrje; 1 dalje të cilët janë mekanizmi me të cilin ndahen sinjalet e ndërfaqes SPI dhe I/O të aplikacionit.
Çelësi SPST Çdo lloj ndërprerës (momental ose i kyçur) do të funksionojë. Çelësi përdoret për të ilustruar ndarjen e kunjave për një hyrje të aplikacionit.
Rezistencë 10K Rezistencë tërheqëse për çelësin SPST për të shmangur një hyrje lundruese
Imazhi
Imazhi
Imazhi
Imazhi

Multiplekseri është çelësi për të izoluar përdorimin e shkarkimit të pin -it nga përdorimi i aplikacionit. Funksionaliteti i përgjithshëm i multiplekserit 4x2: 1 është mjaft i drejtpërdrejtë, i përbërë nga 2 sinjale kontrolli dhe 4 çelsa funksionues identikë. Sjellja e secilës kunj multiplexer diskutohet më poshtë:

Gjilpere Emri Funksioni
15 G Siç tregohet në tabelën e së vërtetës, multiplekseri funksionon vetëm kur kunja e aktivizimit G është e ulët. Meqenëse ne kurrë nuk duam të çaktivizojmë plotësisht multiplexerin, kunja 15 do të lidhet drejtpërdrejt me tokën.
2-4; 5-7; 9-11;12-14 A (hyrje), B (hyrje), Y (dalje) Ka katër 2-input; Çelsin 1-dalës me secilin grup prej 3 kunjash të numëruar rresht në rendin A (hyrje), B (hyrje), Y (dalje) p.sh. për kaloni 1; pin 2 = 1A; pin 3 = 1B; pin 4 = 1Y.
1 Zgjidhni Kur Zgjedhja është e ulët, kaloni hyrjen A është e lidhur me pinin dalës të ndërprerës të ndërrimit, Y. Kur përzgjedhja është e lartë, hyrja e kalimit B është e lidhur me daljen. Çelsat kontrollohen njëkohësisht nga sinjali Select dhe funksionojnë në mënyrë identike.
8 GND terren IC multiplexer
16 KQV -ja fuqia IC e multiplexerit

Hapi 2: Pasqyrë e rasteve të testimit

Imazhi
Imazhi
Imazhi
Imazhi

Dy skenarët për ripërdorimin e kunjave bazohen në faktin nëse kunja është një hyrje ose dalje e aplikacionit. Procedura për trajtimin e çdo inputi është gjithmonë e njëjtë; gjithashtu procedura për daljet e aplikacionit është identike pavarësisht nga komponenti i harduerit. Edhe kështu, shpjegimi është më i lehtë, dhe shpresojmë se është më i qartë, nëse jepen shembuj specifikë. Paraqitjet minimaliste për dy rastet janë treguar më lart. Për konfigurimet e hollësishme më vonë lidhjet bëhen pak fole ketrash, kështu që mund të jetë e dobishme t'iu referohemi këtyre diagrameve më të pastra.

RESET është zgjedhja perfekte për sinjalin Multiplexer Select pasi është i ulët gjatë shkarkimit, por kthehet lartë kur shkarkimi të përfundojë. Vini re se cilido nga çelsat e multiplexerit mund të përdoret për secilin rast pasi të gjithë çelsat sillen në mënyrë identike. Gjithashtu, asnjë nga shembujt nuk është "realist"; ato u zgjodhën në vend të kësaj si mënyra më e drejtpërdrejtë për të ilustruar teknikat e izolimit

  1. Rasti i daljes: Dalja LED nga ATtiny84 pin 4 (SCK) është e izoluar duke përdorur ndërprerës multiplexer 2

    • lidhni pinin multiplexer 2A me tokën
    • lidhni pinin multiplexer 2B me ATtiny85 pin 4
    • lidhni daljen 2Y me anodën LED

      • Rezultatet e pritura:

        • LED është e fikur gjatë shkarkimit pasi është lidhur me 2A, tokë
        • LED i bashkëngjitet pinit dalës të aplikacionit 4 pas shkarkimit nëpërmjet 2B dhe fillon të pulsojë
  2. Rasti i hyrjes: Hyrja e kalimit SPST në ATtiny84 pin 6 (MOSI) është e izoluar duke përdorur ndërprerësin multiplexer 3

    • Teli i plumbit MOSI nga titulli i Programuesit AVR zhvendoset në 3A
    • kalimi i hyrjes 3B është i lidhur me daljen SPST
    • dalja 3Y është e lidhur me ATtiny84 pin 6

      • 3A, MOSI, lidhet me pin 6 gjatë shkarkimit
      • 3B, dalja SPST, lidhet me pin 6 pas shkarkimit

Rasti 1 është i suksesshëm nëse LED nuk dridhet gjatë shkarkimit të programit dhe pastaj pulson çdo dy sekonda pas shkarkimit siç pritej nën kontrollin e programit. Pa izolim LED do të dridhej gjatë shkarkimit pasi lidhet drejtpërdrejt me sinjalin SCK, i cili ndryshon gjendjen në orën e marrjes/transmetimit të të dhënave.

Rasti 2 është i suksesshëm nëse sinjali MOSI përcillet në ATtiny84 gjatë shkarkimit, domethënë shkarkimi nuk dështon dhe LED i përgjigjet ndezjes/fikjes SPST pas shkarkimit. Rasti 2 parandalon një dështim të mundshëm të shkarkimit. Pa izolim, çelësi SPST do të shkaktojë dështim nëse 1) përdoret një ndërprerës i kyçur dhe 2) çelësi lihet në pozicionin e ndezur gjatë shkarkimit. Kur izolohet nga multiplekseri, çelësi nuk mund të shkaktojë dështim të shkarkimit në asnjë rrethanë. Pak e shtrirë, por ngushëlluese për ne njerëzit e moshuar.

Një pasojë e përdorimit të multiplekserit është që komponenti i harduerit nuk mund të lidhet më drejtpërdrejt me pinin I/O të mikrokontrolluesit. Kjo është disi e papërshtatshme, por lejon që përbërësi të mbetet në tryezë gjatë testimit së bashku me pajisjet e tjera të aplikacionit dhe mund të zhvendoset përsëri në vendin e tij të ligjshëm kur të përfundojë testi.

Hapi 3: ATtiny84 Rasti 1 - Izoloni Rezultatin e Aplikimit

Imazhi
Imazhi

Ky hap përshkruan konfigurimin për ndarjen e një kodi dalës të aplikacionit me një sinjal shkarkimi. Shembulli i përdorur është LED i bashkangjitur në pin 4 (SCK). Përdorimi i LED -it ekzistues si shembull lejon theksin në shtimin e multiplexer -it në mjedisin e pjesës 1 të harduerit dhe softuerit.

  • Hardware

    • Shtoni multiplexerin në tryezën e bukës në vendndodhjen relative të treguar në diagramin e ngrirjes më sipër. Multiplekseri është i pozicionuar drejt qendrës për të lejuar hapësirë për çelësin SPST të nevojshëm në Rastin 2.
    • Zgjatni sinjalin RESET te multiplekseri duke shtuar një tel plumbi (sugjeroni të verdhë) nga kunja ATtiny84 11 në kunjin 1 të multiplexerit.
    • Konfigurimi i mbetur i harduerit është siç është dhënë në Hapin 2

      • lidhni pinin multiplexer 2A direkt në tokë
      • lidhni pinin 2B me pinin ATtiny84 4
      • lidhni daljen 2Y me anodën LED

        • Rezultatet e pritura:

          • gjatë shkarkimit 2Y lidhet me tokën (2A) kështu që LED -i mbetet i fikur
          • Pas shkarkimit 2Y lidhet me ATtiny84 pin 4 - aplikimi i kontrollit LED
  • Softuer

    • Kodi i pjesës 1 ripërdoret; i disponueshëm nga pjesa 1 i udhëzueshëm sesa i kopjuar këtu
    • Ngarkoni dhe përpiloni programin e pjesës 1 në Arduino IDE
    • Lidheni programuesin Tiny AVR në një port USB PC
    • Lidhni kabllon USB Adafruit në Serial në një port të dytë USB

      • Një port COM krijohet dhe vihet automatikisht në dispozicion në listën e porteve IDE
      • Nisni dritaren COM
    • Shkarkoni kodin e përpiluar në ATtiny84

Rezultatet e programit të aplikimit janë të njëjta si për pjesën 1 pasi ndryshimi i vetëm ishte zhvendosja e LED në një vend "të mbrojtur": LED ndizet në intervale 2 sekondash; prodhimi serik është i njëjtë. Një ndryshim që duhet të ndodhë është se LED nuk dridhet më gjatë shkarkimit pasi, gjatë asaj kohe, ajo është e lidhur me tokën përmes pinit multiplexer 2A.

Imazhi
Imazhi

Hapi 4: ATtiny84 Rasti 2 - Izoloni hyrjen e aplikacionit

Imazhi
Imazhi

Ky hap bazohet në konfigurimin për rastin e mëparshëm të izolimit të daljes. Ndryshimet e harduerit konsistojnë në bashkimin e një çelësi SPST në ATtiny84 pin 6 (MOSI) përmes multiplexer. Pra, ndryshimet e harduerit janë minimale, por ka disa ndryshime të softuerit që lejojnë çelësin SPST të kontrollojë LED duke përdorur një ndërprerje të ndryshimit të kunjit. Kodi i përditësuar përfshihet në fund të këtij seksioni. Kodi duhet të kopjohet në Arduino IDE; sugjeroni ta ruani nën emrin Multiplexer_Input. (Unë kërkoj falje për gjatësinë e këtij seksioni, por është thelbi i qëllimit të mësueshëm dhe mendoj se lexohet më mirë si një monolit sesa në vend që të futni pushime artificiale.)

Përditëso Vendndodhja Qëllimi
përfshijnë klasën "hacked" të SoftwareSerial përfshijnë seksionin LED tani kontrollohet nga çelësi SPST përmes një ndërprerje të ndryshimit të kunjit. Klasa SoftwareSerial duhet të modifikohet meqë përndryshe ajo shpërndan të gjithë vektorët e ndërprerjes së ndryshimit të pin. Kjo shkakton një gabim të lidhjes "definicion të shumëfishtë" për vektorin (port 0) të caktuar në ndërprerësin SPST. Versioni i hackuar i SoftwareSerial duhet të vendoset në të njëjtën drejtori me programin në mënyrë që të ndikojë vetëm në këtë aplikacion.
Përkufizimi i pinit të hyrjes SPST përfshijnë/përkufizimin seksion caktimi i hyrjes SPST në një kunj të pajisjes. Kunja është specifike për pajisjen, kështu që shtohet në seksionin (et) #ifdef ATtiny8x.
Modaliteti i pinit të hyrjes SPST funksioni i konfigurimit Kodi SPST është konfiguruar si një hyrje
Konfiguro ndërprerjen e pinit SPST funksioni i konfigurimit Vektori i ndërprerjes i caktohet pinit të hyrjes SPST në mënyrë që një ndryshim i gjendjes së ndërprerës të shkaktojë një ndërprerje. Regjistrat e konfigurimit dhe lloji i ndërprerjes janë specifike për pajisjen. Për ta bërë kodin sa më të drejtpërdrejtë të jetë e mundur, dallimet trajtohen brenda një seksioni #të përcaktuar
Konfiguro mesazhin e plotë serik funksioni i konfigurimit Mesazhi i prodhimit të serisë së konfigurimit të plotë ndryshon për të pasqyruar aplikacionin Multiplexer Input
Shtoni funksionin ISR switch SPST seksioni i kodit ISR për ndërprerjen e ndryshimit të pinit SPST shtohet. Kodi është i zakonshëm, por vektori i përdorur është specifik për pajisjen dhe përcaktohet në pjesët e varura nga pajisja në krye të programit. Për të verifikuar që ISR është aktivizuar, gjendja LED ndryshon. Edhe pse një jo-jo në një aplikim të vërtetë, një mesazh dalës serik gjenerohet duke pasqyruar gjendjen e re LED.
Ndryshoni përpunimin e lakut funksioni i lakut ISR tani kontrollon ndezjen dhe fikjen e LED në mënyrë që funksionaliteti të hiqet nga rutina e lakut. Një thirrje në rutinën e gjumit shtohet për ATtiny84 si një lloj "shtesë". Për këtë aplikacion, gjumi ATtiny85 nuk funksionon; ndoshta për shkak të ndërhyrjes së klasës Seriale të Softuerit pasi funksionon me SoftSerial të hequr.
Shtoni rutinën e gjumit seksioni i kodit Funksionaliteti i gjumit nuk është i nevojshëm për të demonstruar përdorimin e multiplexer. Shtuar vetëm sepse zakonisht do të donte të priste një hyrje në modalitetin POWER_DOWN për të kursyer energji sesa të vazhdonte të kalonte nëpër lakun e programit duke mos bërë asgjë derisa të ndodhë një hyrje.

Ndryshoni Kodin e klasës SoftwareSerial

Klasa SoftwareSerial duhet të ndryshohet në mënyrë që të mos përfshijë të gjitha portat e ndërprerjes së ndryshimit të pin. Kodi i klasës SoftwareSerial ndodhet në

C: / Program Files (x86) Arduino / hardware / arduino / avr / libraries / SoftwareSerial / src

Gjeni në PCINT0_vect në SoftwareSerial.cpp për të gjetur vendndodhjen e fillimit për ndryshimet e kodit. Shtoni kodin e mëposhtëm menjëherë para deklaratës ekzistuese #if përcaktuar (PCINT0_vect).

#nëse është përcaktuar (_ AVR_ATtiny84_)

#përcakto MYPORT PCINT1_vect #elif përcaktuar (_ AVR_ATtiny85_) #përcakto MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }

Tani komentoni bllokun ekzistues të kodit i cili ndan vektorët e ndërprerjes së portit siç tregohet më poshtë (thjesht shtoni simbolet e komentit të bllokut të fillimit dhe mbarimit / * dhe * /):

/*

#ifcaktuar (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #nëse është përcaktuar (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #nëse është përcaktuar (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); #endif #nëse është përcaktuar (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect)); #endif */

Konfiguroni pajisjen

Çelësi SPST është i bashkangjitur në ATtiny84 pin 6 (MOSI) siç përshkruhet në Hapin 2. Procedura është e kopjuar këtu për lehtësi.

  • lidhni hyrjen e ndërprerës 3A në prizën e kokës MOSI të Programuesit Tiny AVR
  • lidhni 3B me kunjin dalës të çelësit SPST ON
  • lidheni 3Y me ATtiny84 pin 6

    • REZULTATET:

      • 3A, MOSI, do të lidhet me ATtiny84 pin 6 gjatë shkarkimit
      • 3B, dalja SPST, do të fiksohet në pin 6 pas shkarkimit

Drejtoni programin

Para se të vraponi, vendoseni çelësin SPST në pozicionin e fikur. Përndryshe LED do të ndizet kur çelësi është i fikur dhe anasjelltas. Ndiqni procedurën për hapin 3 për të ngarkuar, përpiluar dhe shkarkuar programin e hyrjes së aplikacionit duke përdorur Arduino IDE. Si më parë, LED nuk duhet të dridhet gjatë shkarkimit, kështu që treguesi i vetëm që programi është në funksionim do të jetë mesazhi serik në fund të rutinës së konfigurimit: SETUP i plotë - Shembull hyrës

Në këtë pikë programi është duke pritur për një input nga çelësi SPST. Vendosja e çelësit në pozicionin ON do të bëjë që LED të ndizet; duke u kthyer në pozicionin e fikur fik LED -in. Mesazhet dalëse verifikojnë që ISR është thirrur (ISR: Led HIGH, ISR: Led LOW). Vini re se rendi i mesazheve serike është SHKO N S FLEM duke pritur së pari ndryshimin e gjendjes së ndërrimit; kur merrni një hyrje të ndërprerës, ISR thirret, ndryshon LED dhe dokumenton ndryshimin; pastaj përpunimi fillon pas thirrjes së gjumit pasi ndërprerja zgjon procesorin.

Imazhi
Imazhi

PROGRAMI P THR KIST UDHUCTZUES:

//************************************************************************

// PJESA 2: Aplikimi/shkarkimi i ndarjes së pinit të pajisjes //. Ndryshon kodin e Pjesës 1 për të mbështetur ripërdorimin e aplikacioneve të kunjave // të caktuara në ndërfaqen e programimit SPI //. Kodi "Comon" për ATtiny85 dhe ATtiny84 // ************************************* ****************************** #include "SoftwareSerial.h" // Klasa e Modifikuar e Arduino SoftwareSerial #përfshi // Ndërsa kodi i përpunimit është i zakonshëm, kunjat e përdorura janë pajisje specifike #nëse janë përcaktuar (_ AVR_ATtiny84_) || përcaktuar (_ AVR_ATtiny84A_) #define ledPin 4 // Të aktivizuara për të aktivizuar lidhjen Led on/off #define rxPin 9 // Pin i përdorur për marrjen seriale #përcakto txPin 10 // Pin i përdorur për transmetimin serial #define SpstPin 6 // Hyrja nga çelësi SPST (MOSI) #define ISR_VECT PCINT0_vect // çelës SPST Ndërprerësi i ndërrimit të kunjit #elif përcaktohet (_ AVR_ATtiny85_) #define ledPin 1 #define rxPin 4 #define txPin 3 #define SpstPin 2 // Hyrja nga çelësi SPST (INT0_ctTe) INT // Ndërprerësi SPST vektori i ndërprerjes së ndryshimit të kunjave #else #error Vetëm ATiny84 dhe ATtiny85 mbështeten nga ky Projekt #endif // Krijoni shembull të klasës Seriale të Softuerit duke specifikuar se cila pajisje // kunjat do të përdoren për marrjen dhe transmetimin e softueritSerial mySerial (rxPin, txPin); // ---------------------------------------------------- ------------------------ // Filloni burimet e përpunimit // ------------------- ------------------------------------------------------ --- void setup () {mySerial.begin (9600); // Fillimi i vonesës së përpunimit serik (2000); // Jepini Serisë Com portit kohë për të përfunduar fillimin. // përndryshe, dalja e parë ka të ngjarë të mungojë ose të dëmtohet pinMode (ledPin, OUTPUT); // Konfiguro pinin led për OUTPUT pinMode (SpstPin, INPUT); // Konfiguro pinin e ndërprerës SPST si një INPUT #nëse është përcaktuar (_ AVR_ATtiny84_) || (_AVR_ATtiny84A_) // konfiguroni ndërprerjen e ndryshimit të pinit për të trajtuar hyrjen e ndërprerësit në pin 6 (MOSI) GIMSK | = (1 <

Hapi 5: ATtiny85 Rasti 1 - Izoloni daljen e aplikacionit

Imazhi
Imazhi

Në vend që të krijoni një konfigurim të kopjuar të harduerit për ATtiny85, ndoshta është më e lehtë të filloni me konfigurimin e përfunduar për ATtiny84 nga Hapi 4 dhe të zëvendësoni çipin tiny84 me tiny85. I gjithë pajisja e kërkuar është tashmë në dispozicion. Nëse përdorni këtë qasje, gjeni tiny85 në mënyrë që kunjat 3 dhe 4 të rreshtohen me kabllon serik tx dhe të marrin tela. Atëherë është vetëm një çështje e zhvendosjes së telave kryesorë të ndërfaqes SPI që të përputhen me vendet e tyre të kërkuara për ATtiny85.

Nëse filloni nga e para, thjesht ndiqni hapat e përgjithshëm nga Hapi 3 dhe diagramin fritzing më sipër. Kodi është i njëjtë me atë të përdorur për ATtiny84 në Hapin 3 me të njëjtat rezultate të pritshme - pa dridhje gjatë shkarkimit; kur drejtoni LED pulson në intervale 2 sekonda dhe mesazhet dalëse serike ndjekin gjendjen LED.

Imazhi
Imazhi

Hapi 6: Rasti ATtiny85 2 - Izoloni hyrjen e aplikacionit

Imazhi
Imazhi

Për konfigurimin e harduerit, filloni me konfigurimin nga Hapi 5 dhe shtoni çelësin SPST siç tregohet në diagramën e ngrirjes më sipër. Unë në fakt përdor një ndërprerës momental për versionin tiny85 dhe e bën verifikimin pak më të lehtë. Vini re se dalja e ndërruesit rrotullohet 180 gradë nga konfigurimi ATtiny84. Ky ndryshim e bën më të lehtë drejtimin e telave të kyçjes pasi të 3 sinjalet SPI janë në të njëjtën anë për ATtiny85.

Përdorni të njëjtin program si për ATtiny84 Hapi 4. Priten të njëjtat rezultate të përgjithshme - LED ndryshon gjendjen kur çelësi SPST është ndezur/fikur dhe mesazhet dalëse serike dokumentojnë ndryshimet. Mesazhet SHKO N TO FLEM mungojnë pasi që funksionimi i gjumit nuk thirret për ATtiny85. Edhe pse përdoret i njëjti program, ka dallime të konsiderueshme në zbatim për të marrë parasysh faktin se ATtiny85 ka vetëm një regjistër portesh (Port 0):

  1. SoftwareSerial tani ndan ndërprerjen e ndryshimit të portës 0 pin për komunikimin serik (Kujtoni që ne ishim në gjendje të përdorim portën 1 për ATtiny84.)
  2. Ndërprerja e ndërprerës SPST duhet të zbatohet me ndërprerjen e jashtme 0 (INT0) pasi që ndërprerja e vetme e ndryshimit të pin -it ndahet nga SoftwareSerial. Kjo ilustron pikën që ndërprerjet e ndryshimit të kunjit dhe ndërprerjet e jashtme janë logjikisht të pavarura dhe mund të përdoren brenda të njëjtit regjistër portesh.
  3. Asgjë nuk fitohet duke përdorur një version të modifikuar të SoftwareSerial - ekziston vetëm një port dhe klasa SoftwareSerial do ta kapë atë. Sidoqoftë, klasa e modifikuar u përdor akoma vetëm për të shmangur një ndryshim që nuk lidhet drejtpërdrejt me qëllimin e këtij hapi.

Recommended: