На старом форуме нашел тему “Генератор с регулируемой частотой на ардуино” от 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 Мгц
поставь мощность поменьше
На рации?
А где еще? ))
А рация на танке!)
На бронепоезде же ))
Значит мощность бронепоезда нужно уменьшать! «Лэ» - «логика» ))))
А можно выход на другой PIN сделать. Пробовал менять на 10, и11 ногу, на выходе нет ничего?
Нога жестко привязана к таймеру.
Спасибо.