Tu as bien un debugger, affiche les valeurs de l1 l2 l3 SP1BRG ci-dessous juste après leur calcul.
Code : Tout sélectionner
void Uart1_Init(unsigned long baudrate)
{
unsigned long l1 = 64000000/4/baudrate-1;
unsigned long l2 = 64000000UL/4/baudrate-1;
unsigned long l3 = (unsigned long)64000000/4/baudrate-1;
BAUD1CON = 0x08; // uart, brg16=1
SP1BRG = 64000000/4/baudrate-1; // uart, speed
TX1STA = 0x24; // uart, tx on, brgh=1
RC1STA = 0x90; // uart on, rx on
}