vPrintString( "Navbatdan qabul qilib bo'lmadi.\r\n" ); Birinchi parametr - ma'lumot olinadigan navbat. Navbat rejalashtiruvchi ishga tushirilgunga qadar va shuning uchun bu vazifa birinchi marta bajarilishidan oldin yaratiladi.
/* 100ms kutgandan keyin ham navbatdan maÿlumot olinmadi.
3.TUZISHNI BOSHQARISH Voqealar • Qaysi FreeRTOS API funksiyalaridan uzilishlar xizmatidan foydalanish mumkin.
Qo'llash doirasi Shuni ta'kidlash kerakki, faqat API funktsiyalari va "FromISR" yoki "FROM_ISR" bilan tugaydigan makroslar hech qachon uzilishlar xizmati tartibida ishlatilishi kerak.
FreeRTOS dastur dizayneriga hodisalarni qayta ishlashning aniq strategiyasini yuklamaydi, lekin tanlangan strategiyani sodda va barqaror tarzda amalga oshirishga imkon beradigan xususiyatlarni taqdim etadi.
• Ba'zi FreeRTOS portlarida mavjud bo'lgan uzilishlarni joylashtirish modeli.
Machine Translated by Google
FreeRTOS 69
Mikrokontrollerlar uchun mo'ljallangan;
http://www.FreeRTOS.org
3.2 KECHIRILGAN uzilishli ishlov berish 26-rasm Interrupt bir vazifani to'xtatadi, lekin boshqasiga qaytadi. Ushbu uzilish sinxronizatsiyasi stsenariysida semaforni kontseptual ravishda uzunligi bitta bo'lgan navbat sifatida ko'rish mumkin. Navbat istalgan vaqtda maksimal bitta elementni o'z ichiga olishi mumkin, shuning uchun har doim bo'sh yoki to'liq (shuning uchun ikkilik). XSemaphoreTake() ga qo'ng'iroq qilish orqali ishlov beruvchi vazifasi bloklangan vaqt bilan navbatdan o'qishga samarali harakat qiladi, bu vazifani bloklangan holatga kiritishga olib keladi, agar navbatda bo'lsa.
Ikkilik semafor har safar ma'lum bir uzilish sodir bo'lganda vazifani blokdan chiqarish uchun ishlatilishi mumkin, bu vazifani uzilish bilan samarali sinxronlashtiradi. Bu to'g'ridan-to'g'ri ISRda qolgan juda tez va qisqa qismi bilan, uzilish hodisalarini qayta ishlashning ko'p qismini sinxronlashtirilgan vazifa doirasida amalga oshirishga imkon beradi. Uzilishni qayta ishlash "ishlov beruvchi" vazifasiga "kechiktirilgan" deb aytiladi.
"Olish" va "Berish" - bu foydalanish stsenariysiga qarab bir necha xil ma'noga ega bo'lgan tushunchalar. Klassik semafor terminologiyasida semaforni olish P() operatsiyasiga, semaforni berish esa V() operatsiyasiga ekvivalentdir.