У кого есть Arduino Due и частотомер
- Войдите на сайт для отправки комментариев
Вс, 07/02/2016 - 19:51
Добрый вечер, уважаемые форумчане. Изучаю arduino due. Возник вопрос сравнить быстродействие управления выходами с помощью функции digitalWrite и через регистры. У кого есть эта плата и частотомер, можете сравнить частоты сигнала на выводе платы в обоих случаях. Скетч для управления через регистры прилагаю. Проверил работает. Диод на выводе 13 мигает.
void setup() { PIOB->PIO_OER = 1 << 27; // PIO Controller Output Enable Register. Enables the output on the I/O line. Запись 1 устанавливает соответствующий вывод как выход } void loop() { PIOB->PIO_CODR = 1 << 27; // PIO Controller Clear Output Data Register. Clears the data to be driven on the I/O line. Запись 1 устанавливает 0 на соответствующем выводе, который сконфигурирован как выход. PIOB->PIO_SODR = 1 << 27; // PIO Controller Set Output Data Register. Sets the data to be driven on the I/O line. Запись 1 устанавливает 1 на соответствующем выводе, который сконфигурирован как выход. }
Если светодиод дает помеху, то 27 можно заменить на 25, тогда на плате будет вывод 2. Я думаю, что и другим форумчанам будет интересен результат.
Прошу извинить. Забыл уточнить, что приведенный скетч управляет выводом 13 на плате.
в районе 20 МГц был сигнал похожий на прямоугольник
выше - хуже, верхний порог не помню, давно было
тут скорее не частотомер а осциллограф нужен
а вообще все эти содры-модры очень полезны для синхронного вывода по нескольким ногам порта одновременно
Для сравнения производительности команд внешний частотомер не нужен.
Достаточно внутреннего таймера.