Witam
Mam pytanie dotyczące transmisji RS232 w atmedze8 do komputera. Chodzi o wielkość bufora w USART. Realizuje komunikacje z komputerem w sposób: wysyłam w petli znak, mikroprocesor w odpowiedzi wysyła ciag znaków po 10, po odebraniu w komputerze wysyłam nastepny znak i tak 10 razy obecnie. Z moich obserwacji wychodzi na to ze bufor moj musi miec przynajmniej wielkość 100 inaczej transmisja mi sie zawiesza no i program na komputerze. Oto mój program:
docelowo tych znaków będzie 300 a za bardzo nie chce wykorzystywac 1/3 SRAMU na bufor. Czy znacie może jakieś metody aby nie wykorzystywac az tyle pamieci na bufor?? z gory dziekuje za pomoc.
Mam pytanie dotyczące transmisji RS232 w atmedze8 do komputera. Chodzi o wielkość bufora w USART. Realizuje komunikacje z komputerem w sposób: wysyłam w petli znak, mikroprocesor w odpowiedzi wysyła ciag znaków po 10, po odebraniu w komputerze wysyłam nastepny znak i tak 10 razy obecnie. Z moich obserwacji wychodzi na to ze bufor moj musi miec przynajmniej wielkość 100 inaczej transmisja mi sie zawiesza no i program na komputerze. Oto mój program:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 2400
Config Serialin = Buffered , Size = 10
Config Serialout = Buffered , Size = 124
Dim Hehe As String * 1
Dim Wy(30) As String * 11
Dim I As Integer
Dim K As Byte
Dim W As Byte
Enable Interrupts
I = 24
For W = 1 To 10
For K = 1 To 10
I = I + 1
Mid(wy(w) , K , 1) = Chr(i)
Next K
Next W
W = 1
Do
If Ischarwaiting() = 1 Then Gosub Wpis
Loop
End
Wpis:
Hehe = Inkey()
Print Wy(w)
W = W + 1
If W = 11 Then W = 1
Return
docelowo tych znaków będzie 300 a za bardzo nie chce wykorzystywac 1/3 SRAMU na bufor. Czy znacie może jakieś metody aby nie wykorzystywac az tyle pamieci na bufor?? z gory dziekuje za pomoc.