Вход - выход

Тед
Пт 24 августа 2018 г. 14:04
Привет
Вход - выход
Я пытаюсь иметь те же импульсы на PIN PA7, что и на PB12.
Никаких импульсов на PA7, что я делаю не так ?
int state = LOW; int lastState = LOW; void setup() { pinMode(PB12, INPUT); pinMode(PB7, OUTPUT); state = digitalRead(PB12); } void loop() { if (state == HIGH ) //if (state == HIGH && lastState == LOW) digitalWrite (PB7, HIGH); else digitalWrite (PB7, LOW); //delay(300); }

ZMEMW16
Пт 24 августа 2018 г. 14:08
Ваш текст говорит PA7, ваш код говорит PB7 ?

// LastState - он устанавливается, но что это меняет ? отсутствующий > LastState = состояние; < я дух

Тед
Пт 24 августа 2018 г. 14:13
Исправление в текст - PB7

Тед
Пт 24 августа 2018 г. 14:27
Я сделал это, все еще ничего на PB7
int state = LOW; int lastState = LOW; int State; void setup() { pinMode(PB12, INPUT); pinMode(PB7, OUTPUT); state = digitalRead(PB12); lastState = State; } void loop() { if (state == HIGH ) //if (state == HIGH && lastState == LOW) digitalWrite (PB7, HIGH); else digitalWrite (PB7, LOW); //delay(300); }

Эдогальдо
Пт 24 августа 2018 г. 14:31
Как насчет чтения государства в цикле?!

Тед
Пт 24 августа 2018 г. 14:36
if (state == HIGH )

Эдогальдо
Пт 24 августа 2018 г. 14:39
void setup() { pinMode(PB12, INPUT); pinMode(PB7, OUTPUT); } void loop() { digitalWrite(PB7, digitalRead(PB12)); }

Тед
Пт 24 августа 2018 г., 14:50
Отлично, спасибо.
Теперь я попробую с задержкой для достижения фазового сдвига

Тед
Пт 24 августа 2018 г., 15:14
К сожалению, задержка не работает с вами решением. void setup() { pinMode(PB12, INPUT); pinMode(PB7, OUTPUT); } void loop() { // digitalWrite(PB7, digitalRead(PB12)); digitalWrite(PB7); delay (30 ); digitalRead(PB12)); //delayMicroseconds(50); //delay (30 ), }

Эдогальдо
Пт 24 августа 2018 г. 15:59
Тед, вы должны хотя бы попытаться сделать компилирующий код..
что это значит "DigitalWrite (PB7);"? Что ты пишешь в PB7?!
И знаете ли вы, что языки программирования обычно требуют уравновешивания скобков? "DigitalRead (PB12));": у вас есть одна открытая скобка и 2 близких..
Наконец, реализация сдвига фазы сигнала не является тривиальным: требует от вас сохранить значение чтения в буфере и прочитать его после того, как задержка не произойдет, но вы не должны использовать задерживать() функция, иначе вы не сможете продолжать читать вход в ожидании задерживать() заканчивается..

Тед
Пт 24 августа 2018 г., 18:13
Спасибо за объяснения, я подумал, что нашел простой способ сделать фазовый переключатель

Амплитуда генератора

STM32F103 BPSK