eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaOdczyt stanu wejścia w ATmega8 i opóźnienie
Ilość wypowiedzi w tym wątku: 7

  • 1. Data: 2010-06-24 11:39:23
    Temat: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: slawek7 <s...@w...pl>

    Ma do Was prosbę.
    W dokumentacji ATmega8 w rozdziale dotyczacym portów I/O jest taki
    fragment mówiący o odczycie stanu wejścia.
    Na stronie 52 piszą, że odczyt stanu rejestru PIN powinien byc
    poprzedzony pewnym opóźnieniem np instrukcją nop.

    Możecie mi wytłumaczyc o co chodzi. Jest to jakas synchronizacja, ale
    czy dotyczy to całego portu, czy tylko danego w danym porcie, czyli np
    w porcie D pin 7?


  • 2. Data: 2010-06-24 14:18:47
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: Michoo <m...@v...pl>

    slawek7 pisze:
    > Ma do Was prosbę.
    > W dokumentacji ATmega8 w rozdziale dotyczacym portów I/O jest taki
    > fragment mówiący o odczycie stanu wejścia.
    > Na stronie 52 piszą, że odczyt stanu rejestru PIN powinien byc
    > poprzedzony pewnym opóźnieniem np instrukcją nop.
    >
    > Możecie mi wytłumaczyc o co chodzi. Jest to jakas synchronizacja, ale
    > czy dotyczy to całego portu, czy tylko danego w danym porcie, czyli np
    > w porcie D pin 7?
    When *reading back* a *software assigned* pin value, a nop instruction
    must be inserted as indicated in Figure 24.

    Czego nie rozumiesz w tym zdaniu?

    --
    Pozdrawiam
    Michoo


  • 3. Data: 2010-06-24 17:20:11
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: slawek7 <s...@w...pl>

    No właśnie tego zdania!!
    Czy chodzi o cały port czy konkretny pin portu, przykład: Ustawiam
    PORTD.4=1 a odczytuje PIND.2, czy należy wstawić instrukcje nop?


  • 4. Data: 2010-06-24 17:41:50
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: "Marcin Wasilewski" <j...@a...pewnie.je.st>

    Użytkownik "slawek7" <s...@w...pl> napisał w wiadomości
    news:ccbdd0a4-f315-43c1-b6f6-c96801adfd6b@q12g2000yq
    j.googlegroups.com...
    > No właśnie tego zdania!!
    > Czy chodzi o cały port czy konkretny pin portu, przykład: Ustawiam
    > PORTD.4=1 a odczytuje PIND.2, czy należy wstawić instrukcje nop?

    Nie trzeba. Jedynie we właśnie ustawionym pinie w nast. cyklu mógłbyś
    otrzymać nieaktualny odczyt.


  • 5. Data: 2010-06-24 19:51:00
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: Michoo <m...@v...pl>

    slawek7 pisze:
    > No właśnie tego zdania!!
    > Czy chodzi o cały port czy konkretny pin portu, przykład: Ustawiam
    > PORTD.4=1 a odczytuje PIND.2, czy należy wstawić instrukcje nop?

    Nieaktualne jest to co zapisałeś więc jak są to różne piny to nie ma
    problemu.

    --
    Pozdrawiam
    Michoo


  • 6. Data: 2010-06-26 14:13:38
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: slawek7 <s...@w...pl>

    A wiecie dlaczego o to pytałem.
    Bo wpadła mi do rąk książka "AVR i ARM7 programowanie mikrokontrolerów
    dla każdego" wyd. Helion i tam jest przykład odczytu klawiatury 4x4.
    Autor (dr inż.) wpisuje na PORTD.2 i 3 stany wysokie a odczytuje linię
    PIND.0 i 1 i przed odczytem pisze ze musi byc instrukcja nop.
    Pisze coś takiego
    "Dokumentacja ATmega8 podaje że stabilizacja stanu wejścia wymaga
    około jednego taktu zegara. chodzi o to że stany bitów PORTx są
    kopiowane do rejestru PINx a poprawne wykonanie tej operacji wymaga
    jednego taktu zegara."

    Kompletnie nie wioem o co tu chodzi, nic nie wyjaśnił, jest tylko
    przykład jak podaem z odczytem klawiatury i ten cytowany krótki
    komentarz.
    Wytłumaczcie jak możecie co jest grane?


  • 7. Data: 2010-06-26 16:21:03
    Temat: Re: Odczyt stanu wejścia w ATmega8 i opóźnienie
    Od: Michoo <m...@v...pl>

    slawek7 pisze:
    > "Dokumentacja ATmega8 podaje że stabilizacja stanu wejścia wymaga
    > około jednego taktu zegara. chodzi o to że stany bitów PORTx są
    > kopiowane do rejestru PINx a poprawne wykonanie tej operacji wymaga
    > jednego taktu zegara."
    >
    > Kompletnie nie wioem o co tu chodzi, nic nie wyjaśnił, jest tylko
    > przykład jak podaem z odczytem klawiatury i ten cytowany krótki
    > komentarz.
    > Wytłumaczcie jak możecie co jest grane?
    W uproszczeniu:
    Jak wystawiasz coś na port to najpierw jest ta wartość zapisywana do
    rejestru wyjściowego (PORTx).
    Na początku cyklu pracy stan wejść jest kopiowany do rejestru
    wejściowego (PINx) a wyjścia są ustawiane wg wartości z PORTx. Sam stan
    zmienia się równolegle z wykonywaniem kolejnej instrukcji.

    Dlatego w przypadku klawiatury, gdzie jak rozumiem 0,1 to wiersze a 2,3
    to kolumny, musisz poczekać aż wartość z PORTx.2 zostanie użyta do
    ustawienia wyjścia - prąd popłynie przez przycisk i zmieni stan na
    wejściu, który zostanie umieszczony w rejestrze PINx.0 na początku
    kolejnej instrukcji.

    --
    Pozdrawiam
    Michoo

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: