Здравствуйте, уважаемые. Спасибо автору за подробные статьи. Правда некоторые вопросы после прочтения все-таки остались, но тут видимо дело не в статьях) Некоторое время назад возникла необходимость в быстром ацп и записи относительно большого массива данных, долго решать не пришлось - выбор пал на блюпилл, написал в ардуино иде под него скетч и , очудо, всё заработало. Теперь сидя на локдауне начал потихоньку разбираться с стм32, осваивать кубиде и решил в качестве одного из первых проектов после блинка и хеловорлда переписать имеющийся код с помошью HAL. Возможностей открылось море: ДМА, установка времени преобразования, калибровка и т.д. Суть старого кода такова: в предварительный массив записываются данные из ацп, там от них отбрасываются по 2 больших и 2 меньших значения, после чего результат усредняется и записывается в первую ячейку второго массива. во втором массиве значения пишутся в первые несколько ячеек сдвигаясь назад при добавлении нового значения, при каждом измерении новое значение сравнивается с заранее установленным пороговым значением и как только оно его превысит запись продолжается уже без сдвига в остальные ячейки массива до полного его заполнения (без этих танцев начало графика получаемого из второго массива выходит обрезанным), по заполнению второго массива измерения останавливаются и его данные передаются на пк через сериал. Теперь собственно вопросы: можно ли как-то уменьшить кол-во манипуляций с массивами средствами HAL? как лучше организовать сбор и отправку данных: через прерывания , ДМА, еще как-то? если попытаться увеличить кол-во каналов измерений до трех чтобы они синхронно писали 3 графика, как это лучше сделать? на ардуино почти все работало через цикл "for", но что-то мне кажется, что есть решения покрасивше.