Нужна оценка скетча
- Войдите на сайт для отправки комментариев
Вс, 23/06/2019 - 21:07
Задача - умножить частоту импульсов в 1.2 раза . Применяться будет для изменения (уменьшения) оборотов эл.двигателя вентилятора кондея (внутренний блок) путем подмены импульсов от таходатчика двигателя
01 |
volatile unsigned int icr_tic; |
02 |
volatile unsigned int int_tic; |
03 |
volatile unsigned long tic; |
04 |
void setup (){ |
05 |
Serial .begin(9600); |
06 |
pinMode (4,INPUT); // вход сигнала |
07 |
pinMode (5,OUTPUT); // выход сигнала (PC6) |
08 |
//настройка 16 бит таймера-счётчика 1 |
09 |
TCCR1B = 0; TCCR1A = 0; TCNT1 = 0; |
10 |
TIMSK1 = (1<<ICIE1)|(1<<TOIE1); //создавать прерывание от сигнала на пине ICP1 |
11 |
TCCR1B = (1<<ICNC1)|(1<<ICES1)|(1<<CS10); //div 1 |
12 |
//настройка 16 бит таймера-генератора 2 |
13 |
TCCR3A=0; TCCR3B=(1<<WGM32)|(1<<CS30); //div1 CTC |
14 |
TIMSK3=1<<OCIE3A; //прерывание по переполнению OCR3A |
15 |
} |
16 |
17 |
ISR (TIMER1_CAPT_vect) { //прерывание захвата сигнала на входе ICP1 |
18 |
TCNT1 = 0; icr_tic=ICR1; |
19 |
tic= ((uint32_t)int_tic<<16) | icr_tic; //подсчёт тиков |
20 |
int_tic=0; } |
21 |
22 |
ISR (TIMER1_OVF_vect) { int_tic++; } //прерывания счёта по переполнению uint |
23 |
ISR (TIMER3_COMPA_vect) { //прерывание счёта тактов и управления выходом |
24 |
static volatile unsigned long temp_ocr=tic/2.4; |
25 |
if (temp_ocr <= 65535) { OCR3A=temp_ocr;PORTC^=(1<<6);temp_ocr=tic/2.4; return ;} |
26 |
if (temp_ocr > 65535) {OCR3A=65535; temp_ocr=temp_ocr-65535;} |
27 |
} |
28 |
|
29 |
void loop (){ |
30 |
} |
взято отсюда - http://arduino.ru/forum/programmirovanie/umnozhenie-chastoty-impulsov-v-26-raza
А нужно-то что? Оценить качество скетча для работы с таймерами от dimax?
Немного здесь найдётся людей, которые за это возьмутся (а те, что возьмутся - по большей части лучше бы не брались). Для меня, например, сочетание "dimax-таймеры" - это брэнд и оценивать его у меня ещё оценялка не выросла.
Вы хоть скетч научитесь правильно вставлять, прежде, чем таких спецов оценивать.
В итоге мне нужно получить при 40Гц входящего импульса 48Гц на выходе . Оценить имелось ввиду на работоспособность , а не на качество .
А нужно-то что? Оценить качество скетча для работы с таймерами от dimax?
Немного здесь найдётся людей, которые за это возьмутся (а те, что возьмутся - по большей части лучше бы не брались). Для меня, например, сочетание "dimax-таймеры" - это брэнд и оценивать его у меня ещё оценялка не выросла.
Вы хоть скетч научитесь правильно вставлять, прежде, чем таких спецов оценивать.
что же так сразу, вспомните как в старом анекдоте про роддом...вы гинеколог...нет слесарь...но посмотреть могу...
где взято там и спрашивайте, зачем параллельные темы плодить, ладно бы еще сами что-то написали, а то копипаст...
добавлено: в той теме есть ответы на ваш вопрос. можно конечно все ответы стого топика сюда скопировать но зачем, зачем изначально создавать параллельную тему...