Пример #1
0
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;
}

}
Пример #2
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;

}
Пример #3
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

  }
}
Пример #4
0
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
}
Пример #5
0
void f(void *s) {
	int i;
	for (i = 0; i < N; i++) puts_((char *) s);
}