TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: oscarec60 en 20 de Marzo de 2006, 12:27:00
-
Estoy utilizando el compilador de Ccs y necesito usar el puerto D para escribir paralelamente caracteres de 8bits en un pic 18f4620, pero no puedo configurarlo como los otros puertos como set_tris_d y output_d(), por favor ayudenme para solucionar este problema bien sea utilizando el puerto paralelo o pps.
Gracias por lo que pueda hacer....
-
AQUI ESTA EL CODIGO QUE ESTOY UTILIZANDO PERO POR ALGUNA RAZON NO ME ACEPTA EL #USE ...., POR FAVOR AYUDENME EN ESTO PORQUE REALMENTE NECESITO PONER A TRABAJAR A ESTE PUERTO...
GRACIAS POR LO QUE PUEDAN HACER
#include <18F4620.h>
#device adc=8
#use delay(clock=20000000)
#fuses NOWDT,WDT128,HS, NOPROTECT, IESO, BROWNOUT, BORV21, NOPUT, NOCPD, NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOEBTR, NOCPB, NOEBTRB, NOWRTC, NOWRTB, NOFCMEN, NOXINST, NOPBADEN, NOLPT1OSC, NOMCLR
#use standard_io(D)
#define output_d
#int_PSP
PSP_isr()
{
}
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_ENABLED);
setup_spi(FALSE);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while (1)
{
delay_ms(500);
output_d(0x00);
delay_ms(500);
output_d(0x3f);
}
enable_interrupts(INT_PSP);
enable_interrupts(GLOBAL);
}
-
Asi es la cosa:
#include <18F4620.h>
#device adc=8
#use delay(clock=20000000)
#fuses NOWDT,WDT128,HS, NOPROTECT, IESO, BROWNOUT, BORV21, NOPUT, NOCPD, NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOEBTR, NOCPB, NOEBTRB, NOWRTC, NOWRTB, NOFCMEN, NOXINST, NOPBADEN, NOLPT1OSC, NOMCLR
#use standard_io(D)
#int_PSP
PSP_isr()
{
}
void main()
{
set_tris_D(0x00);
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_ENABLED);
setup_spi(FALSE);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while (1)
{
delay_ms(500);
output_d(0x00);
delay_ms(500);
output_d(0x3f);
}
enable_interrupts(INT_PSP);
enable_interrupts(GLOBAL);
}
-
pues nop lo correo en el MPLAB Plug-In y todavia no me corre, que sera lo que pasa?? sigo teniendo el mismo problema...
#include <18F4620.h>
#device adc=8
#use delay(clock=20000000)
#fuses NOWDT,WDT128,HS, NOPROTECT, IESO, BROWNOUT, BORV21, NOPUT, NOCPD, NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOEBTR, NOCPB, NOEBTRB, NOWRTC, NOWRTB, NOFCMEN, NOXINST, NOPBADEN, NOLPT1OSC, NOMCLR
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_ENABLED);
setup_spi(FALSE);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while (1)
{
delay_ms(500);
OUTPUT_D(0x00);
delay_ms(500);
OUTPUT_D(0xff);
}
el error que me da es indefinido el identificador output_d
-
Que raro en la simulacion que hago en em MPLAB si cambia el puerto D entre 0x00 y 0xFF.
gfp