Consulta caracteres extra en uart entre dos edu-ciaa-nxp

18 views
Skip to first unread message

Carlos Pantelides

unread,
Feb 4, 2018, 8:43:17 AM2/4/18
to CIAA-Firmware
Hola

Estoy teniendo un comportamiento extraño.

El contexto es una edu-ciaa-nxp tomando caracteres por uart-usb y pasándolos a otra por uart-232. Ésta hace echo, los guarda en un buffer tras haberlos transformado y cuando se llena el buffer lo envía de a una letra.

En esta secuencia se puede ver el diálogo, primero va un patrón ("ABCDEF0123456789") luego ese patrón transformado ("BCDEFG123456789:") y el mensaje de inicio ("Ready           "). Al enviar la primera letra por terminal,
aparece basura.

miniterm.py /dev/ttyUSB1 9600
--- Miniterm on /dev/ttyUSB1  9600,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ABCDEF0123456789BCDEFG123456789:Ready           a�␡␀␐␀␀␀␀␀�␀ �'␀␚bcdefghijklmnopqcdefghijklmnopqr
      patron    |transformacion | mensaje listo ^ basura            |  normal       | devolución buffer
                |               |               |                   |               |
                |               |          primera letra
(patron

+--------+                +------------+                  +-------------------+
|miniterm|<---UART-USB--->|edu-ciaa-nxp|  <---UART-232--->|edu-ciaa-nxp-buffer|
+--------+                +------------+                  +-------------------+
  lee letra                      |                                  |
    >---------  letra   --------->                                  |
   |                             >------------ letra --------------->
   |                             |                                  |
   |                             <------------ letra ---------------<           FALLA EN LA PRIMERA                                                                  
   |                          muestra en                            |
   |                        lcd poncho plc                          |
   <---------  letra   ----------<                                  |
 muestra                         |                                  | 
 feedback                        |                             transforma y
   |                             |                          guarda en buffer[16]


                                                           al llenar buffer
   |                             |                                  |
   |                             <--------- cada letra -------------<
   |                          muestra en                            |
   |                        lcd poncho plc                          |
   <------- cada letra ---------<
 muestra                                                                


Sólo ocurre con la primera letra, sea está la que sea.

La falla no está en la ida, pues no afecta el contenido del buffer. Sí se vé en el display lcd. No he podido hacer debug por otro problema extra, quizás en otro hilo luego, supongo que tengo que cambiar de versión de openocd (.undefined debug reason 7 - target needs reset)

No sé si tiene relación con la conversación en ciaa-hardware [1], relativa a problemas en el arranque, estoy compilando en el tree corregido para edu-ciaa-nxp-buffer y en master para edu-ciaa-nxp pues necesito el lcd.

Si reemplazo la edu-ciaa-nxp-buffer que está de prueba por la placa sobre la que realmente estoy trabajando (tiene su problema pero es distinto, mencionado en [1] tambien), funciona bien.

El código del lado de edu-ciaa-nxp-buffer es este, el repo completo [2]


   while(1) {
      if ( uartReadByte( UART_232,  &dato ) ){
         // byte transformado
         buffer[bufferIdx] = dato + 1;

         // feedback
         uartWriteByte( UART_232,dato);

         ++bufferIdx;

         if ( bufferIdx >= BUFFER_SIZE ) {
            for (bufferIdx = 0; bufferIdx < BUFFER_SIZE; ++bufferIdx) {
               uartWriteByte( UART_232, buffer[bufferIdx] );
            }
            bufferIdx = 0;
         }
      }
   }


¿Alguna pista?

[1] [CIAA-Hardware] Problemas en arranque cuando se usa el oscilador a XT (CIAA NXP y EDU CIAA NXP)   
[2] https://github.com/cpantel/MicroTerminalAES/tree/TestUART

Eric Pernia

unread,
Feb 27, 2018, 10:45:04 AM2/27/18
to Carlos Pantelides, CIAA-Firmware
Pasame el programa que estas haciendo asi puedo reproducir la falla.

Abrazo.
Eric.

--
Has recibido este mensaje porque estás suscrito al grupo "CIAA-Firmware" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a ciaa-firmware+unsubscribe@googlegroups.com.
Visita este grupo en https://groups.google.com/group/ciaa-firmware.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Eric Pernia

unread,
Feb 27, 2018, 10:59:36 AM2/27/18
to Carlos Pantelides, CIAA-Firmware
Ahi acabo de darme cuenta que estaba el codigo pero me mostraba el mail recortado google.


Carlos Pantelides

unread,
Feb 28, 2018, 4:28:36 AM2/28/18
to Eric Pernia, CIAA-Firmware
justo leí antes de reenviarte....

Ahora no puedo hacer pruebas pues tengo momentáneamente muerta la segunda edu-ciaa-nxp, si alguien quiere que le regale el chip, está intacto, sólo un poco torcidas las patitas
Reply all
Reply to author
Forward
0 new messages