//#================================================================================================= //#================================================================================================= int __attribute__((section("XCodeMain"))) main( void ) { Tweeq_Init(); mOLED_Init(); mOLED_Clear(); i2c_Init(); MPU_SetAddr(0x68); MPU_Init(); short Y, CPos; CPos = 600; while(1) { Y = MPU_Read_Y(); sprintf(OS_Str_1, "%d ", Y); mOLED_Clear_Array(); mOLED_Print_Str(0, 0, "TweeQ"); mOLED_Print_Str(0, 1, "Y="); mOLED_Print_Str(20, 1, OS_Str_1); //display accel mOLED_Refresh(); //dont forget to refresh LED_HIGH; Delayms(25); LED_LOW; Delayms(25); } return (EXIT_SUCCESS); }
int main(void) { float x=1; float p=10; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 EXTIX_Init(); uart_init(115200); TIM10_PWM_Init(10000-1,336-1); //84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz. TIM11_PWM_Init(10000-1,336-1); TIM9_PWM_Inita(10000-1,336-1); TIM9_PWM_Initb(10000-1,336-1); //TIM3_Int_Init(5000-1,8400-1); //定时器时钟84M,分频系数8400,所以84M/8400=10Khz的计数频率,计数5000次为500ms exp_point=set_point(0,0,0,750); MPU_Init(); printf("aaa\r\n"); while(mpu_dmp_init()){} //TIM3_Int_Init(100-1,8400-1); init_omegax.data=x; init_omegax.p=p; init_roll.data=x; init_roll.p=p; while(1) { LED0=!LED0;//DS0翻转 delay_ms(200);//延时200ms }; }
void MPU6500_init() { SPI_Config(); MPU_Init(); Delay_ms(1500); Zero_Offset_Config(); LPF_Initial(); }
/* ****************************************************************************** ** VOID BSP_Init (VOID) ** ** Description : BSP initialize ** Arguments : ** Returns : 无 ** Author : ** Date : ** ****************************************************************************** */ VOID BSP_Init (VOID) { BSP_GPIOInit(); BSP_SetPwmRegDefaultVal(); BSP_SetMacRegDefaultVal(); BSP_IntCtrlInit(NST_FALSE); BSP_SDIOInit(); BSP_RFInit(); #ifdef ADD_IQ_CALIBRATION IQCalibration(); #endif #ifdef SPI_SDIO_CMD_TEST BSP_Timer1Init(0x600000); // used for spi sdio command test #endif #if DEBUG_ON #ifdef USE_CORTEX_M3 BSP_UartOpen(DEFAULT_UART_BAUDRATE); // for debug info printf #endif #endif BSP_NvInfoInit(); MPU_Init(); //BSP_I2CInit(E2PROM_ADDR); #ifdef HW_I2S_SUPPORT BSP_I2SInit(); #endif //HW_I2S_SUPPORT BSP_DmaInit(DMA_CHANNEL_0); //init dma channel 0 #ifdef DMA_MOVE_MEM BSP_DmaMoveMemInit(DMA_CHANNEL_1); // init DMA CH 1 for memory move #endif // DMA_MOVE_MEM // }
/* ****************************************************************************** ** VOID BSP_Init (VOID) ** ** Description : BSP initialize ** Arguments : ** Returns : 无 ** Author : ** Date : ** ****************************************************************************** */ void BSP_Init (void) { BSP_SetPwmRegDefaultVal(); //设置PWM默认值,切勿改变。 BSP_SetMacRegDefaultVal(); //设置MAC默认值,切勿改变。 BSP_IntCtrlInit(NST_FALSE); //Cortex-M3中断优先级 BSP_RFInit(); //RF射频初始化 MPU_Init(); //MPU内存规划 #ifdef ADD_IQ_CALIBRATION IQCalibration(); //校准参数 #endif USART_Init_Demo(DEFAULT_UART_BAUDRATE); //初始化串口,波特率115200 BSP_NvInfoInit(); //FLASH初始化,校验系统数据 NL6621_BSP_TEST(); //NL6621 BSP测试 }
static bool Drivers_SoundMusic_Init(bool enable) { Driver *sound; Driver *music; uint32 size; uint8 i; sound = g_driverSound; music = g_driverMusic; sound->index = 0xFFFF; music->index = 0xFFFF; if (!enable) return false; if (!MPU_Init()) return false; if (!Drivers_Init(sound, "C55")) return false; memcpy(music, sound, sizeof(Driver)); Timer_Add(MPU_Interrupt, 1000000 / 120); size = MPU_GetDataSize(); for (i = 0; i < 4; i++) { MSBuffer *buf = g_bufferSound[i]; buf->buffer = calloc(1, size); buf->index = 0xFFFF; } s_bufferSoundIndex = 0; g_bufferMusic->buffer = calloc(1, size); g_bufferMusic->index = 0xFFFF; return true; }
void Peripherals_Init(void) { #ifdef NVIC_AUTOINIT NVIC_Init(); #endif /* NVIC_AUTOINIT */ #ifdef SIM_AUTOINIT SIM_Init(); #endif /* SIM_AUTOINIT */ #ifdef MCM_AUTOINIT MCM_Init(); #endif /* MCM_AUTOINIT */ #ifdef PMC_AUTOINIT PMC_Init(); #endif /* PMC_AUTOINIT */ #ifdef PORTA_AUTOINIT PORTA_Init(); #endif /* PORTA_AUTOINIT */ #ifdef PORTB_AUTOINIT PORTB_Init(); #endif /* PORTB_AUTOINIT */ #ifdef PORTC_AUTOINIT PORTC_Init(); #endif /* PORTC_AUTOINIT */ #ifdef PORTD_AUTOINIT PORTD_Init(); #endif /* PORTD_AUTOINIT */ #ifdef PORTE_AUTOINIT PORTE_Init(); #endif /* PORTE_AUTOINIT */ #ifdef ADC0_AUTOINIT ADC0_Init(); #endif /* ADC0_AUTOINIT */ #ifdef ADC1_AUTOINIT ADC1_Init(); #endif /* ADC1_AUTOINIT */ #ifdef AIPS0_AUTOINIT AIPS0_Init(); #endif /* AIPS0_AUTOINIT */ #ifdef AIPS1_AUTOINIT AIPS1_Init(); #endif /* AIPS1_AUTOINIT */ #ifdef AXBS_AUTOINIT AXBS_Init(); #endif /* AXBS_AUTOINIT */ #ifdef CAN0_AUTOINIT CAN0_Init(); #endif /* CAN0_AUTOINIT */ #ifdef CMP0_AUTOINIT CMP0_Init(); #endif /* CMP0_AUTOINIT */ #ifdef CMP1_AUTOINIT CMP1_Init(); #endif /* CMP1_AUTOINIT */ #ifdef CMP2_AUTOINIT CMP2_Init(); #endif /* CMP2_AUTOINIT */ #ifdef CMT_AUTOINIT CMT_Init(); #endif /* CMT_AUTOINIT */ #ifdef CRC_AUTOINIT CRC_Init(); #endif /* CRC_AUTOINIT */ #ifdef DAC0_AUTOINIT DAC0_Init(); #endif /* DAC0_AUTOINIT */ #ifdef DMAMUX_AUTOINIT DMAMUX_Init(); #endif /* DMAMUX_AUTOINIT */ #ifdef DMA_AUTOINIT DMA_Init(); #endif /* DMA_AUTOINIT */ #ifdef ENET_AUTOINIT ENET_Init(); #endif /* ENET_AUTOINIT */ #ifdef EWM_AUTOINIT EWM_Init(); #endif /* EWM_AUTOINIT */ #ifdef FB_AUTOINIT FB_Init(); #endif /* FB_AUTOINIT */ #ifdef FMC_AUTOINIT FMC_Init(); #endif /* FMC_AUTOINIT */ #ifdef FTFE_AUTOINIT FTFE_Init(); #endif /* FTFE_AUTOINIT */ #ifdef FTM0_AUTOINIT FTM0_Init(); #endif /* FTM0_AUTOINIT */ #ifdef FTM1_AUTOINIT FTM1_Init(); #endif /* FTM1_AUTOINIT */ #ifdef FTM2_AUTOINIT FTM2_Init(); #endif /* FTM2_AUTOINIT */ #ifdef FTM3_AUTOINIT FTM3_Init(); #endif /* FTM3_AUTOINIT */ #ifdef I2C0_AUTOINIT I2C0_Init(); #endif /* I2C0_AUTOINIT */ #ifdef I2C1_AUTOINIT I2C1_Init(); #endif /* I2C1_AUTOINIT */ #ifdef I2C2_AUTOINIT I2C2_Init(); #endif /* I2C2_AUTOINIT */ #ifdef I2S0_AUTOINIT I2S0_Init(); #endif /* I2S0_AUTOINIT */ #ifdef LLWU_AUTOINIT LLWU_Init(); #endif /* LLWU_AUTOINIT */ #ifdef LPTMR0_AUTOINIT LPTMR0_Init(); #endif /* LPTMR0_AUTOINIT */ #ifdef MPU_AUTOINIT MPU_Init(); #endif /* MPU_AUTOINIT */ #ifdef PDB0_AUTOINIT PDB0_Init(); #endif /* PDB0_AUTOINIT */ #ifdef PIT_AUTOINIT PIT_Init(); #endif /* PIT_AUTOINIT */ #ifdef PTA_AUTOINIT PTA_Init(); #endif /* PTA_AUTOINIT */ #ifdef PTB_AUTOINIT PTB_Init(); #endif /* PTB_AUTOINIT */ #ifdef PTC_AUTOINIT PTC_Init(); #endif /* PTC_AUTOINIT */ #ifdef PTD_AUTOINIT PTD_Init(); #endif /* PTD_AUTOINIT */ #ifdef PTE_AUTOINIT PTE_Init(); #endif /* PTE_AUTOINIT */ #ifdef RCM_AUTOINIT RCM_Init(); #endif /* RCM_AUTOINIT */ #ifdef RNG_AUTOINIT RNG_Init(); #endif /* RNG_AUTOINIT */ #ifdef RTC_AUTOINIT RTC_Init(); #endif /* RTC_AUTOINIT */ #ifdef SDHC_AUTOINIT SDHC_Init(); #endif /* SDHC_AUTOINIT */ #ifdef SMC_AUTOINIT SMC_Init(); #endif /* SMC_AUTOINIT */ #ifdef SPI0_AUTOINIT SPI0_Init(); #endif /* SPI0_AUTOINIT */ #ifdef SPI1_AUTOINIT SPI1_Init(); #endif /* SPI1_AUTOINIT */ #ifdef SPI2_AUTOINIT SPI2_Init(); #endif /* SPI2_AUTOINIT */ #ifdef SystemControl_AUTOINIT SystemControl_Init(); #endif /* SystemControl_AUTOINIT */ #ifdef SysTick_AUTOINIT SysTick_Init(); #endif /* SysTick_AUTOINIT */ #ifdef UART0_AUTOINIT UART0_Init(); #endif /* UART0_AUTOINIT */ #ifdef UART1_AUTOINIT UART1_Init(); #endif /* UART1_AUTOINIT */ #ifdef UART2_AUTOINIT UART2_Init(); #endif /* UART2_AUTOINIT */ #ifdef UART3_AUTOINIT UART3_Init(); #endif /* UART3_AUTOINIT */ #ifdef UART4_AUTOINIT UART4_Init(); #endif /* UART4_AUTOINIT */ #ifdef UART5_AUTOINIT UART5_Init(); #endif /* UART5_AUTOINIT */ #ifdef USB0_AUTOINIT USB0_Init(); #endif /* USB0_AUTOINIT */ #ifdef USBDCD_AUTOINIT USBDCD_Init(); #endif /* USBDCD_AUTOINIT */ #ifdef VREF_AUTOINIT VREF_Init(); #endif /* VREF_AUTOINIT */ #ifdef WDOG_AUTOINIT WDOG_Init(); #endif /* WDOG_AUTOINIT */ }
int MUSIC_InitMidi ( int card, midifuncs *Funcs, int Address ) { int status; status = MUSIC_Ok; if ( ( card == WaveBlaster ) || ( card == SoundCanvas ) || ( card == GenMidi ) ) { // Setup WaveBlaster Daughterboard clone // (ie. SoundCanvas DB, TurtleBeach Rio) BLASTER_SetupWaveBlaster(); } if ( card == SoundScape ) { Address = SOUNDSCAPE_GetMIDIPort(); if ( Address < SOUNDSCAPE_Ok ) { MUSIC_SetErrorCode( MUSIC_SoundCardError ); return( MUSIC_Error ); } } if ( MPU_Init( Address ) != MPU_Ok ) { MUSIC_SetErrorCode( MUSIC_MPU401Error ); return( MUSIC_Error ); } Funcs->NoteOff = MPU_NoteOff; Funcs->NoteOn = MPU_NoteOn; Funcs->PolyAftertouch = MPU_PolyAftertouch; Funcs->ControlChange = MPU_ControlChange; Funcs->ProgramChange = MPU_ProgramChange; Funcs->ChannelAftertouch = MPU_ChannelAftertouch; Funcs->PitchBend = MPU_PitchBend; Funcs->ReleasePatches = NULL; Funcs->LoadPatch = NULL; Funcs->SetVolume = NULL; Funcs->GetVolume = NULL; if ( card == WaveBlaster ) { if ( BLASTER_CardHasMixer() ) { BLASTER_SaveMidiVolume(); Funcs->SetVolume = BLASTER_SetMidiVolume; Funcs->GetVolume = BLASTER_GetMidiVolume; } } MIDI_SetMidiFuncs( Funcs ); return( status ); }
int PTexist(void) { char *env; #ifdef MV_PT env = getenv("enaPT"); #ifdef CONFIG_MV_LE /* if LE page table disable is the default. ( MIPS - unstable, PPC need to change the page settings) */ if( ( (strcmp(env,"yes") == 0) || (strcmp(env,"Yes") == 0) ) ){ #else /* if BE page table enable is the default. */ if(!env || ( (strcmp(env,"yes") == 0) || (strcmp(env,"Yes") == 0) ) ){ #endif return 1; } #endif return 0; } #endif /***********************************************************************************/ /* hook function that is called after rellocating to the DRAM, Flash Init, PCI init*/ /* and malloc init are done, and before Gig port init. */ /***********************************************************************************/ void mon_extension_after_relloc(void) { #if defined(MV_INCLUDE_MONT_FFS) unsigned int status; #endif #if defined(MV_INCLUDE_MONT_MMU) if ((mvOsCpuPartGet() == CPU_PART_ARM926) || (mvOsCpuPartGet() == CPU_PART_MRVL131) || (mvOsCpuPartGet() == CPU_PART_MRVLPJ4B_UP) || (mvOsCpuPartGet() == CPU_PART_MRVLPJ4B_MP)) { /* Page Table */ if(PTexist() ) { pageTableInit(); setenv("enaPT","yes"); } else setenv("enaPT","no"); } #endif /* MV_INCLUDE_MONT_MMU */ #if defined(MV_INCLUDE_MONT_MPU) else if (mvOsCpuPartGet() == CPU_PART_ARM946) { char *env; env = getenv("enaMPU"); if ((!env)||( (strcmp(env,"yes") == 0) || (strcmp(env,"Yes") == 0) )) { setenv("enaMPU","yes"); MPU_Init(); } } #endif /* MV_INCLUDE_MONT_MPU */ #if defined(CONFIG_CMD_BSP) #if defined(MV_INCLUDE_MONT_FFS) if (whoAmI() == MASTER_CPU) { status = mvFSInit(FS_NO_CACHE); if(!(status == FS_NO_VALID_FAT_STRING || status == FS_OFFSET_OUT_OF_RANGE)) { printf("File system present and initialized on the main Flash Memory\n"); } } else { printf("No File system on the main Flash Memory\n"); } #endif /* MV_INCLUDE_MONT_FFS */ #endif return; }