Мазмұны:

ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану: 6 қадам
ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану: 6 қадам

Бейне: ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану: 6 қадам

Бейне: ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану: 6 қадам
Бейне: ATtiny85 arduino прошивка и подключение 2024, Шілде
Anonim
ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану
ATtiny84/85 SPI интерфейсінің түйреуішін қайта пайдалану

Бұл нұсқаулық «ATtiny84/85 тізбектік шығыспен тізбектегі жөндеуді» қадағалау болып табылады және бағдарламалық қамтамасыз етуді жүктеу түйреуіштерін қолданбалы бағдарлама арқылы қайта пайдалану мәселесін шешу үшін аппараттық және бағдарламалық жасақтама конфигурациясын кеңейтеді. Жалпы алғанда, осы бөлім мен нұсқаулықтың арасында келесі тақырыптар талқыланады/көрсетіледі:

Тақырып ATTiny84 ATtiny85
SoftwareSerial класы арқылы сериялық байланыс X X
Қолданба мен жүктеу арасында құрылғы түйреуіштерін бөлісу X X
Pin Change үзілісі X
Сыртқы үзіліс X
POWER_DOWN режимінде ұйықтау; үзілістен ояну X
SoftwareSerial-ге қатысты «анықталған көбейту» үзіліс векторлық сілтемесі қатесін жою X
ATtiny құрылғыларының тізбектегі модификациясы, жүктелуі, отладкасы,… даму циклі X X

Аппараттық енгізу -шығару компонентін SPI бағдарламалау интерфейсіне арналған түйреуіштердің біріне қосу кейде жақсы, кейде жоқ. Мысалы, MISO -ға жарық диодты қосу жүктеу кезінде жарық диодты жыпылықтайды, содан кейін ол қосымшаға қол жетімді болады. Алайда, MISO -ға пьезо -дыбыстық сигналды қосу қорқынышты дыбыс шығарады, содан кейін жүктеу сәтсіз болады.

Бұл нұсқаулық SPI интерфейсіне MISO, MOSI және SCK сигналдарына жүктеу кезінде қорғау арқылы бекітілген түйреуіштерді қолдануды «қалпына келтіру» үшін 4х2: 1 мультиплексорды қалай қолдану керектігін түсіндіреді. RESET түйреуішін қайта пайдалану сақтандырғышты өзгертуді қажет етеді және бұл тәсілмен қамтылмайды. Түйреуіштерді қос тағайындау мультиплексор көмегімен жүктеудің жүріп жатқанына байланысты қосымшалар мен бағдарламалау кірістері арасында ауысу арқылы жүзеге асады. Код және схемалар ATtiny84 және ATtiny85 үшін қосылады. ATiny84 конфигурациясы алдымен қаралады, себебі оның екі енгізу -шығару порттары бар және оларды кейбір қосымша мәселелерді/шешімдерді көрсету үшін пайдалануға болады. Tiny84 талқылауынан кейін дәл сол сценарийлер ATtiny85 үшін талқыланады.

1 -қадам: Қажетті жабдық

Кескін
Кескін

Қажетті аппараттық құралдардың көпшілігі нұсқаулықтың 1 -бөлігінде көрсетілген, сондықтан төменде тек жаңа жабдықтар көрсетілген.

Аты Мүмкін дереккөз Қалай қолданылады
4x2: 1 мультиплексор Mouser Құрамында SPI интерфейсінің сигналдары мен I/O қосымшасы ортақ механизм болып табылатын 2 кірісті; 1 шығыс қосқыштары бар.
SPST қосқышы Кез келген коммутатор түрі (лезде немесе ілулі) жұмыс істейді. Коммутатор енгізу үшін түйреуішті бөлісуді көрсету үшін қолданылады.
10K резистор Қалқымалы кірісті болдырмау үшін SPST қосқышы үшін төмен түсетін резистор
Кескін
Кескін
Кескін
Кескін

Мультиплексор - бұл пин жүктеуді қосымшаны қолданудан оқшаулаудың кілті. 4x2: 1 мультиплексорының жалпы функционалдығы 2 басқару сигналынан және 4 бірдей жұмыс істейтін қосқыштан тұратын өте қарапайым. Әр мультиплексорлық түйреуіштің әрекеті төменде талқыланады:

