-
- Есть периодическое прерывание с длительностью менее 100мкс, где
много что делается и по времени оно впритык. И из него надо скинуть
наружу в лог 5..15 байт максимально быстро. Да, конечно можно через
буфер а в другой задаче выгребать и не торопясь отправлять в
консоль по printf. Но неудобно по разным причинам и хотелось
другого решения. - Andreas(01.05.2020 19:46)
- Я так все прерывания делаю. Тривиальный кольцевой буфер. В прерывании - только в него пишет и переставляет индекс, который если длина буфера кратная степени двойки (256) сам заворачивается. Вот это: { buf[buf_write_index++] = myvar; buf_updated_flag = true; } ~ три инструкции. RxTx(437 знак., 01.05.2020 20:07)
- Есть периодическое прерывание с длительностью менее 100мкс, где
много что делается и по времени оно впритык. И из него надо скинуть
наружу в лог 5..15 байт максимально быстро. Да, конечно можно через
буфер а в другой задаче выгребать и не торопясь отправлять в
консоль по printf. Но неудобно по разным причинам и хотелось
другого решения. - Andreas(01.05.2020 19:46)