Генератор
- Войдите на сайт для отправки комментариев
Пнд, 30/12/2019 - 12:20
Доброго времени суток, уважаемые форумчане. Делаю не крупный проект и столкнусля с проблемой генератора. При изменении длинны программы или при долгом обмене данными частота генератора плывет. Нужна помощь с написанием генератора с применением аппаратного таймера. Если не сложно сможете накидать программу которая будет генерировать логическую единицу и ноль в переменную типа bool, с равной скважностью и заданной частотой (или периодом) в переменной типа long. Я данный пример прикручу с своему коду. Зарание огромное спасибо
Если не сложно сможете накидать программу которая будет генерировать логическую единицу и ноль в переменную типа bool.
Зарание огромное спасибо
Смогу! Где, когда и куда кидать???
Можете тут, на форуме выложить.
Смогу! Где, когда и куда кидать???
Уже накидал? А то я в очередь хочу стать.
Увы нет.
Оно и не удивительно....
вам видно было лень прочитать первый пост раздела.
прочитайте его и потом по новой сформулируйте свою просьбу.
иначе кроме стёба нифига не получите.
http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov
там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
Чего? Уже отмечать начал? :-)
там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
Чего? Уже отмечать начал? :-)
я уже и написал )))
Строка 18, дополняй как хочешь, хочешь bool, хочешь long, главное чтобы и хотелось и моглось
/******************* ИНКАПСУЛЯЦИЯ ********************/ void start_Strob(){ pinMode(PIN_STROB,OUTPUT); attachInterrupt(1, Strob RISING ); analogWrite(pinINT1,0x80); //установим на пине частоту //490 гц скважность 2 } void stop_Strob(){ detachInterrupt(1); digitalWrite(PIN_STROB,LOW); } void Strob(void){ static int i=490/zFreq; if(!i--) { digitalWrite(PIN_STROB, ! digitalRead(PIN_STROB)); i=490/zFreq; } }там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
Чего? Уже отмечать начал? :-)
уже отметил, а код ТС видимо не нужен был, не надо было метать бисер видимо )))
там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
Чего? Уже отмечать начал? :-)
я уже и написал )))
Строка 18, дополняй как хочешь, хочешь bool, хочешь long, главное чтобы и хотелось и моглось
/******************* ИНКАПСУЛЯЦИЯ ********************/ void start_Strob(){ pinMode(PIN_STROB,OUTPUT); attachInterrupt(1, Strob RISING ); analogWrite(pinINT1,0x80); //установим на пине частоту //490 гц скважность 2 } void stop_Strob(){ detachInterrupt(1); digitalWrite(PIN_STROB,LOW); } void Strob(void){ static int i=490/zFreq; if(!i--) { digitalWrite(PIN_STROB, ! digitalRead(PIN_STROB)); i=490/zFreq; } }Огромное спасибо что откликнулись, правильно понимаю что частота задается изменением i?
там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...
Чего? Уже отмечать начал? :-)
уже отметил, а код ТС видимо не нужен был, не надо было метать бисер видимо )))
Сильно извиняюсь что не оформил по рекомендациям из поста 1 (прочел его позднее чем написал свою просьбу)
да