с каких выводов снимать сигнал на ардуино уно?

Алексей911
Offline
Зарегистрирован: 04.11.2016

Joiner, генератор для тини13 не на быдлокоде  :-)

1 void setup() {
2 DDRB|=(1<<PB0)|(1<<PB1); //PB1,0- OUTPUT mode
3 TCCR0A=(1<<COM0B0)|(1<<COM0A0)|(1<<WGM01); // CTC mode, OC0A OC0B toggle enable
4 TCCR0B=(1<<FOC0A)|(1<<CS01); //divider=8
5 OCR0A=23;
6 }
7 void loop() {}

Выходы PB0 и PB1 дают сигнал в противофазе. Таймер  настроен в режим сброс по совпадению (СТС) , регистром OCR0A задаётся рабочая частота. Скважность в данном режиме регулировать невозможно, она всегда 50% Частота рассчитывается так:  тактовая частота контроллера F_CPU /2 / divider/ (OCR0A+1) для тактовой 9,6МГц с данными параметрами получится примерно 25кГц. Если в 4 строке поменять CS01 на CS00 то делитель будет =1, и будут доступны выходные частоты вплоть до F_CPU/2

ARDUINO-UNO-R3-WZE.jpg

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014