void _int_(24) isr_uart1(void){ if(U1RXREG == 'l'){ puts_("voltMin: "); putc(voltMin/10 + 48); putc((voltMin - (voltMin/10)*10) + 48); putc('\n'); puts_("voltMax: "); putc(voltMax/10 + 48); putc((voltMax - (voltMax/10)*10) + 48); putc('\n'); IFS0bits.U1RXIF = 0; } }
int main(void){ U1BRG = (20000000 + 8*115200 )/ (16*115200) - 1; U1MODEbits.BRGH = 0; // divisão por 16 U1MODEbits.PDSEL = 00; /* PDSEL<1:0>: Parity and Data Selection bits 11 = 9-bit data, no parity 10 = 8-bit data, odd parity 01 = 8-bit data, even parity 00 = 8-bit data, no parity */ U1MODEbits.STSEL = 0; // número de stop bits - 1 U1STAbits.UTXEN = 1; U1STAbits.URXEN = 1; U1MODEbits.ON = 1; while(1) { puts_("String de teste\n"); delay(1000); } return 0; }
int main(void){ configUart(115200, 'N', 1); TRISEbits.TRISE0 = 0; // RE0 como saída while(1){ while(U1STAbits.TRMT == 0); LATEbits.LATE0 = 1; //Set RE0 puts_("123456789AB"); LATEbits.LATE0 = 0; //Reset RE0 } }
void _int_(12) isr_T3(void) { static int counter = 0; send2displays(toBCD(value2display)); // Send "value2display" global variable to displays if(++counter==100){ counter = 0; puts_("V: "); putc(value2display/10 + 48); putc((value2display - (value2display/10)*10) + 48); putc('\n'); } IFS0bits.T3IF = 0; // Reset T3IF flag }
void f(void *s) { int i; for (i = 0; i < N; i++) puts_((char *) s); }