Пример #1
0
void UART0_IRQHandler(void){

	//disable interrupt
	U0IER = 0x0;

	/*
	char s[11];
	char a = U0RBR;
	for(int i = 0;i<100;i++){
		itoa(array[i],s,10);
		USART0_String(s);
		USART0_Transmit('\r');
		USART0_Transmit('\n');
	}
*/
	//USART_Handler();

	char s[12];
	int tmp = 0;



	s[0] = U0RBR;

	for(tmp=1;tmp<11;tmp++){
		s[tmp] = USART0_Receive();
		if(s[tmp] == '\n') break;
	}
	s[tmp+1] = '\0';

	tmp = (int)strtol(s, NULL, 10);

	pwm_set_value(FAN_ADC, tmp);
	//heater_set_temp(EXTRUDER_ADC, tmp);
	//STEPS_PER_M_E = tmp;

	char a[12];
	itoa(tmp, a, 10);


	USART0_String(a);
	USART0_Transmit('\n');

	//enable interrupt
	U0IER = 0x1;
}
Пример #2
0
/**
 * @brief
 */
void snap_task( void )
{
    unsigned char frame;

    if( USART0_RTR() )
    {
        frame = USART0_Receive();

        switch( state )
        {
            case kSnapPreamble :
            case kSnapSync :
                if( SYNC == frame )
                {
                    state = kSnapHeaderDef;
                    hdb_cnt = 0;
                }
                break;
            case kSnapHeaderDef :
                if( 0 == hdb_cnt )
                {
                    hdb_cnt = 1;
                    hdb2.raw = frame;
                }
                else
                {
                    hdb_cnt = 2;
                    hdb1.raw = frame;
                    if( DAB_0 == hdb2.fields.DAB )
                    {
                        if( SAB_0 == hdb2.fields.SAB )
                        {
                            if( PFB_0 == hdb2.fields.PFB )
                            {
                                if( NDB_0 == hdb1.fields.NDB )
                                {
                                    if( EDM_NONE == hdb1.fields.NDB )
                                    {
                                        process_packet();
                                    }
                                    else
                                    {
                                        state = kCRC;
                                    }
                                }
                                else
                                {
                                    state = kData;
                                }
                            }
                            else
                            {
                                state = kProtocol;
                            }
                        }
                        else
                        {
                            state = kSource;
                        }
                    }
                    else
                    {
                        state = kDestination;
                    }

                }

            case kDestination :
            case kSource :
            case kProtocol :
            case kData :
            case kCRC :
                break;
        }
    }
}