16+
Вторник
21 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Vit  (05.11.2017 10:34) , в ответ на Начали терзать сомнения. Скажем, UART на прерываниях, кольцевой буфер, unsigned int volatile head, tail; char volatile fifo[]. Вот там эти барьеры нужны? автор: SciFi
Инкремент или декремент хоть и выполняется быстро, но загрузить значение "на место" нужно. Часто после этого выполняется сравнение. При volatile компилятор должен брать значение по адресу хранения. Где-то тут может быть неопределенность. Я индексы 
стараюсь инкрементировать после обращения к буферу. Но это не потому что осознаю возможную неопределенность поведения, а просто мне удобно делать буферы размеров 2 в степени и оперировать "бесконечными" (автопереполняемыми) индексами (при обращении к буферу маскирую size-1). Недавно напоролся (на w7500p под mBed) на "проскальзывание" - пока проект только перегнал на оффлайн компилятор и ещё не разбирался. Может как раз оно.
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII