 |
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: Pet Dec 28, 2007 7:46 pm Naslov sporočila: Bascom in branje iz com porta |
|
|
Pozdravljeni!
Za branje iz com porta na atmega48 uporabljam funkcijo Inputbin. Funkcija je izvedena tako, da prebere določeno število znakov iz com porta. Število znakov je določeno s tem, na kakšen tip spremenljivke prepisujemo dobljene znake.
Npr.:
Koda: |
Dim Polje(8) As Byte
Inputbin Polje(1)
|
Prebere 8 znakov iz com porta.
Problem se pojavi če "prileti" daljši niz(na primer 9 znakov) saj takrat kontrolerček kar obstane!
Potreben je reset, da se zopet začne odzivati!
Kako je mogoče to rešiti?
Hvala!
Lp, Eddie |
|
Nazaj na vrh |
|
 |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5529 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Pet Dec 28, 2007 9:00 pm Naslov sporočila: |
|
|
Sam to naredim na sledeč način (tako se string ciklično prepisuje):
Koda: |
Config Serialin = Buffered , Size = 20
Enable Interrupts
Declare Sub Getline(s As String)
Declare Sub Flushbuf()
Dim S As String * 20
Dim B As Byte
'------------------------------------------------------------------
'Berem podatke - glavna zanka
Do
Getline S
Wait 1
Flushbuf
Loop
'------------------------------------------------------------------
Sub Getline(s As String)
S = ""
Do
B = Inkey()
Select Case B
Case 0 'nothing
Case 13 ' we do not need this one
Case 10
If S <> "" Then Exit Do ' if we have received something
Case Else
S = S + Chr(b) ' build string
End Select
Loop
End Sub
Sub Flushbuf()
Waitms 100
Do
B = Inkey()
Loop Until B = 0
End Sub |
|
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Sob Dec 29, 2007 10:50 am Naslov sporočila: |
|
|
Hvala za kodo. Moam malo preštudirati potem te bom pa še kaj vprašal.
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: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|