Пример #1
0
void debugWrite( char *p )
{
	unsigned mycpsr;
	const char *pp = p;
	
	while ( 0 != *pp ) {
	
		pp = uart0Puts( pp );
		
		mycpsr = disableIRQ();
		WDFEED = 0xAA; WDFEED = 0x55;
		restoreIRQ( mycpsr );
		
	}
}
Пример #2
0
struct GPSpoint pollGPS(){
	BYTE sent0 = (BYTE) (*U3RBR);
	BYTE sent1 = (BYTE) (*U3RBR);
	BYTE sent2 = (BYTE) (*U3RBR);
	BYTE sent3 = (BYTE) (*U3RBR);
	BYTE sent4 = (BYTE) (*U3RBR);
	BYTE sent5 = (BYTE) (*U3RBR);

	if(sent0 == '$' && sent1== 'G' && sent2== 'P'){
		if(sent3 == 'G' && sent4 == 'G' && sent5 == 'A'){
			  uart0Puts("$GPGGA");
		}
		else if(sent3 == 'G' && sent4 == 'S' && sent5 == 'V'){
			uart0Puts("$GPGSV");
		}
		else if(sent3 == 'G' && sent4 == 'S' && sent5 == 'A'){
			uart0Puts("$GPGSA");
		}
		else if(sent3 == 'R' && sent4 == 'M' && sent5 == 'C'){
			uart0Puts("$GPRMC");
		}
		else{
			uart0Puts("$GPWTF");
			return;
		}
	}
	else{
		uart0Puts("F****D UP");
		return;
	}

	BYTE LatDeg = (BYTE) *U3RBR;
	BYTE LatMin = (BYTE) *U3RBR;
	BYTE LatMinD = (BYTE) *U3RBR;
	BYTE LatSign = (BYTE) *U3RBR;
	BYTE LatDir = (BYTE) *U3RBR;

	BYTE LonDeg = (BYTE) *U3RBR;
	BYTE LonMin = (BYTE) *U3RBR;

	BYTE b0 = (BYTE) *U3RBR;
	BYTE b1 = (BYTE) *U3RBR;
	WORD LonMinD = (WORD) (b0 << 8) + b1;

	BYTE LonSign = (BYTE) *U3RBR;
	BYTE LonDir = (BYTE) *U3RBR;

	b0 = (BYTE) *U3RBR;
	b1 = (BYTE) *U3RBR;
	WORD wVal = (WORD) ((b0 << 8) + b1);

}
Пример #3
0
void debugWritecrlf( char *p )
{
	debugWrite( p );
	uart0Puts( "\r\n" );
}
Пример #4
0
//This function will print 'var' using the base 'base'. if opt is '1' then it will also print a new line after.
void printvar(unsigned long var, unsigned int base, char opt){
	char buff[65];
	int i;

	buff[64] = 0;
	i = 63;
	do{
		if( base==10 && ((64-i)%4 == 0) ){
			buff[i--] = ',';
		}
		else if( base!=10 && (64-i)%5 == 0 ){
			buff[i--] = ' ';
		}
		switch(var%base){
		case 0:
			buff[i--] = '0';
			break;
		case 1:
			buff[i--] = '1';
			break;
		case 2:
			buff[i--] = '2';
			break;
		case 3:
			buff[i--] = '3';
			break;
		case 4:
			buff[i--] = '4';
			break;
		case 5:
			buff[i--] = '5';
			break;
		case 6:
			buff[i--] = '6';
			break;
		case 7:
			buff[i--] = '7';
			break;
		case 8:
			buff[i--] = '8';
			break;
		case 9:
			buff[i--] = '9';
			break;
		case 10:
			buff[i--] = 'A';
			break;
		case 11:
			buff[i--] = 'B';
			break;
		case 12:
			buff[i--] = 'C';
			break;
		case 13:
			buff[i--] = 'D';
			break;
		case 14:
			buff[i--] = 'E';
			break;
		case 15:
			buff[i--] = 'F';
			break;
		}
		var /= base;

	}while(var > 0);

	if(base==16){
		for(;i > 54; i--){
			if( (64-i)%5 == 0 )
				buff[i--] = ' ';
			buff[i] = '0';
		}
		buff[i--]='x';
		buff[i]='0';
	}
	else if(base==2){
		for(;i > 24; i--){
			if( (64-i)%5 == 0 )
				buff[i--] = ' ';
			buff[i] = '0';
		}
		buff[i] = 'b';
	}
	else i++;

	uart0Puts(&(buff[i]));
	switch(opt){
	case 1:
		uart0Puts("\r\n");
		break;
	case 2:
		uart0Puts("\t");
		break;
	default:
		break;
	}
}