ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
401245 Топик полностью
Chum_A (10.04.2013 21:35, просмотров: 75) ответил Vit на зачем там дёргания - поэлементное втыкивание и прочая паранойя?
Итого, дёрганья существенно сокращаются:  do { tail = __ldrex(&queue->eventTail); // вычитываем "хвост" в "локальный хвост" event = &queue->Events[queue->eventTail]; // получаем указатель на структуру в "хвосте" буфера if (++tail == EVENT_TABLE_SIZE) // двигаем хвост tail = 0; } while(__strex(tail, &queue->eventTail)); // если "хвост" успел измениться (было прерывание), то перечитываем // Далее без всякого эксклюзива заполняем структуру, по имеющемуся указателю event->eventID = ID; event->eventParam = Param;