Borrar filtros
Borrar filtros

baseboard serial receive fifo

5 visualizaciones (últimos 30 días)
Gorkem
Gorkem el 23 de Jul. de 2016
Comentada: Walter Roberson el 29 de Jul. de 2016
Hello,
I'm using baseboard serial fifo out block to receive data @ 1kHz from an external device.
The device sends a unique header byte at the beginning of each message packet.
However, message length isn't fixed. For that reason, I decided to use ordinary fifo read block instead of fifo bin read. So, I wrote my own state machine to sync with messages.
The fifo read block is configured as count + uint16 array.
even though it is working without any problem mostly, sometimes it gives some strange values.
for example,
4 39(header) byte1 byte2 checksumbyte is what I'm expecting.
But fifo read block sometime gives me something like : 4 <some integer above 255> byte1 byte 2 checksumbyte or 4 39 <some integer above 255> byte 2
what does that mean when an element of fifo read is greater than 255? Simple decomposition of that uint16 value into two uint8 values just gives some random numbers.
Any help is appreciated.
  8 comentarios
Gorkem
Gorkem el 25 de Jul. de 2016
Is there any reasonable explanation why I have data > 255 in the fifo output even though baseboard serial block is configured as 8 data bits?
Walter Roberson
Walter Roberson el 29 de Jul. de 2016
Because it is not configured as 8 data bits. Your screen snapshot shows you have configured for 16 bit output.

Iniciar sesión para comentar.

Respuestas (3)

Gorkem
Gorkem el 24 de Jul. de 2016
UP! still having the issue !

Gorkem
Gorkem el 24 de Jul. de 2016
I also have an additional question. How does fifo receive interrupt level work? When I set it to half full or full, the problem get worse.
When I set it to 1, no data is received.

Gorkem
Gorkem el 29 de Jul. de 2016
I couldn't resolved the problem. Need help of anyone having the same issue

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by