Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom - brak stanów na pinach ustawionych jako wejście(a)

14 Gru 2012 00:46 1479 6
  • Poziom 16  
    Witam. Nie pisał bym tutaj żeby nikomu nie zawracać głowy , ale mam trochę kłopotliwy problem. Dodam jeszcze że szukałem pond 2-wa tygodnie na necie odpowiedzi na moje pytanie , ale bez skutku więc proszę kolegów - koleżanki o pomoc i wyrozumiałość bo ja już nie wiem co mam robić. Dodam jeszcze że miałem kiedyś pełną wersje bascoma i nie miałem żadnych problemów , ale niestety , bascoma zgrałem na dysk a płytę pożyczyłem - dobry zwyczaj nie pożyczaj :/. Pewnego wieczoru podczas naprawy kompa koleżańce podłączyłem swój dysk (przez mostek na usb) i stało się - poszły zenerki w zasilaczu i spalił mi się dysk - odzysk danych - 3000zł - szok. Teraz z braku bascoma pobrałem wersje demo i to kilka wersji i co i wielka lipa. Problem mój jest taki że ustawiając poszczególne piny - porty jako wejście(a) , mam stan nieokreślony - w żaden sposób nie mogę wymusić na pinie - porcie stanu wysokiego lub niskiego. Próbowałem różnych metod , ale nic nie działa - wogule nie reaguje na "set portx lub portx,y" ; "reset portx lub portx,y" ; "portx = &B00000000 lub &B11111111" ; "portx = 0 lub 1" ; "pinx,y = 0 lub 1" ; "portx = 0 lub 255" ; "pinx,y = 0 lub 255". Gdy port - pin jest(są) ustawiony(e) jako wyjście to bez problemu mogę podać stan niski lub wysoki. Myślę że porty są sprawne ponieważ napisałem proste programiki - lcd działa na wszystkich portach - ledy (migają) na wszystkich portach - nie działa jeden gdzie do portu A0 jest podłączona dioda led(podciąganie jest) , a do portu D7 podłączony jest przycisk którym po przyciśnięciu powinna się zapalić dioda led (ale niestety na przycisku brak jest podciągania ponieważ ustawiony jest pin D7 jako wejście. Próbowałem też "podciągnąć" piny - porty rezystorami zewnętrznymi 10k , ale bez rezultatu. Do testów do portów podłączałem próbnik stanów logicznych , ale jak wspomniałem "podciągania" są tylko jeśli się ustawi port jako wyjście. Jeszcze raz wspomnę że na pełnej wersji nie miałem żadnych problemów - proszę o pomoc ponieważ muszę napisać szybko kilka programów(do moich celów-domowych) - jeżeli to możliwe to bym prosił o pełną wersje bascoma (wiem że nikt nie chce udostępniać bo czytałem na elce , ale spytać zawsze warto)nie chcę kupować ponieważ już raz kupiłem i wszystko przepadło. Jeżeli nikt nie będzie chciał udostępnić pełnej wersji bascoma to bym prosił o wersje demo ale taką przetestowaną przez użytkowników elektrody - taką która działa w 100%. Acha do wiadomości - testowałem na atmedze 8 , 16 , 32.
  • Poziom 35  
    Coś to dziwnie brzmi... Taka zbieżność przypadków, że na trzech mikroprocesorach nie da rady?

    Przypomnę (nie żebym ci zarzucał, że pozapominałeś, ale to częste):

    Code:
    Config  Portx = Output / Input      lub       Config Pinx.x = Output / Input


    czy aby na pewno stosujesz te instrukcje?
    Code:

    'Ustawienie jako wejście pinu pind.2:

    Config pind.2 = Input
    set portd.2 (podciąganie)
    If pind.2 = 0 then .....
    End if


    Spróbuj bez ustawiania całego portu, ustaw pojedynczy pin według podanego powyżej schematu, może coś zadziała. Jeśli nie, to musi być wina kompilatora.
  • Poziom 16  
    Jeżeli chodzi o konfiguracje pinów - portów jako wejście - wyjście to wiem co i jak - fakt , że zdarza się pomylić nawet największym "orłom" , ale ja próbowałem już wszystkiego. Do konfiguracji pinów - portów używałem poleceń "config portx = input lub output" ; "config pinx,y = input lub output" ; "config portx = 0 lub 1" ; "config pinx,y = 0 lub 1" ; "config portx = 0 lub 255" ; "config pinx,y = 0 lub 255" ; " config port = &B00000000 lub &B11111111" - wiem co to wejście a co wyjście , jak wspomniałem na bascomie "pełnym" nigdy nie miałem takich problemów. Ustawianie portów pojedyńczo nic nie daje - jest tak samo
  • Poziom 36  
    Witam !
    Zamiast prosić o pełną wersję bascoma pokaż CAŁY kod np. na jeden pin procesora, ale w całości nie same ogólniki, że wiesz, umiesz, że demo nie działa.
    Demo działa bardzo dobrze tylko ma ograniczenia dotyczące wielkości kompilacji, ale Ty to pewnie doskonale wiesz !
    Pozdrawiam. Stefan
    ps. pokaż kod sprawdzę w działaniu na Bascomie DEMO 2.0.7.1
    najlepiej na ATtiny2313 lub ATmega8
  • Poziom 16  
    proszę kod - umnie się kompiluje i ładnie wchodzi do proca ale podciąganie jest tylko na wyjściu - na wejściu brak

    Code:
    $regfile = "m16def.dat"
    
    $crystal = 8000000
    Config Pind.7 = Input
    Config Pina.0 = Output
    Set Porta.0
    Set Portd.7
    Do
    If Pind.7 = 0 Then
    Porta.0 = 0
    Else
    Porta.0 = 1
    End If
    Loop
    End
  • Pomocny post
    Poziom 36  
    Zmieniłem program na ATmega8 ( bo ATmega16 nie posiadam )

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    wgrałem, program działa dobrze.
    Bascom DEMO 2.0.7.1
  • Poziom 16  
    Dzięki wielkie za dobre chęci - doszedłem już sam co było powodem , a mianowicie był pęknięty jeden kondensator (27p) przy kwarcu(mimo tego że był nowy) - po jego wymianie zadziałało i działa na wszystkich portach - jest podciąganie - szczerze mówiąc nie wiem czemu , co miał ten kond do podciągania , ale widocznie coś miał bo nie działało. Wielkie dzięki za chęć niesienia pomocy - oczywiście należy się za dobre chęci - "pomógł". Temat uważam za zamknięty.