Реализация кольцевого буфера на ассемблере AVR
Для очередного эксперимента понадобился мне такой вот буфер. Что это такое, можно почитать в Википедии, а также здесь, поэтому углубляться не буду.
Оговорки:
Читать дальше
Оговорки:
- я не профессиональный программист и наверное им не стану, поэтому возможно, что нижеприведенное потребует оптимизации/переработки;
- на Сях и прочих высокоуровневых языках не пишу — не умею;
- долго искать готовое решение на ассемблере не стал, а изобретать колесо вроде как и не запрещено (хоть иногда и глупо), зато интересно.
Читать дальше
Реализация кольцевого буфера на языке Verilog HDL. Пара слов о поиске ошибок.
У нас уже есть примеры реализации кольцевого буфера на языках Assembler (для STM32) [1], C [2] и C++ [3]. Пожалуй, продолжим. В этой статье я приведу пример реализации простенького кольцевого буфера на языке Verilog HDL. Так же будет приведен разбор типовой ошибки, которую я допустил при написании этого кода.
Читать дальше
Читать дальше
Кольцевой буфер на С++ для МК.
Кольцевой буфер (КБ)(Ring Buffer) — структура данных типа FIFO (First In First Out — первым вошел, первым вышел), находит очень широкое применение в том числе при программировании МК. Кольцевые буферы часто используют для организации различных очередей сообщений и буферов приёма-передачи различных коммуникационных интерфейсов. Популярность КБ обусловлена тем, что это один из самых простых и эффективных способов организовать FIFO без использования динамической памяти. Существует множество разновидностей КБ, о них можно почитать, например тут en.wikipedia.org/wiki/Circular_buffer Рассмотрим одну очень быструю и компактную реализацию КБ на С++.
Читать дальше
Читать дальше