Бекіту Аты Функция
15 Г. Ақиқаттық кестеде көрсетілгендей, мультиплексор G қосқыш түйіні төмен болғанда ғана жұмыс істейді. Біз мультиплексорды мүлдем өшіргіміз келмейтіндіктен, 15 -штырь жерге тікелей қосылады.
2-4; 5-7; 9-11;12-14 A (кіріс), В (кіріс), Y (шығыс) Төрт 2 кіріс бар; Әрқайсысы A (кіріс), B (кіріс), Y (шығыс) ретімен нөмірленген 3 түйреуішті әр топтағы 1-шығыс қосқыштары. 1 -қосқыш үшін; түйреуіш 2 = 1А; түйреуіш 3 = 1В; түйреуіш 4 = 1Ж.
1 Таңдаңыз Таңдау төмен болғанда, А қосқыш кірісі байланысты қосқыштың шығыс түйреуішіне, Y қосылады. Таңдау жоғары болса, оның орнына В қосқышының кірісі шығысқа қосылады. Коммутаторлар бір уақытта Select сигналымен басқарылады және бірдей жұмыс істейді.
8 GND IC жерге қосатын мультиплексор
16 VCC IC қуатының мультиплексоры

2 -қадам: Сынақ жағдайларына шолу

Кескін
Кескін
Кескін
Кескін

Түйрікті қайта пайдаланудың екі сценарийі түйреуіштің қолданбалы кіріс немесе шығыс екеніне негізделген. Кез келген кірісті өңдеу процедурасы әрқашан бірдей; сонымен қатар аппараттық компонентке қарамастан, қосымшаларды шығару процедурасы бірдей. Тіпті, егер нақты мысалдар келтірілсе, түсіндіру оңайырақ және түсінікті болады деп үміттенемін. Екі жағдайға арналған минималистикалық схемалар жоғарыда көрсетілген. Егжей -тегжейлі қондырғылар үшін байланыстар кейінірек тиін ұясына айналады, сондықтан бұл тазартқыш диаграммаларға қайта оралу пайдалы болуы мүмкін.

RESET - мультиплексорды таңдау сигналы үшін ең жақсы таңдау, себебі ол жүктеу кезінде төмен, бірақ жүктеу аяқталған кезде жоғарыға оралады. Кез келген мультиплексорлық қосқыштарды кез келген жағдайда қолдануға болатынын ескеріңіз, себебі барлық қосқыштар бірдей әрекет етеді. Сондай -ақ, мысалдардың ешқайсысы «шынайы» емес; олар оқшаулау әдістерін көрсетудің ең қарапайым әдісі ретінде таңдалды

  1. Шығу корпусы: ATtiny84 pin 4 (SCK) жарықдиодты шығысы мультиплексорлық қосқыш 2 көмегімен оқшауланған

    • 2А мультиплексорлық түйреуішті жерге қосыңыз
    • 2В мультиплексорлық түйреуішті ATtiny85 түйреуішіне 4 жалғаңыз
    • 2Y шығысын жарықдиодты анодқа қосыңыз

      • Күтілетін нәтижелер:

        • Жүктеу кезінде жарық диоды 2А жерге қосылғандықтан сөнеді
        • 2В арқылы жүктелгеннен кейін 4 шығыс түйреуішіне жарық диоды қосылады және жыпылықтай бастайды
  2. Кіріс корпусы: ATtiny84 pin 6 (MOSI) SPST қосқышының кірісі мультиплексорлық қосқыш 3 көмегімен оқшауланған

    • AVR Programmer тақырыбындағы MOSI сым 3А -ға жылжытылады
    • 3В қосқыш кірісі SPST шығысына қосылған
    • 3Y шығысы ATtiny84 пин 6 -ға қосылған

      • 3A, MOSI, жүктеу кезінде 6 -пинге қосылады
      • 3B, SPST шығысы, жүктеуден кейін 6 -пинге қосылады

1 -жағдай сәтті болады, егер светодиоды бағдарламаны жүктеу кезінде жыпылықтамаса және жүктеуден кейін әр екі секунд сайын жыпылықтап тұрса, бағдарлама бақылауында күтіледі. Оқшауланбаған жағдайда жүктеу кезінде жарық диоды жыпылықтайды, себебі ол SCK сигналына тікелей қосылады, ол күйді сағатты қабылдау/жіберу күйіне өзгертеді.

