|
Dasturiy uzlishlar (yoki sinxron uzilish
|
bet | 3/4 | Sana | 24.05.2024 | Hajmi | 1,67 Mb. | | #253068 |
Bog'liq 8- ma\'ruza uzilishlarDasturiy uzlishlar (yoki sinxron uzilish
|
Dasturiy uzilishning natijasi ham protsessorni ishga tushirish hisoblanganligi uchun u oldindan aniqlangan adresga o’tadi. Dasturiy uzilishga paydo bo’ladigan hollarga misol sifatida nolga bo’linish, xotira segmentstsiyasi xatoligi va h.k.larni keltirish mumkin. Shu usulda bunday uzilishlar apparat hodisasi bilan emas, balki aniq mashina tili amali kodi bilan chaqiriladi. Dasturiy uzuilish ko’p hollarda qopqon deb ataladi
|
Edge-triggered va level-triggered uzilishlar.
|
Periferik qurilmalar o’z signallarini ikki har xil usul bilan uzatishlari mumkin. Edge-triggered uzilishlar apparat yoki dasturiy uzilishlarning yo’qotilishi xavfi bor bu ularni samarali yechimi hisoblanmaydi. Determinizm muhim faktor hisoblangan lebel-trigged uzilishlar real vaqt operatsion tizimlari va o’rnatilgan operatsion tizimlarida afzal ko’riladi.
| Dasturda uzilishlar, xatoliklar va istisnolarga sharhlar Tajribaning formadan tashqidagiligi - Tajribaning formadan tashqidagiligi
- Muxim vositalar kriteriyasi, tizimli modullarni boshqarishda muammolar, tizimni keng turda ximoya qilish va qo`llab quvvatlash va uni boshqarish muxim vazifalardan hisoblanadi.
6.4. Uzilishlar Arduinoda
Embedded system
- Arduinoda attachInterrupt funksiyasi orqali uzilish jarayonni boshqaradi.
- Arduino-da uzilishlar qanday amalga oshiriladi. Uzilish signali qabul qilinganda, loop() siklidagi jarayon to‘xtatiladi. Uzilishda bajarilishi e'lon qilingan funksiyaning ishlash jarayoni boshlanadi.
- Uzilish asosiy dastur kodiga ta'sir qilmaydi. Arduino-da uzilishlar bilan ishlash uchun standart attachInterrupt () funksiyasidan foydalaniladi.
attachInterrupt()ning tavsifi - Tashqi uzilish sodir bo'lganda chaqiriladigan funksiyani belgilaydi. Agar ilgari uzilish bilan bog'langan bo‘lsa, oldingi funksiyani almashtiradi. Ko‘pgina Arduino platalarida ikkita tashqi uzilish mavjud: 0 raqami (raqamli pin 2) va 1 (raqamli pin 3). Ba’zi Arduino platalarida mavjud bo'lgan tashqi uzilishlar uchun pin raqamlari quyidagi jadvalda ko'rsatilgan:
- Plata int.0 int.1 int.2 int.3 int.4 int.5
- Uno, Ethernet 2 3
- Mega2560 2 3 21 20 19 18
- Leonardo 3 2 0 1 7
- Muddati (ixtiyoriy)
|
| |