ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
1111823 Топик полностью
rezident (23.06.2021 23:38, просмотров: 259) ответил evgeniy1294 на Вся соль в эвентах, генерируемых периферией. Эвенты позволяют контроллеру dma понять, когда забирать данные с периферии или писать в неё. Отсюда и разница.
Не в событийном механизме дело, а в способе доступа к данным. Бытовая аналогия. 

Вот представьте себе две полки, разделенные дверцами на три ячейки. Нужно переместить что-либо в 1й ячейке с верхней полки на нижнюю.

Алгоритм 1 (простой перенос):

- открываем 1ю дверцу,

- берем с верхней полки "что-либо",

- кладем "что-либо" на нижнюю полку,

- закрываем дверцу.


Теперь другая задача: переместить с верхней полки 1й ячейки на нижнюю полку 3й ячейки.

Алгоритм 2 (FIFO):

- открываем 1ю дверцу,

- берем с верхней полки "что-либо",

- бип-бип-бип .... Unrecognized error ... - мы не можем открыть 3ю дверцу, у нас рука занята "чем-либо"! нужна еще одна промежуточная свободная ячейка или дополнительная поверхность (стол) с последовательным доступом к ней (FIFO).

- кладем "что-либо" на стол,

- закрываем 1ю дверцу,

- открываем 3ю дверцу,

- берем со стола "что-либо",

- кладем "что-либо" на нижнюю полку 3й ячейки,

- закрываем 3ю дверцу.


А теперь представьте, что руки две и вы можете работать ими одновременно, но левая имеет доступ только к 1й и 2й ячейке, а правая только ко 2й и 3й. Задача такая же как в прошлый раз: переместить "что-либо" с верхней полки 1й ячейки на нижнюю полку 3й ячейки.