Problema con la UART - LPCXpresso 1769.

324 views
Skip to first unread message

Mauro Antivero

unread,
Jun 18, 2012, 12:23:10 AM6/18/12
to embeb...@googlegroups.com
Estimados:

Sigo haciendo pruebas con la LPCXpresso 1769. Lo que quiero hacer ahora
es transmitir "algo" (cualquier cosa, un entero, una cadena de
caracteres, etc.) por la UART para poder recibirlo en una PC. Mi meta es
logra una comunicaci�n por puerto serie tal como hice hace un tiempo con
un PIC, el cual me env�a datos a trav�s del puerto serie de mediciones
que realiza y recibe por el mismo puerto comandos de configuraci�n desde
una PC.

De momento me olvido de la comunicaci�n con la PC y simplemente quiero
transmitir algo (cualquier cosa) y poder medir con un osciloscopio la
se�al transmitida por el pin correspondiente al TX de la UART en uso.

Para empezar a hacer pruebas me apoy� en el ejemplo de CoIDE (CooCox) el
cual es realmente muy sencillo y solo transmite una cadena de caracteres
por el puerto serie.

El problema es que el pin en cuesti�n se queda "fijo" creo que en 2V y
de ah� no se mueve en ning�n momento. Inicialmente hab�a puesto el
comando que transmite la cadena dentro de un loop infinito para que est�
transmitiendo continuamente, pero como no funcionaba por las dudas lo
saqu� del loop y lo ejecuto una �nica vez, como en el ejemplo original,
pero no pasa nada de nada.

La UART en uso es (supuestamente) la 1 y los pines son:

TX: P0[15]
RX: P0[16]

Vi en la hoja de datos del micro que los pines TX y RX tambi�n pueden
ser P2[0] y P2[1] respectivamente. Esto se hizo as� por comodidad a la
hora de armar el hardware (que se pueda usar uno u otro seg�n convenga)
o yo estoy interpretando mal la hoja de datos?

Por ahora no pongo m�s datos, pero porque les quiero preguntar qu� datos
les puedo pasar para que me den una mano a ver por donde puede estar el
problema. Les puedo pasar el c�digo? Es relativamente corto y sencillo.
Les puedo pasar el proyecto por si alguno lo quiere chusmear (es bien
sencillo).

Sigo buscando info pero por ahora no logro nada. El programa corri�ndolo
paso a paso pareciera que corre bien, entra a la funci�n que transmite
los datos y la recorre completa.

El pin es el correcto, porque anul� la transmisi�n e hice un loop que lo
haga encender y apagar y efectivamente parpadea, as� que no le err� de pin.

Por ahora sigo enfrascado sin poder hacer que ande. Espero que me puedan
ayudar.

Desde ya les estoy muy agradecido.

Saludos!

Mauro.

Mauro Antivero

unread,
Jun 18, 2012, 12:38:42 AM6/18/12
to embeb...@googlegroups.com
Estimados:

Buscando un poco encontr� el siguiente documento:

CMSIS y drivers para perif�ricos - Alan Kharsansky

En �l da una idea b�sica de como usar la UART as� que voy a ver si con
eso logro algo.

De todas formas cualquier sugerencia, ejemplo, experiencia vivida o
material de lectura es bienvenida!

Saludos y gracias!

Mauro.

El 18/06/12 01:23, Mauro Antivero escribi�:

Mauro Antivero

unread,
Jun 20, 2012, 12:15:48 AM6/20/12
to embeb...@googlegroups.com
El 18/06/12 01:38, Mauro Antivero escribi�:
> Estimados:
>
> Buscando un poco encontr� el siguiente documento:
>
> CMSIS y drivers para perif�ricos - Alan Kharsansky
Efectivamente en este documento encontr� la soluci�n a mi problema. No
estaba configurando correctamente el modo de funcionamiento de los pines
de TX y RX de la UART.

Para el caso de los pines:

TX: P0[15]
RX: P0[16]

La configuraci�n es:

Funcnum = 1

Con esto ya empez� a funcionar.

Excelente el documento en cuesti�n, muy claro y conciso. Gracias Alan y
todos los que hayan intervenido en el mismo.

Saludos, Mauro.

Mauro Antivero

unread,
Jun 21, 2012, 12:13:01 AM6/21/12
to embeb...@googlegroups.com
Sigo probando la transmisión de datos usando la UART y simplemente para poder ver en detalle lo que hago es transmitir el caracter "a" y verificar en el osciloscopio. Al hacer esto  me sale la siguiente duda:

El ASCII de la "a" es H61, osea B0110 0001. Lo que obtengo con el osciloscopio es lo siguiente:

0 1000 0110 1 000000000

Lo que sería algo como
:

Start Bit --- LSB ...... MSB --- Stop Bit --- ???

