 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Sre Mar 19, 2008 10:29 pm Naslov sporočila: Bascom + UART na atmega128 |
|
|
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 |
|
 |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5529 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Čet Mar 20, 2008 2:44 pm Naslov sporočila: |
|
|
Za začetek spremeni velikost UART bufferja na 8 (sedaj imaš 20) in poskusi...
LP, Grega |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Pet Mar 21, 2008 10:50 am Naslov sporočila: |
|
|
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 |
|
 |
|
|
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: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|