"Терминальная" версия генератора от dimax

На старом форуме нашел тему “Генератор с регулируемой частотой на ардуино” от dimax.
Заинтересовала версия для терминала (сообщение №22), но хотелось бы ещё менять скважность. Обращаюсь к @dimax - можно ли добавить возможность изменения скважности в эту версию?
Благодарю заранее!

В этом скетче скважность 50% так как используется toggle mode.

Komandir, я разбираюсь только в командах ардуино, поэтому и спросил. Как мне изменить скеч, чтобы сразу в нём прописать нужную скважность? Отправлять командой через терминал не нужно.


void setup() {
Serial.begin(9600);
pinMode (9,OUTPUT); // выход генератора
TCCR1A=0;TCCR1B=0;
}
void loop() {
static uint32_t reqfreq=0; //переменная запроса частоты
uint32_t ocr=OCR1A;  uint16_t divider=1;  float freq; 
if (Serial.available() > 0){ reqfreq = Serial.parseInt(); 
if (reqfreq==0 || reqfreq>F_CPU/2) {return;}
 ocr = (F_CPU / reqfreq /2 /divider); 
  byte shifts[] = {3,3,2,2};
   for(byte i = 0; i < 4; i++){
     if (ocr > 65536) { divider <<= shifts[i];
       ocr = F_CPU / reqfreq /2 /divider; }
      else { TCCR1B = (i+1)|(1<<WGM12);  break; }  } //Mode4 (CTC)
     OCR1A=ocr-1; TCCR1A=1<<COM1A0;
    freq= (float) F_CPU/2 / (OCR1A+1) /divider;
  if (freq <10000) { Serial.print(freq,1);Serial.println(" Hz "); }
 if (freq >=10000) { Serial.print(freq/1000,3);Serial.println(" kHz");}
 }
}

Ответили же - никак в toggle mode скважность не задается. На хардварном уровне она “сформирована” в 50%.

Прочитать даташит и переписать под другой режим таймера.

Генератор на stm32, версия 3.5 by Dimax, подскажите что может быть- в режиме частотомерa не важно на каком входе ( hv или in) подношу антенну рации к щупу,чтобы замерить частоту дисплей становится белого цвета и виснет прибор,до перезагрузки ведь указано что предел 433 Мгц

поставь мощность поменьше

На рации?

А где еще? ))

А рация на танке!)

1 лайк

На бронепоезде же ))

1 лайк

Значит мощность бронепоезда нужно уменьшать! «Лэ» - «логика» ))))