Beispiel #1
0
/**
  * @brief  Main function.
  *
  * @param  None.
  * @retval int
  */
int main( void )
{
    GPIO_Init(GPIOD, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST);
    //GPIOD->DDR |= GPIO_PIN_7;
    //GPIOD->CR1 |= GPIO_PIN_7;
    GPIOD->ODR |= GPIO_PIN_7;

    BEEP_Init(BEEP_FREQUENCY_1KHZ);
    
    while(1)
    {
        //float _sqrt;
        //_sqrt = sqrtf(4.0);
        delay(30000);
        GPIOD->ODR ^= GPIO_PIN_7;
        BEEP_Cmd(ENABLE);
        delay(3000);
        BEEP_Cmd(DISABLE);
        delay(3000);
        BEEP_Cmd(ENABLE);
        delay(3000);
        BEEP_Cmd(DISABLE);
    }
}
Beispiel #2
0
/**
  ******************************************************************************
  * @brief TS Application code 
  * @par Parameters:
  * None
  * @retval void None
  * @par Required preconditions:
  * None
  ******************************************************************************
  */
void ExtraCode_StateMachine(void)
{
	u16 Timer2Count;
	
  if ((TSL_GlobalSetting.b.CHANGED) && (TSLState == TSL_IDLE_STATE))
  {
   
    TSL_GlobalSetting.b.CHANGED = 0;
 
    if (sSCKeyInfo[0].Setting.b.DETECTED) /* TS1 touched */
    {
				switch (icount)
				{
            case 0:
                // BEEPER 1kHz
                //BEEP_Cmd(DISABLE);
                //Delay(100);
								CountOut(83, BeepDriverPitch_Medium, 1);
								//while(1)BeepDriver_Action();
								icount = 1;
                break;
            case 1:
								CountOut(16, BeepDriverPitch_Medium, 3);
								icount = 2;
                break;
            case 2:
								CountOut(24, BeepDriverPitch_Medium, 2);
                icount = 3;
                break;
            case 3:
						    // BEEPER OFF
                BEEP_Cmd(DISABLE);
                icount = 0;
                break;
						default:
						    break;
				}
    }	
  }

}
Beispiel #3
0
void Beep_Init(BEEP_Frequency_TypeDef BEEP_Frequency)
{
    BEEP_Init(BEEP_Frequency);
    CLK_LSICmd(ENABLE);
    BEEP_Cmd(ENABLE);
}
Beispiel #4
0
/**
  * @brief Example main entry point.
  * @par Parameters:
  * None
  * @retval
  * None
  */
void main(void)
{

    u8 i = 0;

    /* Initialization of the clock */
    /* Clock divider to HSI/1 */
    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);

    /* Initialization of I/Os in Output Mode */
    GPIO_Init(LEDS_PORT, (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN), GPIO_MODE_OUT_PP_LOW_FAST);

    /* Initialization of I/O in Input Mode with Interrupt */
    GPIO_Init(BUTTON_PORT, BUTTON_PIN, GPIO_MODE_IN_FL_IT);

    /* Initialization of the Interrupt sensitivity */
    EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOC, EXTI_SENSITIVITY_FALL_ONLY);

    /* BEEP calibration */

    BEEP_LSICalibrationConfig(LSIMeasurment());

    GPIO_Write(LEDS_PORT, (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN)); /* All LEDs ON */

    /* Initialize SPI for LCD */
    SPI_DeInit();
    SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_128, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_1LINE_TX, SPI_NSS_SOFT, 0x07);
    SPI_Cmd(ENABLE);

    /* Initialize LCD */
    LCD_Init();

    /* Clear LCD lines */
    LCD_Clear();

    /* Enable general interrupts for Key button reading */
    enableInterrupts();

    LCD_PrintString(LCD_LINE1, ENABLE, DISABLE, "  BEEPER OFF");
    LCD_PrintString(LCD_LINE2, ENABLE, DISABLE, "   Press Key");

    while (1)
    {
        /* Check button status */
        if (ButtonPressed == TRUE) /* Button is pressed */
        {
            ButtonPressed = FALSE;
            /* Change BEEP frequency */
            switch (i)
            {
            case 0:
                BEEP_Cmd(DISABLE);
                Delay(100);
                BEEP_Init(BEEP_FREQUENCY_1KHZ);
                BEEP_Cmd(ENABLE);
                GPIO_Write(LEDS_PORT, LED1_PIN); /* LED1 ON */
                LCD_PrintString(LCD_LINE1, ENABLE, DISABLE, "  BEEPER 1kHz");
                i = 1;
                break;
            case 1:
                BEEP_Cmd(DISABLE);
                Delay(100);
                BEEP_Init(BEEP_FREQUENCY_2KHZ);
                BEEP_Cmd(ENABLE);
                GPIO_Write(LEDS_PORT, LED2_PIN); /* LED2 ON */
                LCD_PrintString(LCD_LINE1, ENABLE, DISABLE, "  BEEPER 2kHz");
                i = 2;
                break;
            case 2:
                BEEP_Cmd(DISABLE);
                Delay(100);
                BEEP_Init(BEEP_FREQUENCY_4KHZ);
                BEEP_Cmd(ENABLE);
                GPIO_Write(LEDS_PORT, LED3_PIN); /* LED3 ON */
                LCD_PrintString(LCD_LINE1, ENABLE, DISABLE, "  BEEPER 4kHz");
                i = 3;
                break;
            case 3:
                BEEP_Cmd(DISABLE);
                GPIO_Write(LEDS_PORT, LED4_PIN); /* LED4 ON */
                LCD_PrintString(LCD_LINE1, ENABLE, DISABLE, "  BEEPER OFF");
                i = 0;
                break;
            default:
                break;
            }
        }

    }

}
Beispiel #5
0
__interrupt void SPI_IRQHandler(void)
{
    static u8 cnt = 0;
    u8 * data = getDataBuf();
    
    if(SPI_GetITStatus(SPI_IT_RXNE) != RESET){
        spi_cmd = SPI_ReceiveData();
        SPI_ClearITPendingBit(SPI_IT_RXNE); 
    }    
    if(SPI_GetITStatus(SPI_IT_TXE) != RESET){
        if(spi_cmd == 0xff)
            SPI_SendData(cnt);
        else if((spi_cmd & 0xc0) == 0x40)
            SPI_SendData(data[spi_cmd&0x3f]);
        else if((spi_cmd & 0xc0) == 0x80)
        {
            switch(buffer_s)
            {
            case 0:
              SPI_SendData(Rx_Buffer[spi_cmd&0x3f]);
              break;
#if defined(NEED_RESOLVE_INFO)             
            case 1:
              SPI_SendData(RxGGA[spi_cmd&0x3f]);
              break;
#endif // defined(NEED_RESOLVE_INFO)              
            case 2:
              SPI_SendData(DataP[spi_cmd&0x3f]);
              break;
            case 3:
              SPI_SendData(DataQ[spi_cmd&0x3f]);
              break;            
            default:
              SPI_SendData(data[spi_cmd&0x3f]);
              break;
            }
        }
        else if((spi_cmd & 0xf0) == 0x30)
            buffer_s = spi_cmd & 0xf;
        else if((spi_cmd & 0xfc) == 0x14)
        {
            switch(spi_cmd & 0x03)
            {
            case 0:
              BEEP_Cmd(DISABLE);
              SPI_SendData(spi_cmd);
              break;           
            case 1:
              BEEP_DeInit();
              BEEP_Init(BEEP_FREQUENCY_1KHZ);
              BEEP_Cmd(ENABLE);              
              SPI_SendData(spi_cmd);
              break;             
            case 2:
              BEEP_DeInit();
              BEEP_Init(BEEP_FREQUENCY_2KHZ);
              BEEP_Cmd(ENABLE);                  
              SPI_SendData(spi_cmd);
              break;
            case 3:
              BEEP_DeInit();
              BEEP_Init(BEEP_FREQUENCY_4KHZ);
              BEEP_Cmd(ENABLE);                  
              SPI_SendData(spi_cmd);
              break;            
            default:
              BEEP_Cmd(DISABLE);
              SPI_SendData(data[spi_cmd]);
              break;
            }            
        }
        else
            SPI_SendData(0x66);
        cnt ++;
        SPI_ClearITPendingBit(SPI_IT_TXE); 
    }
}