Arduino UNO port D

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
LubosN
Příspěvky: 1
Registrován: 14 led 2018, 19:40
Reputation: 0

Arduino UNO port D

Příspěvek od LubosN » 14 led 2018, 19:48

mám na stole Arduino UNO a následující problém:
potřebuji číst paralelně celý port D, použil jsem instrukci DDRD a výsledek je stále nula bez ohledu na stav pinů.
Pokud čtu jednotlivé bity tohoto portu, tak je to v pořádku. Paralelní čtení se nedaří a nedaří...
věděl by někdo jak na to ?
děkuji
LN

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Arduino UNO port D

Příspěvek od pavel1tu » 14 led 2018, 20:36

Já o tom pouze četl.
1) všude se píše, že lze celý port načíst, nebo do něj zapsat
2) všechny příklady jsou pro zápis ... to jsem teď vyzkoušel, jak číst jsem nenašel ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: Arduino UNO port D

Příspěvek od ohruska » 15 led 2018, 03:23

Mě to funguje.

Kód: Vybrat vše

//Blikání ledky 13 je viditelne
void setup()
{
  Serial.begin(9600);
  DDRB = B11111111; // Nastaví set PORTD (digital 13~6) to outputs
 Serial.println(DDRB,BIN);
}
 
void loop()
{
  PORTB = B11110000; // digital 13~10 HIGH, digital 9~6 LOW
  delay(1000);
  Serial.println(PINB,BIN);//Nacte stav portu
 Serial.println(PINB,HEX); //Nacte stav portu
  PORTB = B00001111; // digital 13~10 LOW, digital 9~6 HIGH
   delay(1); //Je treba zadat preodlevu pro nactení přestavených portu
   Serial.println(PINB,BIN); //Nacte stav portu (bez prodlevy spatne)
  Serial.println(PINB,BIN); //Nacte stav portu
 Serial.println(PINB,HEX); //Nacte stav portu

  delay(1000);
  Serial.println(); 
}

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Arduino UNO port D

Příspěvek od pavel1tu » 15 led 2018, 15:37

Díky, asi je to tím, že te zkouším na PRO a ještě nějaký dost divný klon, prodleva musí být ještě delší a nastavoval jsem špatně verzi CPU, ach jo ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů