/** * @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); } }
/** ****************************************************************************** * @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; } } } }
void Beep_Init(BEEP_Frequency_TypeDef BEEP_Frequency) { BEEP_Init(BEEP_Frequency); CLK_LSICmd(ENABLE); BEEP_Cmd(ENABLE); }
/** * @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; } } } }
__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); } }