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

[bascom] wyświetlacz led, polecenie inputbin - zatrzymanie programu

metad 17 Lut 2012 21:08 2113 9
REKLAMA
  • #1 10560265
    metad
    Poziom 10  
    witam,
    potrzebuję porady z dość mało skomplikowanym programem.
    procek atmega8 , wyświelacz 7 segmentowy led.

    Program ma na celu wyświetlać na wyświetlaczu led cały czas zmienną x, która na po starcie programu ma wartość stałą np liczbę 2 a następnie jeśli odbierze inną wartość via uart (poleceniem inputbin? ) to przypisać do zmiennej x i oczywiście ją wyświetlić a jeśli nic nie odbierze to dalej wyświetlać dotychczasową wartość x.
    Brak mi koncepcji na zatrzymanie się programu w momencie oczekiwania na bajt i oczywiście wyświetlacz gaśnie w tym momencie.

    pozdrawiam
  • REKLAMA
  • #2 10560371
    Jaca
    Poziom 31  
    Użyj przerwania od URXC...
  • REKLAMA
  • #3 10560394
    Ture11
    Poziom 39  
    A oby w bascomie nie można użyć polecenia BITWAIT?
  • REKLAMA
  • #4 10560708
    arktik1
    Poziom 27  
    "Brak mi koncepcji na zatrzymanie się programu w momencie oczekiwania na bajt i oczywiście wyświetlacz gaśnie w tym momencie"
    A po co zatrzymywać działanie programu, przecież w tedy nic nie będzie działać.
    Podejrzewam że chodzi ci o najzwyklejszą obsługę UART.
    Zobacz, tu są kawałki kodu obsługujące UART:
    https://www.elektroda.pl/rtvforum/topic1913555.html
  • #5 10560908
    metad
    Poziom 10  
    dziękuję za zainteresowanie :)

    myślę i myślę i na chwile obecną czarna magia

    oto kod programu:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    pięknie i ładnie wyświetli się cyfra 02 na wyświetlaczu led.
    I teraz załóżmy że gdy na pinie PC1 pojawi się jakiś bajt który w zalożeniu ma zmieniać wartość zmiennej A a program ma za zadanie wyświetlić na wyświetlaczu led do czasu odebrania innego bajtu o ile taki procek otrzyma.

    jak pisałem inputbin wstrzymuje działanie programu do czasu odebrania bajtu.
    Chyba pierwszy raz mam do czynienia z podobnym problemem z komunikacją :)
  • #6 10562285
    Konto nie istnieje
    Konto nie istnieje  
  • #7 10563085
    metad
    Poziom 10  
    nieco poprawione:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    poleceniem Print #1 , "test" otrzymuje na terminalu test.
    Komunikacja z atmegą poprzez adm232, wyświetlacz led wyświetla prawidłowo.
  • REKLAMA
  • #8 10563231
    Konto nie istnieje
    Konto nie istnieje  
  • #9 10563292
    metad
    Poziom 10  
    dlaczego z programowego uarta?

    ponieważ port d jest zajęty, wolne mam tylko piny c0,c1 i c2
  • #10 10563429
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA