Генератор

Oleg_inc
Offline
Зарегистрирован: 30.12.2019

Доброго времени суток, уважаемые форумчане. Делаю не крупный проект и столкнусля с проблемой генератора. При изменении длинны программы или при долгом обмене данными частота генератора плывет. Нужна помощь с написанием генератора с применением аппаратного таймера. Если не сложно сможете накидать программу которая будет генерировать логическую единицу и ноль в переменную типа bool, с равной скважностью и заданной частотой (или периодом) в переменной типа long. Я данный пример прикручу с своему коду. Зарание огромное спасибо

-NMi-
Offline
Зарегистрирован: 20.08.2018

Oleg_inc пишет:

Если не сложно сможете накидать программу которая будет генерировать логическую единицу и ноль в переменную типа bool.

Зарание огромное спасибо

Смогу! Где, когда и куда кидать???

Oleg_inc
Offline
Зарегистрирован: 30.12.2019

Можете тут, на форуме выложить.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

-NMi- пишет:

Смогу! Где, когда и куда кидать???

Уже накидал? А то я в очередь хочу стать.

Oleg_inc
Offline
Зарегистрирован: 30.12.2019

Увы нет.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Оно и не удивительно....

vvadim
Offline
Зарегистрирован: 23.05.2012

вам видно было лень прочитать первый пост раздела.
прочитайте его и потом по новой сформулируйте свою просьбу.
иначе кроме стёба нифига не получите.

 

http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Oleg_inc пишет:
Увы нет.
Ну, в общем я эта ... за ним в очереди.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

ua6em пишет:

там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...

Чего? Уже отмечать начал? :-)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Ворота пишет:

ua6em пишет:

там было переменную 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;
      }
} 



 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Ворота пишет:

ua6em пишет:

там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...

Чего? Уже отмечать начал? :-)

уже отметил, а код ТС видимо не нужен был, не надо было метать бисер видимо )))

Oleg_inc
Offline
Зарегистрирован: 30.12.2019

ua6em пишет:

Ворота пишет:

ua6em пишет:

там было переменную 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?

Oleg_inc
Offline
Зарегистрирован: 30.12.2019

ua6em пишет:

Ворота пишет:

ua6em пишет:

там было переменную bool в переменной long... то-есть нужна инкапсуляция данных...

Чего? Уже отмечать начал? :-)

уже отметил, а код ТС видимо не нужен был, не надо было метать бисер видимо )))

Сильно извиняюсь что не оформил по рекомендациям из поста 1 (прочел его позднее чем написал свою просьбу)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

да