| PicManía by RedRaven |
Búsqueda personalizada
|
|
PROYECTOS : AUX RS-232 x 2 |
|
|
|
Doble circuito auxiliar de comunicaciones RS232 mediante el MAX232 (Rediseñado) |
| Descripción: |
|
Al igual que
en nuestro anterior AUX RS232 este circuito
auxiliar se encarga de las comunicaciones de nuestro PIC con el PC. En
realidad no es mas que un conversor de voltaje entre las salidas TX y RX
del PIC que nos dan ceros y unos con 0V y 5V y el estándar de RS-232 que
hace la misma modulación pero con +12V y -12V. Esa conversión es de la que
se encarga el circuito integrado
MAX232 del fabricante
Maxim
El incluirle los LEDS para
monitorizar las transmisiones TTL se basa en una idea original de Daniel
González (Radon) |
|
Para hacerla compatible con nuestra
RRBOARD2 ... Para ello necesitamos
implementar sólo dos ideas base: |
|
| Recursos: |
|
|
Tres
interesantes Application Notes :
|
| Esquema: |
|
|
Circuito impreso: |
|
|
|
|
|
Pruebas de conexión simple a la
RRBOARD2 : |
|
|
|
|
|
|
|
|
|
Rediseño: |
| Conectado el Canal 2 a los pines del conector para Cable Plano 10 pines, con dos Jumpers para poder conectarlo / desconectarlo del circuito (Necesario para poder utilizar dos canales serie desde el PIC, uno por Hardware mediante la USART y otro por software emulando la misma). |
![]()
|
![]() |
|
| Pruebas de conexión de doble canal: |
|
|
|
|
|
| El programa es: |
| #include <18f4550.h> #fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOPBADEN, NOLVP #use delay(clock=20000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,stream=STANDARD) #use rs232(baud=9600, xmit=PIN_D0,stream=ESPECIAL) char Keypress=0x00; #int_rda void serial_isr() { Keypress=0x00; if(kbhit()){ Keypress=getc(); if(Keypress!=0x00){ fputc(keypress ,STANDARD); fputc(keypress+1,ESPECIAL); keypress=0x00; } } } void main(){ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(FALSE); setup_psp(PSP_DISABLED); setup_counters(RTCC_INTERNAL,RTCC_DIV_2); setup_timer_0(RTCC_OFF); setup_timer_1(T1_INTERNAL | T1_DIV_BY_1); setup_timer_2(T2_DISABLED,0,1); setup_timer_3(T3_DISABLED); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); port_b_pullups(FALSE); set_tris_c(0b10000000); set_tris_e(0b00010000); fprintf(STANDARD,"\r\n18F4550 in RRBOARAD2\r\n"); fprintf(STANDARD,"¡I'm alive! in STANDAR Channel\r\n\r\n"); fprintf(ESPECIAL,"\r\n18F4550 in RRBOARAD2\r\n"); fprintf(ESPECIAL,"¡I'm alive! in SPECIAL Channel\r\n\r\n"); enable_interrupts(int_rda); enable_interrupts(global); while(TRUE) { } } |
|
|
|
| El Canal 1 lo conecto al
COM1 del PC y el Canal 2 al COM3 del mismo. En éste abro dos instancias
del Monitor Serie del CCS C, el Siow.exe, monitorizando estos dos puertos
serie del PC. |
| Y los resultados : |
|
|
| PCB's en PDF Listos para imprimir. |
Esta página se modificó el 27/12/2008
|