TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: lagowi en 14 de Marzo de 2007, 19:36:27
-
Tengo un 16F877 y quiero comunicarme con un móvil vía rs232. El puerto serie lo estoy utilizando para otra comunicación, como hago para usar otro par de patillas como puerto serie que no sean RC6/Tx y RC7/Rx?
Qué instrucción uso para enviarle al móvil "AT+(número de teléfono)" en ascii?
Los datos tengo que enviarlos a 9600 baudios con 8 bits sin paridad y bit de stop, tengo que poner esto no?
#use rs232(baud=9600,parity=N,xmit=PIN_xx,rcv=PIN_xx,bits=8)
Gracias.
-
A ver si alguien se anima a responder 8)
He estado mirando por el foro y lo he intentado con el siguiente código pero no me va. Uso unos leds simplemente para saber que el pic está funcionando, la configuración la he generado con el pic wizard del ccs. El programa es este:
#include <16F877.h>
#device adc=8
#use delay(clock=4000000)
#fuses NOWDT,XT, NOPUT, NOPROTECT, BROWNOUT, LVP, NOCPD, NOWRT, NODEBUG
#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B4,bits=8,enable=PIN_A0)
#use fast_io(a)
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_tris_c(0xFE);
while (TRUE){
output_high(PIN_C0);
delay_ms(1000);
output_low(PIN_C0);
printf("atd686194372");
delay_ms(500);
output_high(PIN_C0);
delay_ms(3000);
}
}
-
Vale ya funciona. :mrgreen: Por si alguien lo tiene que hacer funciona con la instruccion putsc("atd679564532"); en vez de printf("atd679564532");
-
con printf = funciona, te lafto el <CR>
Chavela