Жүктеу кезінде MOSI сигналы ATtiny84 -ке жіберілсе, яғни жүктеу сәтсіз болса және жүктеуден кейін жарық диоды SPST қосуға/өшіруге жауап берсе, 2 -жағдай сәтті болады. 2 -жағдай жүктеудің екіталай сәтсіздігіне жол бермейді. Оқшауланбаған жағдайда, SPST қосқышы істен шығуға әкеледі, егер 1) ысырмалы қосқыш қолданылса және 2) қосқыш жүктеу кезінде қосулы күйде қалдырылса. Мультиплексор оқшауланған кезде коммутатор ешбір жағдайда жүктеудің сәтсіздігін тудыруы мүмкін емес. Біршама созылу, бірақ біз үшін қарт адамдар үшін жұбаныш.

Мультиплексорды қолданудың бір салдары - аппараттық компонентті енді микроконтроллердің енгізу -шығару түйреуішіне тікелей қосу мүмкін болмайды. Бұл біршама ыңғайсыз, бірақ компонент тестілеу кезінде басқа қолданбалы жабдықтармен бірге тақтада қалуға мүмкіндік береді және тест аяқталғаннан кейін оны тиісті орнына қайтаруға болады.

3 -қадам: ATtiny84 1 -жағдай - Қолданбаның шығысын оқшаулау

Кескін
Кескін

Бұл қадам жүктеу сигналы бар қосымшаның шығыс түйреуішін ортақ пайдалану параметрлерін сипаттайды. Қолданылған мысал 4 -істікке бекітілген жарық диоды (SCK). Қолданыстағы жарықдиодты мысал ретінде пайдалану мультиплексорды 1 -аппараттық және бағдарламалық қамтамасыз ету ортасына қосуға баса назар аударуға мүмкіндік береді.

  • Аппараттық құрал

    • Мультиплексорды тақтаға жоғарыдағы фризинг диаграммасында көрсетілген салыстырмалы жерде қосыңыз. 2 жағдайда қажет SPST қосқышына орын беру үшін мультиплексор орталыққа қарай орналасқан.
    • ATtiny84 түйреуішінің 1 -сымынан 1 -ші сымға сым қосу (сары түспен қосу) арқылы мультиплексорға RESET сигналын кеңейтіңіз.
    • Қалған аппараттық құралдарды орнату 2 -қадамда көрсетілген

      • 2А мультиплексорлық түйреуішті жерге тікелей қосыңыз
      • 2В штырын ATtiny84 түйрегіш 4 -ке жалғаңыз
      • 2Y шығысын жарықдиодты анодқа қосыңыз

        • Күтілетін нәтижелер:

          • жүктеу кезінде 2Y жерге қосылады (2А), сондықтан жарық диоды өшірулі қалады
          • Жүктелгеннен кейін 2Y ATtiny84 pin 4 -ке қосылады - жарықдиодты басқару
  • Бағдарламалық қамтамасыз ету

    • 1 -бөлімнің коды қайта пайдаланылады; 1 -бөлімнен қол жетімді, мұнда қайталанбайды
    • 1 бөлік бағдарламасын Arduino IDE -ге жүктеңіз және құрастырыңыз
    • Tiny AVR бағдарламашысын компьютердің USB портына қосыңыз
    • Adafruit USB сериялық кабелін екінші USB портына қосыңыз

      • COM порты IDE порт тізімінде автоматты түрде қол жетімді болады
      • COM терезесін іске қосыңыз
    • Жиналған кодты ATtiny84 -ке жүктеңіз

Қолданбалы бағдарламаның нәтижелері 1 -бөліммен бірдей, себебі жарық диодты «қорғалған» орынға ауыстыру ғана болды: ЖШД 2 секундтық аралықта жыпылықтайды; сериялық шығыс бірдей. Жалғыз айырмашылық мынада, жүктеу кезінде жарық диоды жыпылықтамайды, өйткені ол осы уақыт ішінде жерге 2А мультиплексорлы түйреуіш арқылы қосылады.

Кескін
Кескін

4 -қадам: ATtiny84 2 -жағдай - Қолданбалық кірісті оқшаулау

Кескін
Кескін

