Files
Power-Pico/software/Power_Pico/User/Tasks/Src/user_HardwareInitTask.c

91 lines
1.9 KiB
C
Raw Normal View History

2026-02-26 17:20:03 +08:00
/* Private includes -----------------------------------------------------------*/
// includes
// sys
#include "tim.h"
#include "adc.h"
#include "i2c.h"
// user
#include "user_TasksInit.h"
// bsp
#include "key.h"
#include "lcd.h"
#include "lcd_init.h"
#include "gate.h"
#include "fusb302_dev.h"
#include "BL24C02.h" // settings
// ui
#include "lvgl.h"
#include "lv_port_disp.h"
#include "ui.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/**
* @brief hardwares init task
* @param argument: Not used
* @retval None
*/
void HardwareInitTask(void *argument)
{
while(1)
{
vTaskSuspendAll();
// gate, for current flow route selection, high current by default
Gate_Port_Init();
flow_route_selection(HIGH_CUR);
// ADC sample start
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc_raw_buffer, ADC_TIMES*2 * ADC_CHANNELS); /*启动ADC的DMA传输配合定时器触发ADC转换 12位的ADC对应0-4095 */
HAL_TIM_Base_Start(&htim2); /*开启定时器用溢出时间来触发ADC*/
// PWM Start for LCD backlight
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
// beep
// HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);
// key
Key_Init();
// system settings from eeprom
if(!EEPROM_Init_Check()) {
EEPROM_SysSetting_Get();
}
// FUSB CC pin dis connect
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET);
// FUSB302 init
fusb302_dev_init();
// lcd
// done in lvgl disp init
// tim5 for elapsed time (us)
HAL_TIM_Base_Start(&htim5);
// ui
// LVGL and disp init
lv_init();
lv_port_disp_init();
ui_init();
xTaskResumeAll();
vTaskDelete(NULL);
}
}