Autor Tema: CURIOSIDAD DE RS232 DE CCS  (Leído 8163 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #15 en: 10 de Octubre de 2011, 15:02:17 »
ahora si funciona que cosas no x.x gracias suky, oye suky no tendras un ejemplo d como usar el hyperterminal con el proteus para recibir y enviar informacion me gustaria hacer esa practica.

Hay que buscar en el foro  ;-)
No contesto mensajes privados, las consultas en el foro

Desconectado Correia

  • PIC10
  • *
  • Mensajes: 39
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #16 en: 10 de Octubre de 2011, 16:04:37 »
tengo un problema, gracias a ustedes corre la simulacion del virtual terminal, ahora me puse a comunicar dos pic, uno es transmisor y el otro receptor, el receptor tiene 4 leds conectados desde RA0-RA3 para mostrar los numero en binario que le transmitira el pic transmisor, los numeros seran del 1-10 y se repitira el ciclo, la cosa es que le puse un interruptor al pic transmisor para que cuando no se pase el interruptor no mande ningun dato, pero al simular el interruptor no lo he pasado y se ve el pic recpetor mostrando 3 leds prendidos O.O y eso que no pase el interruptor que podria ser? la programacion es esta:
PROGRAMACION DEL PIC TRANSMISOR POR MEDIO USART
Código: [Seleccionar]
...............................
...............................
void main (){
int valor;
bit_set(TRISA,0);
porta=0x00;
while(1){
if (bit_test(PORTA,0)==0){
  for (valor=0;valor<=10;valor++){
    putc(valor);
    delay_ms(1000);}
}
}
}
-Tsuki no Tamashi
-Microcontroladores
-Robotica
-Evangelion
-Einstein

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #17 en: 10 de Octubre de 2011, 18:36:02 »
Y el código del receptor?
No contesto mensajes privados, las consultas en el foro

Desconectado Correia

  • PIC10
  • *
  • Mensajes: 39
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #18 en: 10 de Octubre de 2011, 20:13:41 »
este es el del receptor, la recepcion la hice por interrupciones.

Código: [Seleccionar]
#include <16F628A.h>
#use delay(clock=4000000)
#define TX PIN_B2
#define RX PIN_B1
#use RS232(BAUD=9600, XMIT=PIN_B2, RCV=PIN_B1, PARITY=N, BITS=8)
#fuses PUT, NOWDT, INTRC_IO, MCLR
#byte TRISA = 0x85
#byte PORTA = 0x05
#byte TRISB = 0x86
#byte PORTB = 0x06
#byte CMCON = 0x1F

int8 valor;
#INT_RDA
   RDA_isr(){
   valor=getc();
   }
   
void main (){
   CMCON=0x07;
   TRISA=0x00;
   PORTA=0x00;
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
 while(1){
 PORTA=valor;
 }
}

-Tsuki no Tamashi
-Microcontroladores
-Robotica
-Evangelion
-Einstein

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #19 en: 10 de Octubre de 2011, 20:50:49 »
Inicializa la variable a 0 para asegurarte. Después funciona correctamente?
No contesto mensajes privados, las consultas en el foro

Desconectado Correia

  • PIC10
  • *
  • Mensajes: 39
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #20 en: 12 de Octubre de 2011, 18:37:35 »
suky lo arregle de esta forma y funciona

Código: [Seleccionar]
#include <16F628A.h>
#use delay(clock=4000000)
#define TX PIN_B2
#define RX PIN_B1
#use RS232(BAUD=9600, XMIT=PIN_B2, RCV=PIN_B1, PARITY=N, BITS=8)
#fuses PUT, NOWDT, INTRC_IO, MCLR
#byte TRISA = 0x85
#byte PORTA = 0x05
#byte TRISB = 0x86
#byte PORTB = 0x06
#byte CMCON = 0x1F

int8 valor;
#INT_RDA
   RDA_isr(){
   valor=getc();
  PORTA=valor;
   }
   
void main (){
   CMCON=0x07;
   TRISA=0x00;
   PORTA=0x00;
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
 while(1){
 }
}



pero aun hay algo que no logro hacer como en assembler suky no se si pueda ayudarme vos debe saber por que tiene mas experiencia programando en lenguaje C
-Tsuki no Tamashi
-Microcontroladores
-Robotica
-Evangelion
-Einstein

Desconectado Correia

  • PIC10
  • *
  • Mensajes: 39
Re: CURIOSIDAD DE RS232 DE CCS
« Respuesta #21 en: 12 de Octubre de 2011, 18:42:27 »
algo que no logro es, cuando paso el interruptor comienza a mandar al informacion al pic recpetor y este la muestra en los leds, pero yo quiero que cuando lo pase, y al momento le de denuevo al interruptor para que este abierto, el deje de pasar la informacion y se quede mostrando el leds receptor lo ultimo que mostro, en assembler lo logre pero en C no se como.
-Tsuki no Tamashi
-Microcontroladores
-Robotica
-Evangelion
-Einstein


 

anything