Autor Tema: Limites en RS232 ??  (Leído 2900 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Limites en RS232 ??
« en: 19 de Mayo de 2007, 15:29:40 »
Hola a todos, mi duda es saber si el RS232 tiene limites al mostrar variables sumadas o restadas constanmentes, me explico:

Tengo este codigo:

Código: C
  1. #include <18F452.h>
  2. #use delay(clock=4000000)
  3. #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
  4. #use rtos(timer=0,minor_cycle=100ms)
  5.  
  6. #task(rate=1000ms,max=100ms,queue=2)
  7. void The_first_rtos_task ( );
  8.  
  9. #task(rate=500ms,max=100ms,queue=2)
  10. void The_second_rtos_task ( );
  11.  
  12. void The_first_rtos_task ( ) {
  13.    int count=0;
  14.    // rtos_yield allows the user to break out of a task at a given point
  15.    // and return to the same ponit when the task comes back into context
  16.    while(TRUE){
  17.       count++;
  18.       rtos_msg_send(The_second_rtos_task,count);
  19.       rtos_yield ( );
  20.    }
  21. }
  22.  
  23. void The_second_rtos_task ( ) {
  24.    if(rtos_msg_poll( ))
  25.    {
  26.       printf("%i\n\r",rtos_msg_read ( ));
  27.    }
  28. }
  29.  
  30. void main ( ) {
  31.    rtos_run();
  32. }

Lo q hace es mostrar por el RS232 el numero 1 y sumando.... una imagen:


Y bien lo q pasa esq por el numero 140 masomenos, despues se comienza a "malograr" y lo q quiero esq llege hasta... 100000 a mas masomenos, deverdad lo necesito.
Haber si alguien puede ayudarme  :-)


Gracias, un saludo 8) 8) 8)
« Última modificación: 19 de Mayo de 2007, 16:40:29 por RedPic »

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Limites en RS232 ??
« Respuesta #1 en: 19 de Mayo de 2007, 15:33:44 »
Una variable int, sin signo puede llegar del 0-255, ya que es de 8-bits, con signo llega menos.

Deberás declarar la variable de 16-bits y sin signo para poder albarcar del 0-2^16

Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Limites en RS232 ??
« Respuesta #2 en: 19 de Mayo de 2007, 15:42:47 »
 :shock: q raro crei q lo habia cambiado, eso si lo sabia  :? En fin, lo cambie a: unsigned int32 y sige igual se malogra en el numero 127 se va al 128 pero cn signo negative y restandose  :?  creo q es lo de %i tiene q ser %lu creo no estoy seguro..... ¿Alguien?  :lol:


salu2, gracias 8) 8) 8)

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Limites en RS232 ??
« Respuesta #3 en: 19 de Mayo de 2007, 15:45:38 »
Pues sí, tambié, tienes que indicar el formato a mostrar por el rs232, en este caso de 16 o 32 bits, %lu o %ld, donde la l significa long si no recuerdo mal....


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Limites en RS232 ??
« Respuesta #4 en: 19 de Mayo de 2007, 15:58:52 »
Pues puse %u y funciono hasta el 255, despues se fue al 1 y asi sucesivamente. Ahora, cuando pongo %lu o %ld me sale el error: PRINT TYPE FORMAT IS INVALID.   :(

¿Q hacer?  :-)


Salu2, gracias. 8) 8) 8)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Limites en RS232 ??
« Respuesta #5 en: 19 de Mayo de 2007, 18:21:06 »
¿Q hacer?  :-)

Mmm, ¿leer el manual? 

Esto no es prueba y error, en el manual tienes que tener los parámetros para imprimir cada tipo de variable.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Limites en RS232 ??
« Respuesta #6 en: 20 de Mayo de 2007, 02:28:38 »
Una variable int, sin signo puede llegar del 0-255, ya que es de 8-bits, con signo llega menos.

Deberás declarar la variable de 16-bits y sin signo para poder albarcar del 0-2^16

Suerte!!! ;)

Corrijo: 0 - 2^16-1

Que maaaalo que soyyyy!!!
jaja un saludo.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Limites en RS232 ??
« Respuesta #7 en: 20 de Mayo de 2007, 07:23:22 »
Jeje mira que hice los calculos mentales....algo como 655xx pero dije bah, le pongo en forma exponencial, 2^16 pero como se cuenta el 0 puessss 2^16-1 jeje

PD: 2^16=65536 -1 = 65535


Gracias por la corrección!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Limites en RS232 ??
« Respuesta #8 en: 20 de Mayo de 2007, 08:33:25 »
Ah pero era pura broma hombre :)
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.