logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AVR][bascom] rs-232 a port D

mpo 09 Gru 2009 18:40 1359 6
REKLAMA
  • #1 7366954
    mpo
    Poziom 12  
    Takie rozważania:
    Mam zamiar używać sprzętowego uart do połączenia z PC (czyli PD0 jako RxD i PD1 jako TxD).
    Jednocześnie pozostałe piny portu D chcę użyć do innych rzeczy - część jako wejścia a część jako wyjścia.
    I teraz pytanie:
    Czy muszę starannie omijać dwa najmłodsze bity konfigurując kierunki, pullup'y i zapisując wartości?
    Czy też nawet jak zrobię
    config portd=output
    PORTD=3

    to będzie później działać transmisja przez np print i inkey?
    W symulatorze niby działa, ale czy nie będzie kolizji kierunków?
  • REKLAMA
  • #2 7367205
    _Robak_
    Poziom 33  
    Jesli wlaczysz bity RXEN i TXEN, to nie ma znaczenia jakie kierunki na linii ustawisz.
  • REKLAMA
  • #3 7367273
    mpo
    Poziom 12  
    _Robak_ napisał:
    Jesli wlaczysz bity RXEN i TXEN, to nie ma znaczenia jakie kierunki na linii ustawisz.

    Czyli podsumowując, manipulacje na DDRD/PORTD będą wtedy ignorowane dla dwóch najmłodszych bitów (w sensie poziomów logicznych na nóżkach)?
  • #4 7367295
    _Robak_
    Poziom 33  
    Tak, w AVRach jest generalnie tak, ze jak wlaczasz jakies peryferia to przjmuje one kontrole nad odpowiadajacymi im pinami.
  • REKLAMA
  • #5 7367440
    mpo
    Poziom 12  
    OK - dziękuję za wyjaśnienie.

    Dodano po 2 [godziny] 44 [minuty]:

    Tak mnie jeszcze tknęło, bo czytam do poduszki notę katalogową mega8.
    Fragment odnośnie sprzętowego pwm:
    "...If one or both of the COM1B1:0 bit are written to one, the OC1B output overrides the normal port functionality of the I/O pin it is connected to. However, note that the Data Direction Register (DDR) bit corresponding to the OC1A or OC1B pin must be set in order to enable the output driver."

    Czyli jak to w końcu jest. Trzeba ustawiać kierunki dla nóżek z alternatywną funkcjonalnością, czy nie?
  • #6 7375754
    mpo
    Poziom 12  
    Nikt z guru od avr nie ma nic do dodania? :|
  • REKLAMA
  • #7 7375822
    kamyczek
    Poziom 38  
    _Robak_ napisał:
    Tak, w AVRach jest generalnie tak, ze jak wlaczasz jakies peryferia to przjmuje one kontrole nad odpowiadajacymi im pinami.

    Nie rozpędzaj się _Robak_ bo się o szybę zabijesz ;)
    W wielu przypadkach poza uartem trzeba konfigurować porty bo peryferia tego nie robią . Przykład :spi ;) generalizowanie nie może mieć miejsca bo w wielu przypadkach nawet zmiana układu musi nieść za sobą pewne zmiany programowe.
REKLAMA