Бұл қадам алдыңғы шығыс оқшаулау корпусын орнатуға негізделген. Жабдықтың өзгеруі мультиплексор арқылы ATtiny84 pin 6 (MOSI) үшін SPST қосқышын қосудан тұрады. Аппараттық құралдардың өзгеруі минималды, бірақ SPST қосқышына түйреуішті ауыстыру арқылы жарықдиодты басқаруға мүмкіндік беретін бағдарламалық қамтамасыз етуде бірнеше өзгерістер бар. Жаңартылған код осы бөлімнің төменгі жағында орналасқан. Кодты Arduino IDE -ге көшіру керек; оны Multiplexer_Input атауымен сақтауды ұсынамыз. (Мен бұл бөлімнің ұзақтығы үшін кешірім сұраймын, бірақ бұл нұсқаулықтың мақсаты, және ол жасанды үзілістерді енгізуден гөрі монолитті түрде жақсы оқылады деп ойлаймын.)

Жаңарту Орналасуы Мақсаты
«бұзылған» SoftwareSerial класын қамтиды бөлімді қамтиды Жарықдиодты енді түйреуішті ауыстыру арқылы SPST қосқышы басқарады. SoftwareSerial класын өзгерту керек, себебі ол басқаша түйреуіштерді ауыстырудың үзіліс векторларын бөледі. Бұл SPST қосқышына тағайындалған (порт 0) векторына «бірнеше анықтама» сілтеме қатесін тудырады. Бағдарламалық жасақтаманың бұзылған нұсқасы тек осы қосымшаға әсер ететіндей, бағдарламамен бір каталогта орналасуы керек.
SPST кіріс түйінінің анықтамасы қосу/анықтау бөлімі құрылғының түйреуішіне SPST кірісін тағайындау. Ілмек құрылғыға тән, сондықтан ол #ifdef ATtiny8x бөліміне қосылады.
SPST кіріс түйреуіш режимі орнату функциясы SPST түйіні INPUT ретінде конфигурацияланған
SPST түйреуіш үзілуін конфигурациялаңыз орнату функциясы Үзіліс векторы SPST кіріс түйреуішіне тағайындалады, осылайша ауысу күйінің өзгеруі үзіліс тудырады. Конфигурация регистрлері мен үзіліс түрі құрылғыға тән. Кодты мүмкіндігінше қарапайым ету үшін айырмашылықтар #if анықталған бөлімде өңделеді
Сериялық хабарды орнату аяқталды орнату функциясы Орнатудың толық сериялық шығуы туралы хабар мультиплексорлы енгізу қосымшасын көрсету үшін өзгертіледі
IST функциясының SPST қосқышын қосыңыз код бөлімі SPST түйреуішін өзгертуге арналған ISR қосылады. Код қарапайым, бірақ қолданылатын вектор құрылғыға тән және бағдарламаның жоғарғы жағындағы құрылғыға тәуелді бөлімдерде анықталған. ISR қосылғанын тексеру үшін жарық диодты күй өзгереді. Нақты қолданбада «жоқ» болса да, жаңа жарық диодты күйін көрсететін сериялық шығыс хабарламасы жасалады.
Циклды өңдеуді өзгерту цикл функциясы ISR енді жарықдиодты қосуды және өшіруді басқарады, осылайша функционалдылық циклдік режимнен жойылады. ATtiny84 үшін ұйқы режиміне қоңырау «қосымша» ретінде қосылады. Бұл бағдарлама үшін ATtiny85 ұйқысы жұмыс істемейді; Бағдарламалық жасақтама сериясының кедергілеріне байланысты болуы мүмкін, себебі ол SoftwareSerial -мен жұмыс істейді.
Ұйқы режимін қосыңыз код бөлімі Мультиплексорды қолдану үшін ұйқының функционалдығы қажет емес. Қосылған, себебі әдетте POWER_DOWN режимінде енгізуді күтпегенде, энергияны үнемдейді, керісінше, кіріс болмайынша ештеңе жасамай, бағдарламалық циклмен жұмыс істеуді жалғастырады.

SoftwareSerial сынып кодын өзгертіңіз

SoftwareSerial класы барлық түйреуіштерді өзгертуге кедергі жасайтын порттарды алмайтындай етіп өзгертілуі керек. SoftwareSerial сынып коды орналасқан

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

Кодты өзгертудің басталу орнын табу үшін SoftwareSerial.cpp ішіндегі PCINT0_vect бойынша іздеу жасаңыз. Келесі кодты қолданыстағы #if (PCINT0_vect) мәлімдемесінің алдында бірден қосыңыз.

#анықталған болса (_ AVR_ATtiny84_)

#MYPORT PCINT1_vect #elif анықталған (_ AVR_ATtiny85_) #define MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }

Енді порт үзіліс векторларын төменде көрсетілгендей бөлетін қолданыстағы код блогына түсініктеме беріңіз (жай ғана басталатын және аяқталатын блоктың түсініктеме белгілерін қосыңыз / * және * /):

/*

#if анықталған (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #if анықталған (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #егер анықталса (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); #endif #егер анықталған болса (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect))); #endif */

Жабдықты конфигурациялау

SPST қосқышы 2 -қадамда көрсетілгендей ATtiny84 pin 6 -ға (MOSI) бекітілген. Ыңғайлы болу үшін рәсім осында қайталанады.

  • 3А қосқышын TOS AVR бағдарламашысының MOSI сымына қосыңыз
  • 3B қосқышын SPST қосқышының қосқышына қосыңыз
  • 3Y -ді ATtiny84 пин 6 -ға қосыңыз

    • НӘТИЖЕЛЕР:

      • 3A, MOSI, жүктеу кезінде ATtiny84 pin 6 арқылы бекітіледі
      • 3B, SPST шығысы жүктелгеннен кейін 6 -штырға бекітіледі

Бағдарламаны іске қосыңыз

Жұмыс алдында SPST қосқышын өшірулі күйге қойыңыз. Әйтпесе, светодиод қосқыш өшірілгенде қосылады және керісінше. Arduino IDE көмегімен қосымшаны енгізу бағдарламасын жүктеу, құрастыру және жүктеу үшін 3 -қадамдағы процедураны орындаңыз. Бұрынғыдай жүктеу кезінде светодиод жыпылықтамауы керек, сондықтан бағдарламаның жұмыс істеп тұрғанының бірден -бір белгісі - орнату процедурасының соңындағы сериялық хабар: SETUP Complete - Input Example

Бұл кезде бағдарлама SPST қосқышынан кіруді күтеді. Қосқышты ON күйіне қою жарық диодты қосуға әкеледі; өшіру күйіне қайта оралу жарық диодты өшіреді. Шығыс хабарлары ISR шақырылғанын растайды (ISR: Led HIGH, ISR: Led LOW). Назар аударыңыз, сериялық хабарламалардың реті - ӨТУГЕ ӨТУ, алдымен ауысу күйінің өзгеруін күтеді; коммутатор кірісін алған кезде ISR шақырылады, жарық диодты қосады және өзгерісті құжаттайды; содан кейін процесс ұйқы қоңырауынан кейін басталады, себебі үзіліс процессорды оятады.

Кескін
Кескін

Бұл нұсқаулыққа арналған бағдарлама:

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

// 2 -БӨЛІМ: Қолдану/жүктеу құрылғысының түйінін бөлісу //. 1 -бөлімнің кодын өзгертеді: SPI бағдарламалау интерфейсіне тағайындалған түйреуіштерді // қайта қолдану //. ATtiny85 және ATtiny84 үшін «Comon» коды // ************************************** ****************************** #«SoftwareSerial.h» қосу // Өзгертілген Arduino SoftwareSerial класы #қосу // өңдеу коды кең таралған, түйреуіштер #if анықталған құрылғыға тән (_ AVR_ATtiny84_) || анықталды (_ AVR_ATtiny84A_) #ledPin 4 анықтаңыз // Қосылған қосу үшін қосылады Led қосу/өшіру #анықтау rxPin 9 // Сериялық қабылдау үшін пайдаланылатын түйін #define txPin 10 // Сериялық жіберу үшін пайдаланылатын түйін #SpinPstPin 6 анықтайды // SPST қосқышынан кіріс (MOSI) #анықтаңыз ISR_VECT PCINT0_vect // SPST қосқышы Пин өзгерісінің үзу векторы #elif анықталды (_ AVR_ATtiny85_) #ledPin 1 анықтаңыз // SPST қосқышы PIN ауыстыру үзіліс векторы #басқа #қате Тек ATiny84 пен ATtiny85 осы жобаға қолдау көрсетеді #endif // SoftwareSerial mySerial (rxPin) қабылдау және жіберу үшін қандай құрылғы // түйреуіштер қолданылатынын көрсететін Бағдарламалық қамтамасыз ету сериясының үлгісін жасаңыз., txPin); // ------------------------------------------------ ------------------------ // Өңдеу ресурстарын инициализациялау // ------------------- -------------------------------------------------- --- void setup () {mySerial.begin (9600); // Сериялық өңдеуді кешіктіруді бастау (2000); // Serial Com портын іске қосуды аяқтауға уақыт беріңіз. // Әйтпесе, pinMode (ledPin, OUTPUT) жоғалған немесе бұзылған бірінші шығарылым; // OUTPUT pinMode (SpstPin, INPUT) үшін штырьды түйреуішті конфигурациялау; // SPST қосқышының түйреуішін INPUT #ретінде анықтаңыз (_ AVR_ATtiny84_) || (_AVR_ATtiny84A_) // 6 -істікшеге (MOSI) GIMSK | = (1 <

5 -қадам: ATtiny85 1 -жағдай - Қолданбаның шығысын оқшаулау

Кескін
Кескін

ATtiny85 үшін қайталанатын аппараттық қондырғыны құрудың орнына, 4 -қадамдағы ATtiny84 үшін дайын конфигурациядан бастау және tiny84 чипін tiny85 -ке ауыстыру оңайырақ шығар. Содан кейін барлық қажетті жабдықтар қол жетімді. Егер осы тәсілді қолдансаңыз, tiny85 -ті 3 және 4 -ші түйреуіштер tx сериялық кабеліне сәйкес келетін етіп орналастырыңыз және сымдарды қабылдайтын етіп орналастырыңыз. Бұл SPI интерфейсінің сымдарын ATtiny85 үшін қажетті орындарға сәйкес келтіру үшін ауыстыру туралы ғана.

Егер нөлден бастасаңыз, 3 -қадамдағы жалпы қадамдарды және жоғарыдағы фризинг диаграммасын орындаңыз. Код 3 -қадамдағы ATtiny84 үшін пайдаланылғанмен бірдей, күтілетін нәтижелермен бірдей - жүктеу кезінде жыпылықтау жоқ; жарықдиодты қосқан кезде 2 секундтық аралықта жыпылықтайды және сериялық шығыс хабарламалары жарық диодты күйге сәйкес келеді.

Кескін
Кескін

6 -қадам: ATtiny85 2 -жағдай - Қолданбалық кірісті оқшаулау

Кескін
Кескін

Аппараттық құралдарды орнату үшін 5 -қадамдағы конфигурациядан бастаңыз және жоғарыдағы фризинг диаграммасында көрсетілгендей SPST қосқышын қосыңыз. Мен шын мәнінде tiny85 нұсқасы үшін уақытша қосқышты қолдандым және бұл тексеруді сәл жеңілдетеді. Коммутатордың шығысы ATtiny84 конфигурациясынан 180 градусқа бұрылғанына назар аударыңыз. Бұл өзгеріс қосылатын сымдарды бағыттауды жеңілдетеді, себебі барлық 3 SPI сигналдары ATtiny85 үшін бір жағында.

ATtiny84 4 -қадамдағыдай бағдарламаны қолданыңыз. Дәл осындай жалпы нәтижелер күтіледі - жарық диоды SPST қосқышы қосулы/өшірілген кезде өзгереді және сериялық шығыс хабарлары өзгерістерді құжаттайды. ATTiny85 үшін ұйқы функциясы шақырылмағандықтан, ҰЙҚЫҒА ӨТУ хабарлары жоқ. Бір бағдарлама қолданылғанымен, ATtiny85 -те тек бір порт регистрі (0 порт) бар екенін ескере отырып, енгізуде айтарлықтай айырмашылықтар бар:

  1. SoftwareSerial енді порттың 0 түйінін ауыстыру үзілісін сериялық байланыс үшін бөледі (Естеріңізге сала кетейік, біз ATtiny84 үшін 1 портты қолдана алдық.)
  2. SPST қосқышының үзілуі 0 (INT0) сыртқы үзіліспен жүзеге асырылуы тиіс, себебі жалғыз сым ауыстырудың үзілуін SoftwareSerial бөледі. Бұл түйін ауыстыру үзілістері мен сыртқы үзілістер логикалық тәуелсіз және оларды бір порт регистрінде қолдануға болатынын көрсетеді.
  3. SoftwareSerial -дің өзгертілген нұсқасын қолдану арқылы ештеңе болмайды - тек бір порт бар және SoftwareSerial класы оны алады. Дегенмен, өзгертілген класс әлі де осы қадамның мақсатына тікелей қатысы жоқ өзгерісті болдырмау үшін қолданылды.

Ұсынылған: