запамятовал - а у АВРки есть типа:
Код: Выделить всё
and A, ([$1000],X)Код: Выделить всё
and A, ([$1000],X)аргумент на 100% такой же, как и у поклонников айфонов: раз новый айфон вышел, его надо брать и пробовать! у него пикселы круглее, гигагерцы быстрее и вообще крутизна круче!dosikus писал(а):Затравка первая -помигать ледом аппаратно при помощи таймера...
повторяю еще раз: есть задача и есть её решение. оценивается всегда результат, а не процесс. так было, есть и будет всегда. никто никогда не спросит, при помощи каких средств ты заставил мигать светодиод. ну, разве что другой такой же фанат новинок, вроде тех, которые гоняются за айфонами.dosikus писал(а):как мигать и чем - большая разница
а как с иллюминацией по ссылке разобраться - так "ПОСПАТКИ". А там самая что ни на есть ардуиинистая проблема:Тихо готовим "пилюльку" к тестам...
Проблема так и осталась - получается ардуиной не возможно нормально решить простейшие задачи мигания даже с помощью DMA, бесперспективняк сонный. Может пойдем дальше джедайским путем - на чистом православном Си и сонливость уйдет.Но одна вещь все еще беспокоила меня, так как, хотя я использовал DMA для отправки данных SPI, существующая функция Arduino STM32 (LibMaple) SPI dmaSend () «блокирует» (или синхронно). Таким образом, выполнение кода фактически должно ждать, пока DMA не будет завершен, прежде чем может быть создан следующий набор данных светодиодов.
Чтобы преодолеть это, я изменил dmaSend (), чтобы сделать новую функцию dmaSendAsync (), которая возвращает сразу после начала передачи данных DMA, и в случае, если код для создания следующего набора данных LED завершается до текущей асинхронной передачи После завершения я взял код блокировки с конца dmaSend и поместил его в начало dmaSendAsync и добавил статический флаг к функции, чтобы код блокировки (который ожидает завершения DMA) выполнялся, только если передача DMA имеет был ранее начат.