void bash_task(void *pvParameters) { s_uso_bash = uxTaskGetStackHighWaterMark(NULL); msg_inicial(); while (1) { /* string para deixar o terminal bonito */ usb_print((char *) prompt_str); /* formata, busca e executa o comando */ processa_cmd(); /* mede o consumo */ s_uso_bash = uxTaskGetStackHighWaterMark(NULL); } }
void main() { int i; TRISAbits.TRISA0 = 1; //Direciona o pino 0 da porta A como entrada TRISAbits.TRISA3 = 1; //Direciona o pino 3 da porta A como entrada TRISCbits.TRISC2 = 0; //Direciona o pino 2 da porta C como saída (Aquecimento) TRISAbits.TRISA4 = 1; //Direciona o pino 4 da porta A como entrada (B2) OpenUSART(USART_TX_INT_OFF //desabilita interrupção de transmissão & USART_RX_INT_OFF //desabilita interrupção de recepção & USART_ASYNCH_MODE //modo assíncrono & USART_EIGHT_BIT //transmissão e recepção em 8 bits & USART_BRGH_HIGH, //Baud Rate em alta velocidade 25); //SPBRG p/ 19200 bps ADCON2 = 0b10100001; /*ADFM1 = 1 -> Resultado da conversão AD ... justificado à direita - ****Velocidade de aquisição em 8TAD ACQT2 = 1 ACQT1 = 0 ACQT0 = 0 ****Fonte de clock em Fosc/8 ADCS2 = 0 ADCS1 = 0 ADCS0 = 1*/ ADCON1 = 0b00001011; /* - - VCFG1 = 0 -> Vref- = terra VCFG0 = 1 -> Vref+ = VDD *****Seleciona os canais AN0 e AN3 como analógicos PCFG3 = 1 PCFG2 = 1 PCFG1 = 0 PCFG0 = 1*/ msg_inicial(); while(1) { while(!DataRdyUSART()); //Aguarda a chegada de um caractere no buffer de recepção rec[i] = getcUSART(); //recebe o caractere e armazena no índice n_dado da //matriz n_dado putcUSART(rec[i]); Delay10KTCYx(1); //Gera um delay de 5ms i++; if(rec[i-1]==0x0D) { trata_serial(); i=0; msg_inicial(); } } }