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

Jak przesłać dane przez UART między dwoma AVR w BASCOM?

04 Lip 2005 03:18 1293 3
REKLAMA
  • #1 1627270
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 1627328
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Zrob to po swojemu, bez kozystania z procedur Bascoma. ustaw odpowiednie rejestry, wlacz przerwanie i w jego obsludze wpisz byte=udr i tyle. W zmiennej byte bedziesz mial odebrana dana. Zmienna najprosciej zadeklarowac jako tablice czteroelementowa i do tego wskaznik zliczajacy do 4. Kazde przerwanie bedzie zwiekszalo dodatkowo wskaznik i sprawdzalo czy tablica jest juz pelna (odebrane wszystkie 4 dane)
    Pozdro
    Dexter
  • REKLAMA
  • #3 1627817
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #4 1628864
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Przeciez to banal.
    
    $regfile = "8535def.dat"
    $crystal = 4000000
    $baud = 9600
    
    Dim Wskaznik As Byte
    Dim Dane(4) As Byte
    
    On Urxc Odebranybajt Nosave
    Enable Interrupts
    
    Wskaznik = 0
    
    Do
    If Wskaznik = 4 Then
      Wskaznik = 0
      'a tu dalsze intrukcje
      'jak juz masz wszystkie 4 bajty
    End If
    Loop
    
    Odebranybajt:
      Wskaznik = Wskaznik + 1
      Dane(wskaznik) = Udr
    Return
    

    Mniej wiecej. Dlatego wlasnie warto sie uczyc innych jezykow programowania. Bascom jest do zabawy, ale oczywiscie mozna cos z niego wykrzesac schodzac nieco nizej do sprzetu. Tylko wtedy juz nie programujemy w Bascomie (mimo ze skladnia jest Bascoma) tylko bardziej w C lub Pascalu.
    Pozdro
    Dexter
REKLAMA