22.STM32 tizimida interruptlar nima, ular ganday ishl aydi? HAL kutubxonasida interrupt bilan ishlash funksiyalarini tushuntiring? STM32 tizimida interruptlar, mikrokontrollerdagi xavfsiz va to'g'ridan-to'g'ri tartiblangan harakatlarni bajarish uchun qo'llaniladigan buyruq tugmalari hisoblanadi. Interruptlar tizimda keshlashgan biror hodisaga (masalan, taimer buzish, GPIO status o'zgarishlari, UART qabul qilingan ma'lumotlar) reagirov bo'lib, avvalo belgilangan biror qismini (interrupt manzilini) bajarish uchun osongina yordam beradi. Bu, boshqa amalni to'xtatish va qirqish davomida o'tish imkoniyatini beradi.
STM32 mikrokontrollerdagi HAL (Hardware Abstraction Layer) kutubxonasida interruptlar bilan ishlash uchun quyidagi asosiy funktsiyalar mavjud:1
Interruptni yoqish (Enable Interrupt): Belgilangan interruptning faollashtirish uchun to'g'ridan-to'g'ri bitini o'zgartirish yordamida interruptni yoqish mumkin.
Interruptni yo'qotish (Disable Interrupt): Belgilangan interruptni o'chirish uchun to'g'ridan-to'g'ri bitini o'zgartirish yordamida interruptni yo'qotish mumkin.
Interruptni konfiguratsiya qilish (Configure Interrupt): Interruptning konfiguratsiyasini sozlash uchun kerakli parametrlarni belgilash mumkin, masalan, qirqish xato uchun borish turlarini (trigger types), prioritetni (priority), maskani (mask), avlodini (subpriority) va boshqalarini.
Interrupt obslugchisini sozlash (Set Interrupt Handler): Interrupt obslugchisini (interrupt handler) belgilash uchun, kerakli funktsiyani belgilab qo'yish mumkin. Bu funktsiya belgilangan interrupt sodir bo'lganda avtomatik ravishda chaqiriladi.
Interruptni tozalash (Clear Interrupt): Interrupt manzilini (interrupt flag) tozalash uchun to'g'ridan-to'g'ri bitini o'zgartirish yordamida interruptni tozalash mumkin.
Interrupt haqida ma'lumot olish (Get Interrupt Information): Interrupt haqida ma'lumot olish uchun, masalan, interruptning holatini (status), maskasini (mask) va boshqalarini olish imkoniyati mavjud.
Ushbu funktsiyalar HAL kutubxonasi tomonidan taklif etiladi va tizimni boshqarishda foydalanish mumkin. Amalga oshirish usullari va qo'llanish tartibi o'zingiz foydalanayotgan mikrokontroller va kutubxona versiyasiga bog'liq bo'ladi. Ushbu funktsiyalar haqida batafsil ma'lumotlar HAL dokumentatsiyasida topilishi mumkin.