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

+1.5V przy stanie niskim "0" [ATmega8]

I.T.I 30 Maj 2009 11:12 2148 13
REKLAMA
  • #1 6593208
    I.T.I
    Poziom 16  
    Witam mam problem napisałem program który ma sczytywać z portów cyfrowych atmegi8 stany jakie się akurat na niej znajdują 1 i 0 i tu pojawił się problem gdy w programie zdefiniuje jaki stan ma być na samym początku to przy stanie wysokim jest wszystko ok (zawsze ok 5V) a gdy chce ustalić stan niski to mam na pinie 1.5V nie było by to problemem gdyby nie to ze program kwalifikuje to jako stan wysoki i zaczyna się gubić
    i teraz mam do was pytanie jak tego się pozbyć (rezystorem do masy?) czy może być to powodem uszkodzenia mikro kontrolera??

    Pozdrawiam Mateusz I_T_I

    aha tak zaczyna się program
                       $regfile = "m8def.dat"
        $crystal = 1000000
    
           Config Portb = &B00001111
                 Portb = &B01110000 

    No i na pinb.7 mam te nieszczęśliwe 1.5V
  • REKLAMA
  • #3 6593329
    _Robak_
    Poziom 33  
    I.T.I napisał:
    napisałem program który ma szczytować


    Ciekawy program ;)

    Czegos nie rozumiem, skoro chcesz zczytywac stan portu to po kiego grzyba go ustawiasz?

    Jesli ustawisz rejetrem DDR port jako wejscie, to przez zmiane stanow rejestru PORTn zmieniasz czy jest pull-up czy nie. Zakladam ze config port zmienia stan rejetru DDRn, a komenda portb zmieniasz stan rejetru PORTB
  • REKLAMA
  • #4 6593381
    I.T.I
    Poziom 16  
    Config Portb = &B00001111
    Portb = &B01110000

    Oznacza to tyle ze
    Config Portb = &B00001111 ustawia cześć portów jako wejścia a cześć jako wyjścia równie dobrze mogłem użyć Komedy "input" ale nie wszystkie porty maja być takie
    A to drugie Portb = &B01110000 ustawia stan początkowy portów wiec w konfiguracji portów jest wszystko dobrze.

    Aha _Robak_ no co chciałem coś innowacyjnego zrobić :p (już poprawiłem)

    Ps. Język jak widzicie bascom
  • #5 6593599
    _Robak_
    Poziom 33  
    Widze ze nie przeczytales tego co napisalem!!
    Skoro ustawisz port jako wejscie to poleceniem Portb = &B01110000, wcale nie ustawisz wartosci poczatkowych (dla pinow ustawionych jako wejscie).
  • #6 6593735
    I.T.I
    Poziom 16  
    Jako wejścia ustawia się poleceniem "CONFIG PORTB = &B00000111" z czego 1 to jest wyjście a 0 to wejście!!

    A jak jesteś tak dumny ze nie uwierzysz w moje słowo to przeczytaj to
    dobre dla początkujących http://www.elportal.pl/ea/prog001.html

    Aha i jeszcze jedno. Pytanie brzmiało czy to ze na pinie w stanie niskim 1.5V jest normalne i jak się tego pozbyć!

    Wciąż nie wiem czy to jest normalne ale już sobie z tym poradziłem dałem porostu rezystor pomiędzy ten pin a masę.

    Kurde szkoda ze nie mogę sobie dać pomógł :P
  • REKLAMA
  • #7 6593970
    Konto nie istnieje
    Poziom 1  
  • #8 6594058
    I.T.I
    Poziom 16  
    To jak się ustawia na mała impedancje?
  • #9 6594073
    Konto nie istnieje
    Poziom 1  
  • #10 6594105
    janbernat
    Poziom 38  
    np.
    set portB.7
    lub:
    Portb.7=1
    I nie jest to "mała impedancja" ale podciąganie do + zasilania przez wewn. opornik 20-60kOhm.
  • #11 6594478
    Karol966
    Poziom 31  
    I.T.I napisał:
    Jako wejścia ustawia się poleceniem "CONFIG PORTB = &B00000111" z czego 1 to jest wyjście a 0 to wejście!!


    Skoro to bascom to wygodniej i bardziej zrozumiale jest napisać:

    Config Pind.7 = Input 
    Config Portc = Output
  • #12 6594617
    janbernat
    Poziom 38  
    Bo w AVR (nie tylko w Bascomie-ale w ogóle w AVR-pin(port) ustawiamy:
    wyjście:
    np. Config portB=output
    I stan:Np.niski(0)
    PortB=0
    lub:
    Config portB=input
    I teraz:
    Otwarte(pływające) wejście(domyślnie)
    I wtedy jak zbliżysz rękę do procesora to może "zwariować"
    PortB=0

    lub:
    PortB=&hFF
    Rezystory podciągające do +zasilania włączone.
  • REKLAMA
  • #13 6594841
    _Robak_
    Poziom 33  
    Schowam moja dume do kieszeni i napisze tak prosto jak sie da :>
    Jak ustawiasz jakis pin jako wyjscie, to owszem mozesz sterowac stanem (niskim lub wysokim). Jesli natomiast ustawisz pin jako wejscie to nie masz mozliwosci ustawic jak ty to nazwales "stanow poczatkowych", bo rejestrem, ktorym w poprzednim przypadku sterowales 1/0, teraz sterujesz czy wejscie ma wisiec w powietrzu czy ma byc podciagniete do plusa. A to co ty zrobiles to jest pull-down, tego avry niestety nie maja w osprzecie. Ahh szkoda ze sam nie moge sobie dac pomogl <dumny> ;)
  • #14 6595055
    janbernat
    Poziom 38  
    _Robak-nie chowaj nic.
    http://www.elportal.pl/ea/prog001.html
    Tam nic nie napisano o konfiguracji wejść.
    A tam są jakieś oporniki....
    To jest jednak jeszcze portal dla elektroników-a nie tylko dla informatyków.

    Dodano po 39 [sekundy]:

    Ew. programistów.
REKLAMA