ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
8 мая
552725 Топик полностью
SciFi (13.10.2014 12:07 - 12:11, просмотров: 250) ответил Codavr на Потребитель начинает их забирать, но все забрать не успел (причин тыща), а DMA в это время в корзиночку новые данные тынц.
Так проблема в том, что потребитель не может забрать данные атомарно? Для этого есть простое решение: Сделать два счётчика. Один получает приращение, когда обработчик DMA начинает выкладывать свежие данные, второй - когда заканчивает. Потребитель читает первый счётчик, данные, потом второй счётчик. Если значения счётчиков совпадают, то всё ОК. Иначе повторяем заново. И так пока не надоест получится. Наверное, это и есть счётный семафор. Хз, я в этих синхронизациях не копенгаген.
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้