예제 #1
0
파일: main.c 프로젝트: spel-uchile/SUCHAI
void mon_putc(char ch)
{
    while(U1STAbits.UTXBF);  /* wait if the buffer is full */
#ifndef STDOUT_NO_CR_WITH_LF
    if (LF == ch)
        putcUART1(CR);
#endif
#ifdef STDOUT_NO_CR
    if (CR == ch)
        return;
#endif
    putcUART1(ch);
}
예제 #2
0
파일: midgTest.c 프로젝트: malife/dsPicMidg
void copyMidgToUart1() {
    unsigned char buf[MIDG_CHUNKSIZE];
    int i;
    
    unsigned char test[] = MSG_DIV(3,5,2,50);
    midgMsgAppendChecksum( test );
    printToUart1("test of macros: ");
    for ( i = 0; i < 9; i++ ) {
        printToUart1("%u ", (unsigned int)test[i]);
    }
    printToUart1("... that was it.\n");
    
    midgRead(buf);
    
    /*
    // add NUL terminator after bytes
    buf[buf[0]+1] = 0;
    
    // send the number of bytes read from the buffer
    printToUart1("%u:<%s>\r\n\0", buf[0], &buf[1]);
    */
    
    printToUart1("%u:<", buf[0]);
    for ( i = 1; i <= buf[0]; i++ ) {
        putcUART1(buf[i]);
        while(BusyUART1());
    }
    printToUart1(">\r\n\0");
}
예제 #3
0
//#-------------------------------------------------------------------------------------------------
void COMM1_Tx(unsigned int d)
{
    while( U1STAbits.UTXBF);
    putcUART1(d);
}
예제 #4
0
파일: backup.c 프로젝트: rtl68k/traktana
void process_cmd(void)
{
	char goodcmd[]	= "- Command Accepted.\n\n\r\0";
	char evilcmd[]	= "- BAD Command.\n\n\r\0";

	char *r = evilcmd;

	if (cmdissued == 1)
	{
		switch(*rbufptr++)
		{
		/*** STEPPER COMMANDS ***/
			case 's':
				putcUART1('s');
				if(*rbufptr++ == 't'){
					putcUART1('t');
					switch(*rbufptr++){
						case 's':{
							putcUART1('s');
							putcUART1(' ');
							// sts command received (start)
							if(*rbufptr++ == ' '){
								// sts parameters [1 or 2]
								if(*rbufptr == '1'){
									r = goodcmd;stepper_enable1=1;
								}else if(*rbufptr++ == '2'){
									r = goodcmd;stepper_enable2=1;
								}	
							}
						}break;
						case 'p':{
							putcUART1('p');
							// stp command received (stop)
							if(*rbufptr++ == ' '){
								// stp parameters [1 or 2]
								if(*rbufptr == '1'){
									r = goodcmd;stepper_enable1=0;
								}else if(*rbufptr++ == '2'){
									r = goodcmd;stepper_enable2=0;
								}	
							}
						}break;
						case 'd':{
							putcUART1('d');
							// std command received (disable)
							if(*rbufptr == ' '){
								*rbufptr++;
								// std parameters [1 or 2]
								if(*rbufptr == '1'){
									r = goodcmd;disable_stepper1();
								}else if(*rbufptr++ == '2'){
									r = goodcmd;disable_stepper2();
								}	
							}else{
								switch(*rbufptr++){
									// stdc command received (direction clockwise)
									case 'c':{
									 if(*rbufptr++ == ' '){
										// stdc parameters [1 or 2]
										if(*rbufptr == '1'){
											r = goodcmd;direction1=1;
										}else if(*rbufptr++ == '2'){
											r = goodcmd;direction2=1;
										}
									 }
									}break;	
									// stdh command received (direction counter clockwise)
									case 'h':{
									 if(*rbufptr++ == ' '){
										// stdh parameters [1 or 2]
										if(*rbufptr == '1'){
											r = goodcmd;direction1=0;
										}else if(*rbufptr++ == '2'){
											r = goodcmd;direction2=0;
										}
									 }
									}break;	
								}
							}
						}break;
						case 'm':{
							putcUART1('m');
								switch(*rbufptr++){
									// stmf command received (Full Step Mode)
									case 'f':{
									 if(*rbufptr++ == ' '){
										// stdc parameters [1 or 2]
										if(*rbufptr == '1'){
											r = goodcmd;mode_step1=1;
										}else if(*rbufptr++ == '2'){
											r = goodcmd;mode_step2=1;
										}
									 }
									}break;	
									// stmh command received (Half Step Mode)
									case 'h':{
									 if(*rbufptr++ == ' '){
										// stdh parameters [1 or 2]
										if(*rbufptr == '1'){
											r = goodcmd;mode_step1=0;
										}else if(*rbufptr++ == '2'){
											r = goodcmd;mode_step2=0;
										}
									 }
									}break;	
								}
						}break;
						case 'f':{
							putcUART1('f');
							r = goodcmd;
						}break;
						// invalid command
						default: r = evilcmd;break;
					}
				}
			break;
			/*** DC MOTOR COMMANDS ***/
			case 'm':
				putcUART1('m');
				if(*rbufptr++ == 'd'){
					putcUART1('d');
					if(*rbufptr++ == 'c'){
						putcUART1('c');
						switch(*rbufptr++){
							case 'r':{
								putcUART1('r');
								// mdcr command received (start)
								if(*rbufptr++ == ' '){
									// mdcr parameters []
									r = goodcmd; SetDCOC1PWM(*rbufptr);
								}
							}break;
							case 'p':{
								putcUART1('p');
								// mdcp command received (start)
								if(*rbufptr++ == ' '){
									// mdcp parameters []
									
								}
							}break;
							case 'i':{
								putcUART1('i');
								// mdci command received (start)
								if(*rbufptr++ == ' '){
									// mdci parameters []
									
								}
							}break;
							case 'd':{
								putcUART1('d');
								// mdcd command received (start)
								if(*rbufptr++ == ' '){
									// mdcd parameters []
									
								}
							}break;
						}
					}
				}
			break;
		}

		rbufptr	= (char*)bufstt;
		wbufptr = rbufptr;

		putsUART1((unsigned int *)r);
		while(BusyUART1());

		cmdissued = 0;
	}
}