Es decir, no entiendo esos 9 ceros que están luego del bit de stop. Alguien me podría explicar a que se deben? La línea que uso para la transmisión es la siguiente:

UART_Send(UARTx, (uint8_t *)"a", sizeof("a"), NONE_BLOCKING);

Y la configuración de la UART la siguiente:

8 data bit
1 Stop bit
None parity
Baudrate 115200

Lo tiempos verifiqué que se cumplan, es decir cada bit se transmite aprox. en 8.7 [useg].

Les agradecería mucho si alguien me puede aclarar esto, pero de todas formas seguiré leyendo un poco.

Saludos y gracias, Mauro.


El 20/06/12 01:15, Mauro Antivero escribió:
El 18/06/12 01:38, Mauro Antivero escribió:
Estimados:

Buscando un poco encontré el siguiente documento:

CMSIS y drivers para periféricos - Alan Kharsansky
Efectivamente en este documento encontré la solución a mi problema. No estaba configurando correctamente el modo de funcionamiento de los pines de TX y RX de la UART.

Para el caso de los pines:

TX: P0[15]
RX: P0[16]

La configuración es:

Funcnum = 1

Con esto ya empezó a funcionar.

Excelente el documento en cuestión, muy claro y conciso. Gracias Alan y todos los que hayan intervenido en el mismo.

Saludos, Mauro.
En él da una idea básica de como usar la UART así que voy a ver si con eso logro algo.

De todas formas cualquier sugerencia, ejemplo, experiencia vivida o material de lectura es bienvenida!

Saludos y gracias!

Mauro.

El 18/06/12 01:23, Mauro Antivero escribió:
Estimados:

Sigo haciendo pruebas con la LPCXpresso 1769. Lo que quiero hacer ahora es transmitir "algo" (cualquier cosa, un entero, una cadena de caracteres, etc.) por la UART para poder recibirlo en una PC. Mi meta es logra una comunicación por puerto serie tal como hice hace un tiempo con un PIC, el cual me envía datos a través del puerto serie de mediciones que realiza y recibe por el mismo puerto comandos de configuración desde una PC.

De momento me olvido de la comunicación con la PC y simplemente quiero transmitir algo (cualquier cosa) y poder medir con un osciloscopio la señal transmitida por el pin correspondiente al TX de la UART en uso.

Para empezar a hacer pruebas me apoyé en el ejemplo de CoIDE (CooCox) el cual es realmente muy sencillo y solo transmite una cadena de caracteres por el puerto serie.

El problema es que el pin en cuestión se queda "fijo" creo que en 2V y de ahí no se mueve en ningún momento. Inicialmente había puesto el comando que transmite la cadena dentro de un loop infinito para que esté transmitiendo continuamente, pero como no funcionaba por las dudas lo saqué del loop y lo ejecuto una única vez, como en el ejemplo original, pero no pasa nada de nada.

La UART en uso es (supuestamente) la 1 y los pines son:

TX: P0[15]
RX: P0[16]

Vi en la hoja de datos del micro que los pines TX y RX también pueden ser P2[0] y P2[1] respectivamente. Esto se hizo así por comodidad a la hora de armar el hardware (que se pueda usar uno u otro según convenga) o yo estoy interpretando mal la hoja de datos?

Por ahora no pongo más datos, pero porque les quiero preguntar qué datos les puedo pasar para que me den una mano a ver por donde puede estar el problema. Les puedo pasar el código? Es relativamente corto y sencillo. Les puedo pasar el proyecto por si alguno lo quiere chusmear (es bien sencillo).

Sigo buscando info pero por ahora no logro nada. El programa corriéndolo paso a paso pareciera que corre bien, entra a la función que transmite los datos y la recorre completa.

El pin es el correcto, porque anulé la transmisión e hice un loop que lo haga encender y apagar y efectivamente parpadea, así que no le erré de pin.

federico diaz

unread,
Nov 2, 2017, 11:08:42 AM11/2/17
to Embebidos32
hola que tal! me gustaria saber si usted me podria ayudar! yo estoy tratando de comunicarme por UART pero me es muy dificil! ya que los driver que intente hacer me salieron mal! sigo intentando hacer un autito-robot en donde use la uart con interrupcion! si en algun momento usted tiene un momento! me serviria de mucho su ayuda! y si tiene algun driver de la UART para la LPC 1769 ! sera totalmente bienvenido!
saludos!
Federico de Catamarca.

Pablo Ridolfi

unread,
Nov 2, 2017, 11:12:53 AM11/2/17
to embeb...@googlegroups.com
Este es el driver de UART para LPC1769 que vengo usando desde hace rato. Entiendo que funciona bien.
Espero que sirva, saludos.


--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" 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 embebidos32...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages