int main(void) { SysTick_Init(); RCC_Init(); USART2_Init(); InitRF(); Tag_Init(); //send_alive_cmd_to_master(); IWDG_Init(); while(1) { if(sysTime1ms % 50 == 0) { Feed_IWDG(); } usart_msg_handle(); if(tag_check_flag) { Tag_state_check(); tag_check_flag = 0; } SendWakeMsg(); } }
/** * @brief HAL_PCDEx_LPM_Callback : Send LPM message to user layer * @param hpcd: PCD handle * @param msg: LPM message * @retval HAL status */ void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) { switch ( msg) { case PCD_LPM_L0_ACTIVE: if (hpcd->Init.low_power_enable) { RCC_Init(); /* Reset SLEEPDEEP bit of Cortex System Control Register */ SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); } __HAL_PCD_UNGATE_PHYCLOCK(hpcd); USBD_LL_Resume(hpcd->pData); break; case PCD_LPM_L1_ACTIVE: __HAL_PCD_GATE_PHYCLOCK(hpcd); USBD_LL_Suspend(hpcd->pData); /*Enter in STOP mode */ if (hpcd->Init.low_power_enable) { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); } break; } }
void BSPINIT(void) { RCC_Init(); //所有时钟使能 GPIO_init(); adc_init(); TIM3_Int_Init(999,10); TIM8_PWM_Init(999,10); //1200Hz TIM_Configuration(); // TIM7主中断设置 flag=0; }
void initializeBoard(){ RCC_Init(); board_map();//Configura todas as portas IO e perifericos usart_init(); LCD_Initialization(); // Initialize the LCD. LCD_Clear(); //Clear the LCD. LCD_GoTo(0,0); //Go to Line 0, position 0 of LCD. LCD_SendText ("SL7000 Bluetooth"); LCD_GoTo(1,0); //Go to Line 1, position 2 (on the right) of LCD. LCD_SendText ("IEC Auto Detect"); }
void BSP_Init(void) { RCC_Init(); Init_System_Timer(); TIM6_Configuration(); //10ms 主中断 LED_Init(); USART3_Configuration(); //上位机通信 CAN1_Mode_Init(CAN_SJW_1tq,CAN_BS1_6tq,CAN_BS2_7tq,6,CAN_Mode_Normal);//can1初始化500k波特率 CAN2_Mode_Init(CAN_SJW_1tq,CAN_BS2_6tq,CAN_BS1_7tq,3,CAN_Mode_Normal);//can2初始化500k波特率 USART1_IMU_Init(115200);//陀螺仪232通信 //USART4_IMU_Init(115200);//磁力计,卡尔曼滤波 }
int main(void) { uint8_t i, j; SysTick_Config(SystemCoreClock/1000); //1ms tick RCC_Init(); USARTInit(); LCD_Init(); LED_Init(); LED_On(); LCD_Clear(); //LCD_char(0, 0, 0); LCD_String("abcdefg",0,0); LCD_String("6543210",0,3); while(1){ delay_ms(100); printf("done!\n\r"); LED_Toogle(); } }