Bir nechta vazifalar orqali kirish Odatda navbatlar birinchi kirish (FIFO) buferlari sifatida ishlatiladi, bunda ma'lumotlar navbatning oxiriga (dumiga) yoziladi va navbatning old qismidan (boshidan) chiqariladi. Navbatning old tomoniga yozish ham mumkin.
Navbatdagi yozuvlarni bloklash
xQueueSendToBack() va xQueueSendToFront() API funksiyalari Qiymat
hudud.
Mikrokontrollerlar uchun mo'ljallangan;
FreeRTOS
http://www.FreeRTOS.org
50
portBASE_TYPE xQueueSendToBack( xQueueHandle xQueue,
Listing 31 xQueueSendToBack() API funksiyasi prototipi portBASE_TYPE xQueueSendToFront( xQueueHandle xQueue, const void * pvItemToQueue, portTickType xTicksToWait );
Listing 30 xQueueSendToFront() API funksiyasi prototipi const void * pvItemToQueue, portTickType xTicksToWait );
Machine Translated by Google
Mikrokontrollerlar uchun mo'ljallangan;
FreeRTOS 51
http://www.FreeRTOS.org
Navbat allaqachon toÿlgan boÿlsa, navbatda boÿsh joy boÿlishini kutish uchun vazifa Bloklangan holatda qolishi kerak boÿlgan maksimal vaqt.
Agar bloklash vaqti ko'rsatilgan bo'lsa (xTicksToWait nolga teng bo'lmagan), u holda funksiya qaytishdan oldin navbatda bo'sh joy bo'lishini kutish uchun chaqiruvchi vazifa Bloklangan holatda joylashtirilgan bo'lishi mumkin, ammo ma'lumotlar oldin navbatga muvaffaqiyatli yozilgan. bloklash muddati tugadi.
Qiymat
pdPASS faqat ma'lumotlar navbatga muvaffaqiyatli yuborilgan taqdirdagina qaytariladi.
Ism/Qaytarilgan
1. pdPASS
xQueueReceive() navbatdagi elementni qabul qilish (o'qish) uchun ishlatiladi. Qabul qilingan element navbatdan olib tashlanadi.
Parametr
Qaytishning ikkita mumkin bo'lgan qiymati mavjud:
XTicksToWait ni portMAX_DELAY ga o‘rnatish, FreeRTOSConfig.h da INCLUDE_vTaskSuspend 1 ga o‘rnatilgan bo‘lsa, vazifani cheksiz kutishga olib keladi (vaqt tugashisiz).