Pages: [1]   Go Down
Author Topic: Buffer del puerto serie y memoria de datos  (Read 2565 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 1
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos.
Tengo a una duda que hasta la fecha no he logrado responderme.
He modificado el tamaño del buffer en la librería "HardwareSerial.cpp" al siguiente valor:
#define RX_BUFFER_SIZE 384
Mi pregunta es la siguiente (creo que si pero bueno...):
¿Si aumento este buffer, pierdo memoria de datos del micro? Quiero decir, si tengo 1K de memoria de datos, al aumentar este buffer ya salgo con 1024-384=640 bytes para datos desde el principio ¿No?

La duda que tengo es que a mi me están entrando más de 300 bytes cada segundo y leo con Serial.read(),  he comprobado que poniendo el buffer a 256 bytes, sigo leyendo todos....¿No debería perder a partir de 256? Me induce a pensar que ese buffer no es de memoria de datos...
También he hecho pruebas de aumentar considerablemente el tamaño del buffer (750 bytes) y efectivamente, el micro empieza a hacer cosas raras.
¿Que sabeis/pensais al respecto?
« Last Edit: January 19, 2011, 12:53:47 pm by javilolo » Logged

0
Offline Offline
Jr. Member
**
Karma: 5
Posts: 72
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Efectivamente gastas parte de la RAM.

Si te llegan 300 bytes por segundo y  con un buffer de 250 no pierdes datos debe de ser porque el serial read lo haces mas de una vez por segundo, (si pones el código lo veremos enseguida).

Vas a tener que jugar hasta que encuentres el tamaño de buffer adecuado para tu aplicación.
Logged

Venezuela
Offline Offline
Full Member
***
Karma: 0
Posts: 124
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola buenos dias, yo en lo persona primero haria un codigo para saber que cantidad de byte me llegan y asi poder hacer un codigo para la aplicacion que estoy persiguiento o tambien leer y enviarlo a un hiperterminar y ver que cantidad llegan y asi me hago una mejor idea de lo que quiero.

Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.
Logged

0
Offline Offline
Jr. Member
**
Karma: 1
Posts: 92
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos.
Lo malo es que el número de bytes es variable...los envía un dispositivo GPS por lo que, en función de los satélites que vea, la posición, si tiene o no posición, etc...envía un número indeterminado, claro, siempre entre un mínimo (156 bytes) y un máximo, (ese no lo tengo , muy claro, en torno a 330...)
Logged

Pages: [1]   Go Up
Jump to: