TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Archangel_Tyrael en 17 de Febrero de 2006, 15:15:00
-
Hola a todos, cuando configuro el pin TX como entrada, se supone que no deberia de jalar, pero funciona, sera que el CCS hace cosas detras de las camaras como hacer salida un pin que claramente le dige que fuera entrada por medio de la configuracion de el tris, algo similar me pasa con un proyecto que estoy realizando, pueden verlo en el foro de proyectos: Controlador de microstepping.
Tengo la duda de ver si es el compilador o que....
Gracias!!!!
-
Escrito originalmente por Archangel_Tyrael
Hola a todos, cuando configuro el pin TX como entrada, se supone que no deberia de jalar, pero funciona, sera que el CCS hace cosas detras de las camaras como hacer salida un pin que claramente le dige que fuera entrada por medio de la configuracion de el tris, algo similar me pasa con un proyecto que estoy realizando, pueden verlo en el foro de proyectos: Controlador de microstepping.
Tengo la duda de ver si es el compilador o que....
Gracias!!!!
Creo que tu no has leído bien el datasheet de los pics..
Para hacer funcionar la usart, los pines de usart RC6 y RC7, deben ser declarados como entrada (1 en el Bit del Tris Correspondiente) . De esa forma el PIC configura dichos pines como de USART.
Saludos
-
Hola, muchas gracias, no me habia puesto a leer esa parte de el USART, puesto que jalaba, pero puse eso principalmente por que lo que me pasa con el ECCP y P1B, en modo half bridge, es algo similar, y de eso si e leido el datasheet, tanto PORTD I/O como todo lo de los modulos CCP, y dice que configure los TRIS correspondientes, esa es mi verdadera bronca, por que aunque pongo el TRIS como entrada para el estado de alta impedancia que quiero me sigue saliendo el PWM en el P1B, el P1A jala perfecto como quiero, si se me esta pasando algo, por favor hechame la mano, gracias!!!
-
Escrito originalmente por Archangel_Tyrael
Hola, muchas gracias, no me habia puesto a leer esa parte de el USART, puesto que jalaba, pero puse eso principalmente por que lo que me pasa con el ECCP y P1B, en modo half bridge, es algo similar, y de eso si e leido el datasheet, tanto PORTD I/O como todo lo de los modulos CCP, y dice que configure los TRIS correspondientes, esa es mi verdadera bronca, por que aunque pongo el TRIS como entrada para el estado de alta impedancia que quiero me sigue saliendo el PWM en el P1B, el P1A jala perfecto como quiero, si se me esta pasando algo, por favor hechame la mano, gracias!!!
Como viste anteriormente la solución estaba en leer el datasheet, ahora bien en cuanto a tu segundo problema realmente no entiendo qué es lo que te ocurre.
Además sin un código no te puedo andar adivinando así nomas.
Saludos
-
Hola, aqui esta el codigo solamente con el problema que me interesa:
#include <18F4550.h>
#device adc=8
#fuses NOWDT,WDT128,HSPLL, NOPROTECT, BROWNOUT_NOSL, NOBROWNOUT, BORV20, NOPUT, NOCPD, NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOIESO, NOFCMEN, NOPBADEN, NOWRTC, NOWRTB, NOEBTR, NOEBTRB, NOCPB, MCLR, NOLPT1OSC, NOXINST, PLL5, CPUDIV1
#use delay(clock=48000000)
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
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);
set_tris_c(0x00);
set_tris_d(0x00);
setup_timer_2(T2_DIV_BY_1, 0xFF, 1); // 10 bits, 40Khz, 1020 max aprox
setup_ccp1(CCP_PWM_HALF_BRIDGE|CCP_PWM_H_L);
while(1)
{
set_tris_c(0x00);
set_tris_d(0x00);
set_pwm1_duty(100); // 10% aprox // 3 segundos con PWM P1A y P1B
delay_ms(3000);
set_tris_c(0xFF); // Las quiero en Alta impedancia de entrada por 3 segundos
set_tris_d(0xFF); // P1A en el tris c si se queda en alta impedancia, pero el P1B, de tris D no, ese es mi problema
delay_ms(3000);
}
}
en el foro de proyectos esta completo el codigo de lo que estoy haciendo, por eso no lo vuelvo a poner, saludos y gracias!!!