TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: RodrigoAndres en 24 de Enero de 2016, 10:41:54
-
ola a todos, lo que pasa es que necesito hacer correr el puerto uart a 921600 baudios con el PIC18F4550, pero el problema es que haciendo los calculos la velocidad mas cercana que alcanza es un millon de baudios, eso seria como 8% de error y no creo que sea bueno. lo que me pregunto es si hay algun pic parecido que no tenga tanto error y alcanze 921600 baudios??
-
la clave era colocar el BAUDCONbits.BRG16=1; para que quedara con la formula de 48000000/(4*(n+1))
OpenUSART(USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE &
USART_EIGHT_BIT & USART_SINGLE_RX & USART_BRGH_HIGH,12);
BAUDCONbits.BRG16=1;
-
En realidad es asi:
OpenUSART(USART_TX_INT_OFF & USART_RX_INT_ON & USART_ASYNCH_MODE &
USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH,12);
BAUDCONbits.BRG16=1;
RCONbits.IPEN = 1; // abilitamos Prioridades
IPR1bits.RCIP = 1; //alta priorida usar
la diferencia es el USART_SINGLE_RX, no se que es esa cosa rara pero hace que no alla interrupcion, se la cambie por USART_CONT_RX y funsiono muy bien. se lo recomiendo mucho a la gente que programa pics