====== OSA : OS_Squeue_Create ====== **OS_Squeue_Create (squeue, buffer, size)**\\ === === {{osa:ref:attr_call_not_int.png|Нельзя вызывать из прерывания}} Создает очередь коротких сообщений //squeue//. После создания очередь пуста. Для использования очередей коротких однобайтовых сообщений в файле ##[[osa:ref:appendix:configuration|OSAcfg.h]]## должна быть определена константа ##[[osa:ref:appendix:configuration#Системные константы|OS_ENABLE_SQUEUE]]##. Для PIC16 переменная squeue может размещаться в памяти только в **bank0** или **bank1** === Разрешен вызов: === Только не из прерывания === Параметры функции: === {| class = "fpl" |- |//''squeue''// |Дескриптор очереди коротких сообщений. Переменная типа ##[[osa:ref:description:data_types|OST_SQUEUE]]##. |- |//''buffer''// |Буфер, куда будут складываться сообщения при отправке в очередь. Для PIC16 буфер может размещаться в памяти только в **bank0** или **bank1** |- |//''size''// |Размер очереди сообщений. Следует сопоставлять с типом сообщений и размером буфера //buffer//, чтобы не произошел выход за границы буфера |} === Возвращаемое значение: === Нет === Пример вызова: === OST_SQUEUE squeue; OST_SMSG Buffer[20]; void Task (void) { OS_Init(); OS_Squeue_Create (squeue, Buffer, 20); // Создаем очередь на 20 коротких сообщений /*...*/ } === Old style name === **OS_CreateQSMsg**\\ === См. также === * [[osa:ref:allservices:OS_Squeue_Send|OS_Squeue_Send]] * [[osa:ref:allservices:OS_Squeue_Send_TO|OS_Squeue_Send_TO]] * [[osa:ref:allservices:OS_Squeue_Send_Now|OS_Squeue_Send_Now]] * [[osa:ref:allservices:OS_Squeue_Check|OS_Squeue_Check]] * [[osa:ref:allservices:OS_Squeue_IsFull|OS_Squeue_IsFull]] * [[osa:ref:allservices:OS_Squeue_Wait|OS_Squeue_Wait]] * [[osa:ref:allservices:OS_Squeue_Wait_TO|OS_Squeue_Wait_TO]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~