ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
1271656 Топик полностью
my504 (29.12.2022 02:49, просмотров: 238) ответил POV на "DMA и запросы прерывания дополняют друг друга" - ты прям серьезно про это? А зачем оно и нахуя? Если есть прерывание - ну тут и обработай... я на с8051 мегабит с ЦРЦ16 успеваю обрабатывать.. Если ДМА используешь, то уж как-то попробуй без прерываний обойтись.
Для запуска ДМА нужно либо получить синхронизацию с началом принимаемого пакета, либо обрабатывать кольцевой буфер и там находить начало. Однако ответ устройства должен происходить сразу после получения стартового адресного байта по приемнику. В системе используется RS485 FullDuplex. Поэтому кольцевой буфер не катит. Приняли свой стартовый байт - запустили прием пакета и передачу пакета. Не приняли свой - ничего не запускаем. Принимать по ДМА все подряд - это тупейшее решение 

. Какой смысл экономить аппаратные ресурсы и плодить лишнее в суперлупе? Зачем принимать в прерываниях весь пакет, если есть возможность получить сразу готовый результат? У меня нет проблем с каналами ДМА. Их хватает. Драйверы устройства формирующие все диаграммы устройства не вносят никаких лишних сущностей в функции суперлупа и изолируют физику от вычислительных алгоритмов. Что не так?