www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Bascom + UART na atmega128

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Sre Mar 19, 2008 10:29 pm    Naslov sporočila:  Bascom + UART na atmega128 Odgovori s citatom

Pozdravljeni!
Na omenjenem procesorju pišem program s serijsko komunikacijo(Bascom avr). Delček kode izgleda takole:
Koda:

...
Declare Sub SerialCom
Dim Message(45) As Byte

 'Serijski vmesnik
  Config Serialin = Buffered , Size = 20
  Enable Interrupts

Do
   If Ischarwaiting() = 1 Then
      Call SerialCom
   End If   
 Loop

End

Sub SerialCom

 Disable Interrupts
 Inputbin Message(1) , 8
 Clear Serialin 
...
...
 Enable Interrupts
End Sub




Stvar solidno deluje dokler na uart dobim pričakovano število znakov - 8.
Če naenkrat "prileti" več znakov ampak še vedno ne več kot 20 procesor obstane.
Kaj se zgodi?
Ko sem dodal disable interuptov v subrutino je malo bolje ampak se to še vedno dogaja.
Vključil sem tudi watchdog, ki procesor ob tej priliki resetira(torej program zares obstane) zakaj?

Hvala za namige!
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5530
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Čet Mar 20, 2008 2:44 pm    Naslov sporočila:   Odgovori s citatom

Za začetek spremeni velikost UART bufferja na 8 (sedaj imaš 20) in poskusi...

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Pet Mar 21, 2008 10:50 am    Naslov sporočila:   Odgovori s citatom

Hvala za namig, bom sprobal takoj ko bom lahko!
Še eno mnenje potrebujem:Kako narediti, da bi naprimer z inputbin "pričakoval" npr. 15 znakov in bi v primeru da jih dobim manj, čakanje prekinil in obdelal prejeto sporočilo.

Kaj hočem doseči: rad bi bral iz UART-a , ne da bi moral v glavni zanki stalno nekaj početi - torej branje z interrupti. Sporočila, ki jih prejemam pa naj bi bila lahko poljubne dolžine znakov. Do sedaj mi še ni uspelo najti primerne(in delujoče) kombinacije funkcij!
Hvala za pomoč!
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group