/**************************************************************************//** * @brief Simple task which is blinking led * @param *pParameters pointer to parameters passed to the function *****************************************************************************/ static void LedBlink(void *pParameters) { pParameters = pParameters; for (;;) { GPIO_PortOutSetVal(LED_PORT, 1<<LED_PIN, 1<<LED_PIN); vTaskDelay(DELAY); GPIO_PortOutSetVal(LED_PORT, 0<<LED_PIN, 1<<LED_PIN); vTaskDelay(DELAY); } }
/****************************************************************************** * @brief Main function * Main is called from _program_start, see assembly startup file *****************************************************************************/ int main(void) { /* Initialize chip */ //eADesigner_Init(); /* Initialize chip */ CHIP_Init(); /* Initalizing */ init(); GPIO_PortOutSetVal(gpioPortD, 1<<3, 1<<3); GPIO_PortOutSetVal(gpioPortF, 1<<6, 1<<6); GPIO_PortOutSetVal(gpioPortB, 1<<12, 1<<12); GPIO_PortOutSetVal(LED_PORT, 1<<LED_PIN, 1<<LED_PIN); while(1){ /* Data transmission to slave */ /* ************************** */ /* Setting up RX interrupt for master */ SPI1_setupRXInt(receiveBuffer, BUFFERSIZE); GPIO_PortOutSetVal(LED_PORT, 0<<LED_PIN, 1<<LED_PIN); /* Transmitting data */ USART1_sendBuffer(transmitBuffer, BUFFERSIZE); GPIO_PortOutSetVal(LED_PORT, 1<<LED_PIN, 1<<LED_PIN); } }
void port_write(port_t *obj, int value) { GPIO_PortOutSetVal(obj->port, value, obj->mask); }
/**************************************************************************//** * @brief Main function *****************************************************************************/ int main(void) { #ifdef GG_STK uint32_t mode = 0; #else /* Initialize DK board register access, necessary if run on DK */ BSP_Init(BSP_INIT_DEFAULT); BSP_PeripheralAccess(BSP_AUDIO_OUT, true); #endif /* Initialize peripherals */ initClock(); initDma(); initDac(); initDacDma(); initTimer(); #ifdef GG_STK initGpio(); #endif while(1) { /*** Operation for EFM32GG-DK3750 ***/ #ifndef GG_STK /* Wait key press */ while(!BSP_PushButtonsGet()) ; if (BSP_PushButtonsGet() == BC_UIF_PB1) { BSP_LedsSet(0x0001); /* Wait key release */ while(BSP_PushButtonsGet()!=0); /* Start play files */ playList[0].frameStart = (char *)voice8k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice8k)/FRAME_SIZE_8K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_8K, &playList[0]); BSP_LedsSet(0x0000); } if (BSP_PushButtonsGet() == BC_UIF_PB2) { BSP_LedsSet(0x0002); /* Wait key release */ while(BSP_PushButtonsGet()!=0); /* Start play files */ playList[0].frameStart = (char *)voice11k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice11k)/FRAME_SIZE_11K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_11K, &playList[0]); BSP_LedsSet(0x0000); } if (BSP_PushButtonsGet() == BC_UIF_PB3) { BSP_LedsSet(0x0004); /* Wait key release */ while(BSP_PushButtonsGet()!=0); /* Start play files */ playList[0].frameStart = (char *)voice15k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice15k)/FRAME_SIZE_15K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_15K, &playList[0]); BSP_LedsSet(0x0000); } if (BSP_PushButtonsGet() == BC_UIF_PB4) { BSP_LedsSet(0x0008); /* Wait key release */ while(BSP_PushButtonsGet()!=0); /* Start play files */ playList[0].frameStart = (char *)voice18k2; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice18k2)/FRAME_SIZE_18K2; speexPlayBack(0, NARROWBAND, FRAME_SIZE_18K2, &playList[0]); BSP_LedsSet(0x0000); } /*** Operation for EFM32GG-STK3750 ***/ #else /* Wait key press */ EMU_EnterEM1(); switch (keyCheck()) { case 1: mode++; if (mode == 4) { mode = 0; } GPIO_PortOutSetVal(gpioPortE, (mode << 2), 0x000c); break; case 2: if (mode == 0x00) { /* Start play files */ playList[0].frameStart = (char *)voice8k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice8k)/FRAME_SIZE_8K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_8K, &playList[0]); } else if (mode == 0x01) { /* Start play files */ playList[0].frameStart = (char *)voice11k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice11k)/FRAME_SIZE_11K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_11K, &playList[0]); } else if (mode == 0x02) { /* Start play files */ playList[0].frameStart = (char *)voice15k; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice15k)/FRAME_SIZE_15K; speexPlayBack(0, NARROWBAND, FRAME_SIZE_15K, &playList[0]); } else { /* Start play files */ playList[0].frameStart = (char *)voice18k2; playList[1].frameStart = NULL; playList[0].frameNum = sizeof(voice18k2)/FRAME_SIZE_18K2; speexPlayBack(0, NARROWBAND, FRAME_SIZE_18K2, &playList[0]); } break; default: break; } #endif } }