Измерить интервал времени между двумя событиями
- Войдите на сайт для отправки комментариев
Сб, 22/10/2022 - 10:38
Необходимо измерить интервал времени между двумя событиями. Переменная t1 - время начала события. Переменная t2 - время окончания события. В переменной i - меняем длительность интервала времени между событиями. Время необходимо измерять в наносекундах. Плата Raspberry Pi Pico RP2040. Программа Arduino IDE.
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 10, 9, 8, 7);//(RS,E,D4,D5,D6,D7) int main() { unsigned long t1,t2,t3,i; lcd.begin(20, 4);// Задаем размерность дисплея while (true) { t1=micros(); for (i=0; i<=1000000; i++) {} t2=micros(); t3=t2-t1; lcd.setCursor(6, 0);lcd.print(t1); lcd.setCursor(6, 1);lcd.print(t2); lcd.setCursor(6, 2);lcd.print(t3); delay(1000); } }
от 500р. fridgetester@mail.ru
Охлаждать чем будем, так как надо разгонять прилично, чтобы выйти на тактирующий 1 наносекунда...
И вопрос, позволяет ли это PLL
Да уж. Наносекунда это 1 ГГЦ тактовой. Не припомню я таких таймеров. Да и и к фронтам импульсов на таких скоростях вопросы есть в плане формы и способа доставки до ножки МК.
ТС, после выполнения задачи fridgetester напиши во сколько все-таки уложились. Всё-таки ОТ 500Р понятие растяжимое...
ТС, после выполнения задачи fridgetester напиши во сколько все-таки уложились. Всё-таки ОТ 500Р понятие растяжимое...
задача не выполнима...я разгонял чип только до 350 мегагерц, в IDE можно до 300...хотя подозреваю, что можно и поболее
ТС, после выполнения задачи fridgetester напиши во сколько все-таки уложились. Всё-таки ОТ 500Р понятие растяжимое...
Понятно что растяжимое, как и задание ТСа, поэтому я так и написал. Что касаемо выполнения, то ТС со мной не связывался.
задача не выполнима...я разгонял чип только до 350 мегагерц, в IDE можно до 300...хотя подозреваю, что можно и поболее
А ты в курсе что 10 наносекунд это тоже наносекунды, та же как и 100. Если к фразе "измерять в наносекундах" применить фильтр реальных ттх pico и немного здравого смысла, то задача уже не кажется такой невыполнимой.
тогда и на атмеге можно, там жеж слок по 63 наносекунды щёлкает )))
Ни кто не говорил о том, что надо разогнать процессор выше стандартной частоты. Время выполнения одной операции 32 наносекунды. Сейчас минимальное время отображения равно 1 микросекунда. За это время контроллер делает 31 операцию.
Сейчас при отображении переменной
i=1000000 время t3=32000 мкс.
i=1000031 время t3=32001 мкс.
i=1000062 время t3=32002 мкс.
надо сделать
i=1000000 время t3=32000000 нс.
i=1000001 время t3=32000032 нс.
i=1000002 время t3=32000064 нс.
тогда и на атмеге можно, там жеж слок по 63 наносекунды щёлкает )))
можно всё, но:
1. заказчик хочет на пико
2. пико на порядок быстрее(и соответственно замеры будут на порядок точнее) чем атмега и стоит кстати дешевле
В Атмеге уже достиг предела. Выше уже некуда. И не во всех Атмега стоит на плате кварц. В большинстве стоит пъезофильтр.
А в кого стрелять собираетесь?
Частотой в Радио.