Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

30/09/2006 #1


Envio de Unsigned long(4bytes) via USART con C para PIC
Hola a todos.. Quisiera saber como enviar un dato UNSIGNED LONG a traves de la USART, con el programa mplabC18..Bueno en si quisiera saber si lo q realice esta correcto, acá les coloco parte del codigo:

///////////////////////

unsigned long dato;

void main
{
OpenUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH, 25 ); // inicializa usart

WriteUSART( dato ); // envia valor
}
02/10/2006 #2


Re: Envio de Unsigned long(4bytes) via USART con C para PIC
Turkito, no , no está bien.

WriteUSART espera como parámetro un char, no una variable long.

La forma de enviarlo, es que uses un puntero char a la variable long, y lo hagas incrementar 3 veces para pasar por todos los bytes (que son 4) de la variable.

C18 adopta la forma, little endian, es decir que el byte menos significativo ocupa la posición más pequeña de memoria.

Saludos
02/10/2006 #3


ok gracias maunix! lo hice de esa forma cxon punteros y funciona ar pelo, muy bien! aki esta el codigo por si acaso le sirve a alguien mas----

unsigned long int midato;
void main (){

penUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH, 25 );

p = (unsigned char *)& midato ;

for (i = 0; i< 4; i++)
{
WriteUSART( *p );
while ( BusyUSART() );
++p;
}

CloseUSART();
}
02/10/2006 #4


No fue nada, y me alegro de que te haya funcionado.

De seguro tu código ayudará a otros.



8)
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.