Сейчас переменная М в строке 13 считает количество микросекунд. за 1 секунду переменная прибавляет свое значение на 1000000. Нужно чтобы переменная меняла свое значение более часто, например каждые 50 нс.
volatile unsigned long M;
unsigned long M_old;
//--------
void setup()
{
multicore_launch_core1(main2);
Serial.begin(115200);
while (!Serial);
}
//--------
void loop()
{
M=micros();
}
//--------
void loop2()
{
if ((M-M_old)>=1000000)
{M_old=M;Serial.print(" M= ");Serial.println(M);}
}
//--------
void main2() { while (1) {loop2();} }
Кому нужно? Зачем нужно? Кто из людей сможет среагировать на такие интервалы? Даже если зарядить хардверный таймер на 50 нс то часть времени займёт вход-выход из процедуры прерывания и в самом прерывании сделать можно будет не много. Да ещё надо как то обработать это событие. Может быть всё же надо измерить интервал с такой точностью? Тогда не надо переменных, а только в конце интервала один раз прочитать регистр таймера.
flexprint
недавно вы мне вкручивали в уши какую то дичь…
не отвечали на вопросы, и вели какой то монолог…
а ведь можно было дать ссылку, а я бы объяснил моменты которые вы не могли понять…
ну да ладно, вопрос не в этом, а в том где гарантии что у вас не случится и в этот раз помутнение рассудка, или что то вам не покажется ?)))
у меня есть хребет, и пока вы не докажете мне что достойны что бы отвечали на ваши вопросы, от меня вы ответов больше не получите)))
Все верно. Просто я не знаю как можно прочитать регистр таймера. Поэтому и надо чтобы переменная М читала регистр таймера. Тогда я в конце интервала один раз и прочитаю.
абдурина на avr (nano,uno,mega) работает на частоте 16МГц, один такт это 62.5 наносека. соответственно в лучшем случае можно замерять время интервалами не менее этой величины.
ЗЫ: увидел только что малинка пико, там да, там конечно на порядок точнее можно.
я тебе вкручивал в ответ на твое мычание.
забудем распри.
расскажи, чем, как замерил и с какой точностью интервалы по 0,5нс. Очень интересно, никакой дичи.
бред какой-то написан… “не знаю как прочитать регистр… поэтому пусть переменная читает”
а переменная откуда знает, как регистры читать, если вы не знаете? Ж)
По сути - возьмите описание RP2040 СДК, таи и регистры и таймеры подробно описаны