/*******************************************************************************
* Function Name  : TIM2_IRQHandler
* Description    : This function handles TIM2 global interrupt request.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void TIM2_IRQHandler(void)
{
	static byte b1Sec=0;

	if (TIM_GetITStatus(TIM2, TIM_IT_CC4) != RESET) // 120us, 8000Hz
	{
		TIM_ClearITPendingBit(TIM2, TIM_IT_CC4);
		ISR_ADC();
    TIM_SetCounter(TIM2, 0);
    TIM_SetCompare4(TIM2, CCR4_Val);


		if( !( gwCounter1 & 7 ) ) // 840us
		{
			ISR_1ms_TIMER();
		}

		if( !( gwCounter1 & 3 ) ) // 480us, 2000Hz
		{
			ISR_LED_RGB_TIMER();

		}
		if( !( gwCounter1 & 31 ) ) // 3840us, 250Hz
		{
			ISR_SPI_READ();
			__ISR_Buzzer_Manage();
			GB_BUTTON = ReadButton();
		}

		if( !( gwCounter1 & 0x3FF ) ) // 125ms
		{
			LED_SetState(LED_RX,OFF);
			LED_SetState(LED_TX,OFF);

			if( !(b1Sec&0x07) )
			{
				ISR_BATTERY_CHECK();
			}

			b1Sec++;


		}



		/*
		if( !( Counter1 & 32 ) ) // 3960us, 250Hz
		{

		}
		*/
		gwCounter1++;
	}
}
Beispiel #2
0
int main() {
	LED_Init(15,0);
	KBD_Init(layoutTest);
	int tecla = 0;
	while(1){
		tecla = KBD_Read();
		if(tecla != -1){
			int i;
			for(i=0; i < tecla; ++i){
				LED_SetState(1);
				Delay(500);
				LED_SetState(0);
				Delay(500);
			}
		}
	}
	return 0;
}
Beispiel #3
0
int main(void)
{
	// Configure the system clock.
	// The system clock is 168Mhz.
	RCC_HSEConfig(RCC_HSE_ON); // ENABLE HSE (HSE = 8Mhz)
	while(!RCC_WaitForHSEStartUp());  // Wait for HSE to stabilize
	
	SystemCoreClockUpdate();
	RCC_PCLK1Config(RCC_HCLK_Div4); // Set APB1=42Mhz (168/4)

	// Initialize peripheral modules
	InitCAN();
	InitGPIO();
	InitButtons();
	InitEXTI();
	InitNVIC();
	InitTim();
	InitSystick();
	InitWatchdog();
	
	/* 
	Check if the IWDG reset has occoured
	*/
	/*if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) == SET){
		GPIOA->ODR |= GPIO_Pin_6; //temp action
		RCC_ClearFlag();
	}*/
	
	while(1)
	{ 	
		if(clk10msWheel == COMPLETE){
			TxWheelrpm();
			clk10msWheel = RESTART;
		}
		
		checkButtons();
		
		LED_SetState(LED_GREEN, (GPIOE->IDR & BUTTON_START_GPIO_PIN) ? DISABLE : ENABLE);
		LED_SetState(LED_RED,   (GPIOE->IDR & BUTTON_STOP_GPIO_PIN)  ? ENABLE : DISABLE);
	}
}
Beispiel #4
0
/*! \brief LED Init
  *
  * Initialize the LED access
  *
  * @retval None
*/
void LED_Init(void)
{
#ifndef DEBUG
  int i;

  GPIO_Init(GPIO_PB, GPIO_BIT_3
                   | GPIO_BIT_4
                   | GPIO_BIT_5
                   | GPIO_BIT_6, &GPIO_Init_Struct);
  
  /* Switch all leds off by default (init is on) */
  for (i=0;i<4;i++)
    LED_SetState(i,LED_OFF);
#endif /* DEBUG */  
}
int main(void)
#endif
{
    while(!ShouldAbortApp())
    {
        LED_SetState(LED_RED, LED_ON);
        LED_SetState(LED_GREEN, LED_ON);
        LED_SetState(LED_BLUE, LED_ON);
        
        LED_SetState(LED_RED, LED_OFF);
        LED_SetState(LED_GREEN, LED_OFF);
        LED_SetState(LED_BLUE, LED_OFF);
    }
    return 0;
}
Beispiel #6
0
int main(void)
{
    uint8_t ledState = 0;
    uint8_t num = 5;
    uint32_t i;
    
    /* ³õʼ»¯ */
    SYSTEM_SetClock(72);        
    TFT_Init();
    LED_Config();

	while(1)
	{
        i++;
        if(i > 0xFFFFF)
        {
            i = 0;
            if(ledState == 0xFE)
            {
                ledState = 0xFF;
            }
            else
            {
                ledState = 0xFE;
            }
            LED_SetState(ledState);

            num++;
            if(num == 21)
            {
                num = 0;
            }
            /* ÆÁÏÔʾ */
            switch(num)
            {
                case(0):
                    GUI_Box(0, 0, TFT_XMAX, 49, WHITE);
                    GUI_Box(0,  50, TFT_XMAX, 99, BLACK);
                    GUI_Box(0,  100, TFT_XMAX, 149, BLUE);
                    GUI_Box(0,  150, TFT_XMAX, 199, RED);
                    GUI_Box(0,  200, TFT_XMAX, 249, MAGENTA);
                    GUI_Box(0,  250, TFT_XMAX, 299, GREEN);
                    GUI_Box(0,  300, TFT_XMAX, 349, CYAN);
                    GUI_Box(0,  350, TFT_XMAX, 399, YELLOW);
                    break;
                case(6):                    
                    TFT_ClearScreen(BLACK);
                    GUI_Show12ASCII(90, 0, "PERCHIN", RED, BLACK);
                    GUI_Show12ASCII(0, 16, "welcome to the world of STM32!", RED, BLACK);
                    break;
                case(13):
                    GUI_Box(0, 0, 29, TFT_YMAX, WHITE);
                    GUI_Box(30,  0, 59, TFT_YMAX, BLACK);
                    GUI_Box(60,  0, 89, TFT_YMAX, BLUE);
                    GUI_Box(90,  0, 119, TFT_YMAX, RED);
                    GUI_Box(120,  0, 149, TFT_YMAX, MAGENTA);
                    GUI_Box(150,  0, 179, TFT_YMAX, GREEN);
                    GUI_Box(180,  0, 209, TFT_YMAX, CYAN);
                    GUI_Box(210,  0, 239, TFT_YMAX, YELLOW);
                    break;
                default:
                    break;
            }
        }
	}                         
}
Beispiel #7
0
int main(void)
{

	byte bCount;
	long lTemp;

	System_Configuration();

	dxl_set_power(OFF);
	//dxl_set_power(ON);
	Zigbee_SetState(ON);
	//gbDxlPwr = ON;

	//LED_SetState(LED_POWER, ON);
	//	LED_RGB_SetState(LED_R|LED_G|LED_B);
	//LED_RGB_SetState(OFF);

	BufferClear(USART_DXL);
	BufferClear(USART_PC);
	BufferClear(USART_ZIGBEE);

	setBuzzerOff();

/*
	for(bCount =0; bCount < 50; bCount++ )
	{
		setBuzzerData(bCount);
		setBuzzerPlayLength(10);
		PlayBuzzer();
		//mDelay(3000);
		while(getBuzzerState());
		mDelay(500);
	}
*/


/*
	//BKP_WriteBackupRegister((P_OPERATING_MODE+1)<<2, 0xffff);

	  if(BKP_ReadBackupRegister((P_OPERATING_MODE+1)<<2) == 0xffff) //Initialize to Factory Default or reset mode restart
	  {
	    for(bCount=0; bCount < ROM_CONTROL_TABLE_LEN; bCount++)
	    {
	        //ROM_CAST(bCount) = gbpControlTable[bCount] = ROM_INITIAL_DATA[bCount];
	    	gbpControlTable[bCount] = ROM_INITIAL_DATA[bCount];
	        BKP_WriteBackupRegister((bCount+1)<<2, WORD_CAST(gbpControlTable[bCount]));
	    }
	    gbLEDBlinkCounter = 32;
	  }
	  else
	  {
	    for(bCount=0; bCount < ROM_CONTROL_TABLE_LEN; bCount++)
	    {
	      //gbpControlTable[bCount] = (byte)(BKP_ReadBackupRegister((bCount+1)<<2)); !!!!!
	      gbpControlTable[bCount] = ROM_INITIAL_DATA[bCount];
	    }
	    gbLEDBlinkCounter = 8;
	  }

	for (bCount = 0; bCount < 3; bCount++) {
		LED_SetState(LED_MANAGE|LED_EDIT|LED_PLAY, ON);
		mDelay(50);
		LED_SetState(LED_MANAGE|LED_EDIT|LED_PLAY, OFF);
		mDelay(50);
	}
*/
	/*
	if( (EEPROM_Read(P_OPERATING_MODE) == 0xffff) || (EEPROM_Read(P_OPERATING_MODE) == 0xff) ) //Initialize to Factory Default or reset mode restart
	{
		EEPROM_Write( P_BAUD_RATE, ROM_INITIAL_DATA[P_BAUD_RATE] );
		EEPROM_Write( P_OPERATING_MODE, 0);
	}
	else if(EEPROM_Read(P_OPERATING_MODE) == 0x11) //Digital Reset
	{
		EEPROM_Write( P_BAUD_RATE, ROM_INITIAL_DATA[P_BAUD_RATE] );
		EEPROM_Write( P_OPERATING_MODE, 0);
	}
	*/


	for(bCount=0; bCount < ROM_CONTROL_TABLE_LEN; bCount++)
	{
		  gbpControlTable[bCount] = ROM_INITIAL_DATA[bCount];
	}
	//GB_BAUD_RATE = EEPROM_Read(P_BAUD_RATE);
/*
	lTemp = 2000000;
	lTemp /= (GB_BAUD_RATE+1);
	USART_Configuration(USART_DXL,lTemp);
	USART_Configuration(USART_PC,lTemp);
*/


    gbLEDBlinkCounter = 8;





	for (bCount = 0; bCount < 3; bCount++) {
		LED_SetState(LED_MANAGE|LED_EDIT|LED_PLAY, ON);
		mDelay(50);
		LED_SetState(LED_MANAGE|LED_EDIT|LED_PLAY, OFF);
		mDelay(50);
	}
/*
	dxl_set_power(1);
	gbDxlPwr = 1;
	mDelay(100);

	GPIO_ResetBits(PORT_ENABLE_RXD, PIN_ENABLE_RXD);	// RX Disable
	GPIO_SetBits(PORT_ENABLE_TXD, PIN_ENABLE_TXD);	// TX Enable
	  while(1)
	  {
		GPIO_ResetBits(PORT_ENABLE_RXD, PIN_ENABLE_RXD);	// RX Disable
		GPIO_SetBits(PORT_ENABLE_TXD, PIN_ENABLE_TXD);	// TX Enable

		  USART_SendData(USART1, 'a');
			while( USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET );

			GPIO_ResetBits(PORT_ENABLE_TXD, PIN_ENABLE_TXD);	// TX Disable
			GPIO_SetBits(PORT_ENABLE_RXD, PIN_ENABLE_RXD);	// RX Enable
			mDelay(100);

	  }

*/

	Process();

	while(1);

}