/* Electronica IV * Projecto de Elevador * Controlo de um motor DC atraves de um pic16f877 da microchip * * Helder Cabrita 27470 & Jose Pereira 28102 * * * funcoes de transmissao por RS232 * filename: SERIAL.C * version 2.0 @ 06.03.2006 15.46 * */ #include #include "serial.h" #include "CONST.H" void putChar(unsigned char ch) { while(!TXIF); TXREG=ch; } unsigned char getChar(void) { while(!RCIF); return RCREG; } void printStr(const char * str) { while( *str != 0 ) putChar(*str++); } unsigned char putCharE(void) { unsigned char data; BOOLEAN erro=TRUE; for(erro=TRUE;erro;erro=error_test()) data=getChar(); return data; } BOOLEAN error_test(void) { if((OERR | FERR) == 1) { RCEN=0; RCEN=1; OERR=0; return TRUE; } return FALSE; } void printVal(int val,int base) { char str[18]; if(val<0) { str[0]='-'; convert(val*(-1),base,str+1,17); printStr(str); } else { convert(val,base,str,17); printStr(str); } } void convert(int val,int base,char * str,int size) { short int i,k; char aux; if(base<=10) { for(i=0;i