Работа с микрос. Вывод сигнала вдвое меньше длительности входящего сигнала
- Войдите на сайт для отправки комментариев
Втр, 26/03/2019 - 11:32
Здравствуйте! Подскажите чайнику...
Пытаюсь получить выход. сигнал вдвое меньше длительности входного.
#define but1 1
#define LED31 5
#define LED32 6
bool prevValue = 0;
bool prevValue2 = 0;
uint32_t timeRising;
uint32_t timeRising2;
uint32_t timeStart;
uint32_t loopTime;
void setup()
{
pinMode(LED31, OUTPUT);
pinMode(LED32, OUTPUT);
pinvode (but1, INPUT);
// timeRising = micros();
//loopTime = timeRising;
}
void loop()
{
{
if (prevValue == LOW && digitalRead(but1) == HIGH)
{
digitalWrite(LED31, HIGH);
timeRising = micros();
loopTime = timeRising;
prevValue = 1;
}
if (prevValue == 1 && (micros() - timeRising)>= (loopTime/2))
{
digitalWrite(LED31, LOW);
}
if (digitalRead(but1)== LOW && digitalRead(LED31)== LOW )
prevValue = 0;
loopTime =0;
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
спасибо))
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
hanapy, как показывается история, Вы умеете это делать. Значит, умышленно издеваетесь :)
Правильно ли я понял, что Вы включаете выходной сигнал одновременно с обнаружением входного, но закочить его хотите вдвое раньше, чем закончится входной? если так, то Вам нужна машина времени, чтобы узнать когда там в будущем входной закончится.
Или я что-то не понял? Тогда объясните толком.
Правильно ли я понял, что Вы включаете выходной сигнал одновременно с обнаружением входного, но закочить его хотите вдвое раньше, чем закончится входной? если так, то Вам нужна машина времени, чтобы узнать когда там в будущем входной закончится.
Или я что-то не понял? Тогда объясните толком.
получается никак? Вы, меня правильно поняли.
получается никак? Вы, меня правильно поняли.
есть такой тип генераторов " с пред установкой" - если нам известно поведение сигнала ( ШИМ ) делаем предустановку длительности и корректирем следующее значение по прадыдущему. первая ошибка - при несовпадении длительности первого сигнала с предустановкой (невозможно спрогнозировать). Вторая ошибка (регулярная) если сигнал имеет некую известную функцию, его можно предсказать и ошибку можно посчитать. Третья ошибка - если ШИМ модулируется по закону гармонического сигнала (SIN или COS, кому что нравится) ошибка минемальна (сигма-дельта модуляция)