#include "board.h" board_t board; void led_open(led_e led) { switch (led) { case LED_RED: GPIO_SET(LED_RED_GPIO_Port, LED_RED_Pin); break; case LED_GREEN: GPIO_SET(LED_GREEN_GPIO_Port, LED_GREEN_Pin); break; default: break; } } void led_close(led_e led) { switch (led) { case LED_RED: GPIO_RESET(LED_RED_GPIO_Port, LED_RED_Pin); break; case LED_GREEN: GPIO_RESET(LED_GREEN_GPIO_Port, LED_GREEN_Pin); break; default: break; } } void led_toggle(led_e led) { switch (led) { case LED_RED: GPIO_TOGGLE(LED_RED_GPIO_Port, LED_RED_Pin); break; case LED_GREEN: GPIO_TOGGLE(LED_GREEN_GPIO_Port, LED_GREEN_Pin); break; default: break; } } /** * @brief 初始化显示板 * */ void board_init(void) { adc_init(ADCS_1, ADC1, DMA2, LL_DMA_STREAM_0, LL_DMA_CHANNEL_0, 400, INTEMP | INVREF); // 初始化ADC1通道,默认采集AD } /** * @brief 获取当前CPU温度 * @return {float32} CPU温度 * @note */ float32 get_cpu_temperature(void) { float32 tmp = 0.0f; board.adc_raw[ADC_TEMP_CHANNEL] = adc_result_average(ADCS_1, ADC_TEMP_CHANNEL); tmp = adc_result_temperature(board.adc_raw[ADC_TEMP_CHANNEL]); return tmp; } /** * @brief 获取当前CPU电压 * @return {float32} CPU电压 * @note */ float32 get_cpu_voltage(void) { float32 tmp = 0.0f; board.adc_raw[ADC_INVREF_CHANNEL] = adc_result_average(ADCS_1, ADC_INVREF_CHANNEL); tmp = adc_result_value_local(board.adc_raw[ADC_INVREF_CHANNEL]); return tmp; }