RTV forum PL | NewsGroups PL

Jakie opóźnienie

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie opóźnienie

Michal M. Lechanski
Guest

Thu Sep 05, 2019 5:34 pm   



Arduino Uno, Nano, taka sytuacja:

pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(12, LOW);
delay(1000);

digitalWrite(11, HIGH);
digitalWrite(12, HIGH);

jakiego opóźnienia powinienem się spodziewać pomiędzy ustawieniem pinu
11 i 12 na poziom wysoki? Czy to opóźnienie będzie takie samo jeśli
zmiana będzie z poziomu wysokiego na niski? Czy to opóźnienie będzie
takie samo dla wszystkich pinów? Czy jest jakiś sposób żeby oba piny
zmieniły swój poziom dokładnie w tym samym czasie? Nie bardzo wiem o co
pytać google.

Podpowiecie? Z góry dziękuję.

--
Michał

t-1
Guest

Thu Sep 05, 2019 6:49 pm   



W dniu 2019-09-05 o 19:34, Michal M. Lechanski pisze:
Quote:
Arduino Uno, Nano, taka sytuacja:

pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(12, LOW);
delay(1000);

digitalWrite(11, HIGH);
digitalWrite(12, HIGH);

jakiego opóźnienia powinienem się spodziewać pomiędzy ustawieniem pinu
11 i 12 na poziom wysoki? Czy to opóźnienie będzie takie samo jeśli
zmiana będzie z poziomu wysokiego na niski? Czy to opóźnienie będzie
takie samo dla wszystkich pinów? Czy jest jakiś sposób żeby oba piny
zmieniły swój poziom dokładnie w tym samym czasie? Nie bardzo wiem o co
pytać google.

Podpowiecie? Z góry dziękuję.



Tu jest dyskusja na temat:
https://forum.arduino.cc/index.php?topic=41046.0
Piszą o 2 mikrosekundach.

Programowego sposobu na jednoczesną zmianę stanów wyjść raczej nie ma.
Można natomiast zastosować układ opóźniający (np. jakieś rc i bramkę
schmitta) na pierwszym wyjściu.

Guest

Thu Sep 05, 2019 8:49 pm   



Michal M. Lechanski <michal@doriath.eu> wrote:
Quote:
Arduino Uno, Nano, taka sytuacja:

pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(11, LOW);
delay(1000);
digitalWrite(12, LOW);
delay(1000);

digitalWrite(11, HIGH);
digitalWrite(12, HIGH);

jakiego op??nienia powinienem si? spodziewa? pomi?dzy ustawieniem pinu
11 i 12 na poziom wysoki? Czy to op??nienie b?dzie takie samo je?li
zmiana b?dzie z poziomu wysokiego na niski? Czy to op??nienie b?dzie
takie samo dla wszystkich pin?w?

Kilkadziesiat taktow zegara. digitalWrite zawiera sporo kodu
jak na tak prosta operacje i wyknoanie trwa. Roznice HIGH/LOW
beda stosunkowo male.

Quote:
Czy jest jaki? spos?b ?eby oba piny
zmieni?y sw?j poziom dok?adnie w tym samym czasie? Nie bardzo wiem o co
pyta? google.

Tak, zamiast procowac z pinami trzeba dzialac na porcie. Niestety
zamiast gotowca Arduino trzeba pracowac bezposrednio z procesorem.

Jak chcesz wiedziec co mozna to Google: Atmega328 datasheet
(pare lat temu dzialalo). Datasheet malo powaga w pisaniu
kodu, ale wrzucajac np. nazwy rejestrow do Google dostaniesz
przyklady.

--
Waldek Hebisch

Grzegorz Niemirowski
Guest

Thu Sep 05, 2019 9:09 pm   



t-1 <t-1@todlaspamu.pl> napisał(a):
Quote:
Programowego sposobu na jednoczesną zmianę stanów wyjść raczej nie ma.
Można natomiast zastosować układ opóźniający (np. jakieś rc i bramkę
schmitta) na pierwszym wyjściu.

Piny 11 i 12 są na jednym porcie więc można ich stan zmienić jednocześnie.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

Queequeg
Guest

Mon Sep 09, 2019 7:08 pm   



t-1 <t-1@todlaspamu.pl> wrote:

Quote:
Programowego sposobu na jednoczesną zmianę stanów wyjść raczej nie ma.

Jest, jesli tylko piny sa na jednym porcie. Zmiana stanu to AND lub OR na
masce, a nie trzeba przeciez maskowac tylko jednego bitu.

--
https://www.youtube.com/watch?v=9lSzL1DqQn0

Michal M. Lechanski
Guest

Mon Sep 09, 2019 7:13 pm   



W dniu 05.09.2019 o 18:34, Michal M. Lechanski pisze:

Quote:
Nie bardzo wiem o co
pytać google.

Podpowiecie? Z góry dziękuję.

Dziękuję za wszystkie odpowiedzi, znów się czegoś nauczyłem.

--
Michał

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie opóźnienie

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map