From 8ded5ca0dc5ffa96268aecf9ea87677e02567fb0 Mon Sep 17 00:00:00 2001 From: YuanHongbin <975559679@qq.com> Date: Mon, 20 Jul 2026 14:27:38 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=BA=90=E7=A0=81=E7=BC=96=E7=A0=81GB?= =?UTF-8?q?2312=E7=BB=9F=E4=B8=80=E8=BD=AC=E6=8D=A2=E4=B8=BAUTF-8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 18个含有中文注释的.c/.h文件从GB2312转为UTF-8(无BOM) --- App/app_update.c | 2 +- App/main.c | 2 +- components/ringbuffer.c | 36 ++++++++--------- components/ringbuffer.h | 14 +++---- components/update_protocol.h | 8 ++-- hdl/hdl_clk.c | 58 +++++++++++++-------------- hdl/hdl_cs5552.c | 22 +++++----- hdl/hdl_cs5552.h | 10 ++--- hdl/hdl_encoder.c | 12 +++--- hdl/hdl_flash.c | 2 +- hdl/hdl_flash.h | 2 +- hdl/hdl_lcd.c | 78 ++++++++++++++++++------------------ hdl/hdl_lcd.h | 26 ++++++------ hdl/hdl_spi.c | 66 +++++++++++++++--------------- hdl/hdl_spi4.c | 22 +++++----- hdl/hdl_usart.c | 18 ++++----- hdl/hdl_usb.c | 8 ++-- pthreads/pt_pm.c | 30 +++++++------- 18 files changed, 208 insertions(+), 208 deletions(-) diff --git a/App/app_update.c b/App/app_update.c index 78efe35..7468214 100644 --- a/App/app_update.c +++ b/App/app_update.c @@ -218,7 +218,7 @@ int app_update_entry(struct pt *pt) update_init(send_bytes); - //APP + //擦除APP if ((g_update.cfg.UpdateFlag == APP_UPDATE_FLAG) && dev_boot_check_app() ){ diff --git a/App/main.c b/App/main.c index b7bc7cc..7c2f06d 100644 --- a/App/main.c +++ b/App/main.c @@ -9,7 +9,7 @@ #include "hdl_clk.h" /******************************************************************************* - * жϷ + * 中断服务函数 ******************************************************************************/ void SysTick_Handler(void) { diff --git a/components/ringbuffer.c b/components/ringbuffer.c index 225076b..c4fa578 100644 --- a/components/ringbuffer.c +++ b/components/ringbuffer.c @@ -1,5 +1,5 @@ /****************************************************************************** - * @brief λ(οlinux/kfifo) + * @brief 环形缓冲区管理(参考linux/kfifo) * * Copyright (c) 2016~2020, * @@ -7,7 +7,7 @@ * * Change Logs: * Date Author Notes - * 2016-05-30 Morro + * 2016-05-30 Morro 初版完成 ******************************************************************************/ #include "ringbuffer.h" #include @@ -16,10 +16,10 @@ #define min(a,b) ( (a) < (b) )? (a):(b) /* - *@brief һջλ - *@param[in] r - λ - *@param[in] buf - ݻ - *@param[in] len - buf(2N) + *@brief 构造一个空环形缓冲区 + *@param[in] r - 环形缓冲区管理器 + *@param[in] buf - 数据缓冲区 + *@param[in] len - buf长度(必须是2的N次幂) *@retval bool */ bool ring_buf_init(ring_buf_t *r,unsigned char *buf, unsigned int len) @@ -31,8 +31,8 @@ bool ring_buf_init(ring_buf_t *r,unsigned char *buf, unsigned int len) } /* - *@brief ջλ - *@param[in] r - յĻλ + *@brief 清空环形缓冲区 + *@param[in] r - 待清空的环形缓冲区 *@retval none */ void ring_buf_clr(ring_buf_t *r) @@ -41,8 +41,8 @@ void ring_buf_clr(ring_buf_t *r) } /* - *@brief ȡλݳ - *@retval λЧֽ + *@brief 获取环形缓冲区数据长度 + *@retval 环形缓冲区中有效字节数 */ int ring_buf_len(ring_buf_t *r) { @@ -50,10 +50,10 @@ int ring_buf_len(ring_buf_t *r) } /* - *@brief ָȵݷŵλ - *@param[in] buf - ݻ - * len - - *@retval ʵʷŵе + *@brief 将指定长度的数据放到环形缓冲区中 + *@param[in] buf - 数据缓冲区 + * len - 缓冲区长度 + *@retval 实际放到中的数据 */ int ring_buf_put(ring_buf_t *r,unsigned char *buf,unsigned int len) { @@ -70,10 +70,10 @@ int ring_buf_put(ring_buf_t *r,unsigned char *buf,unsigned int len) } /* - *@brief ӻλжȡָȵ - *@param[in] len - ȡ - *@param[out] buf - ݻ - *@retval ʵʶȡ + *@brief 从环形缓冲区中读取指定长度的数据 + *@param[in] len - 读取长度 + *@param[out] buf - 输出数据缓冲区 + *@retval 实际读取长度 */ int ring_buf_get(ring_buf_t *r,unsigned char *buf,unsigned int len) { diff --git a/components/ringbuffer.h b/components/ringbuffer.h index b517e6c..bbb6512 100644 --- a/components/ringbuffer.h +++ b/components/ringbuffer.h @@ -1,5 +1,5 @@ /****************************************************************************** - * @brief λ(οlinux/kfifo) + * @brief 环形缓冲区管理(参考linux/kfifo) * * Copyright (c) 2016~2020, * @@ -7,7 +7,7 @@ * * Change Logs: * Date Author Notes - * 2016-05-30 Morro + * 2016-05-30 Morro 初版完成 ******************************************************************************/ #ifndef _RING_BUF_H_ @@ -19,12 +19,12 @@ extern "C" { #endif -/*λ*/ +/*环形缓冲区管理器*/ typedef struct { - unsigned char *buf; /*λ */ - unsigned int size; /*λ */ - unsigned int front; /*ͷָ */ - unsigned int rear; /*βָ */ + unsigned char *buf; /*环形缓冲区 */ + unsigned int size; /*环形缓冲区 */ + unsigned int front; /*头指针 */ + unsigned int rear; /*尾指针 */ }ring_buf_t; bool ring_buf_init(ring_buf_t *r,unsigned char *buf,unsigned int size); diff --git a/components/update_protocol.h b/components/update_protocol.h index e7d0ca5..d887df9 100644 --- a/components/update_protocol.h +++ b/components/update_protocol.h @@ -5,7 +5,7 @@ #define CRC16_BASE 0xA001 -//֡ͷṹ +//帧头结构体 typedef struct { uint8_t Header; uint8_t SlvAddr; @@ -13,20 +13,20 @@ typedef struct { uint8_t PayloadLen; }update_protocol_hd_t; -//·غɽṹ +//主机下发升级请求载荷结构体 typedef struct { uint16_t PackageNum; uint32_t AppSize; uint32_t AppCrc32; }__attribute__ ((packed))update_protocol_req_t; -//ӻ·ṹ +//从机请求下发结构体 typedef struct { uint16_t PackageIndex; uint32_t PackageNum; }__attribute__ ((packed))update_protocol_get_t; -//Ӧ·ݽṹ +//主机应答下发数据结构体 typedef struct { uint16_t PackageIndex; uint16_t PackageNum; diff --git a/hdl/hdl_clk.c b/hdl/hdl_clk.c index 84c57fd..f425e2f 100644 --- a/hdl/hdl_clk.c +++ b/hdl/hdl_clk.c @@ -1,11 +1,11 @@ #include "hdl_clk.h" /******************************************************************************************************** -* @函数名 hdl_xtal_init -* @描述 外部晶振初始化 -* @参数 无 -* @返回值 无 -* @注意 无 +* @鍑芥暟鍚? hdl_xtal_init +* @鎻忚堪 澶栭儴鏅舵尟鍒濆鍖? +* @鍙傛暟 鏃? +* @杩斿洖鍊? 鏃? +* @娉ㄦ剰 鏃? ********************************************************************************************************/ #if USING_XTAL @@ -13,11 +13,11 @@ static void hdl_xtal_init(void) { stc_clock_xtal_init_t stcXtalInit; - /* XTAL 引脚配置 */ + /* XTAL 寮曡剼閰嶇疆 */ GPIO_AnalogCmd(GPIO_PORT_H, GPIO_PIN_00 | GPIO_PIN_01, ENABLE); (void)CLK_XtalStructInit(&stcXtalInit); - /* 配置XTAL和启用XTAL */ + /* 閰嶇疆XTAL鍜屽惎鐢╔TAL */ stcXtalInit.u8State = CLK_XTAL_ON; stcXtalInit.u8Mode = CLK_XTAL_MD_OSC; stcXtalInit.u8Drv = CLK_XTAL_DRV_ULOW; @@ -28,11 +28,11 @@ static void hdl_xtal_init(void) /******************************************************************************************************** -* @函数名 hdl_pll_init -* @描述 锁相环倍频初始化 -* @参数 无 -* @返回值 无 -* @注意 无 +* @鍑芥暟鍚? hdl_pll_init +* @鎻忚堪 閿佺浉鐜€嶉鍒濆鍖? +* @鍙傛暟 鏃? +* @杩斿洖鍊? 鏃? +* @娉ㄦ剰 鏃? ********************************************************************************************************/ static void hdl_pll_init(void) { @@ -40,7 +40,7 @@ static void hdl_pll_init(void) (void)CLK_PLLStructInit(&stcMPLLInit); - /* MPLL 配置 */ + /* MPLL 閰嶇疆 */ /* 16MHz/M*N = 16/2*50/2 = 200MHz */ stcMPLLInit.PLLCFGR = 0UL; stcMPLLInit.PLLCFGR_f.PLLM = (2UL - 1UL); @@ -55,33 +55,33 @@ static void hdl_pll_init(void) /******************************************************************************************************** -* @函数名 hdl_clk_init -* @描述 时钟初始化 -* @参数 无 -* @返回值 无 -* @注意 无 +* @鍑芥暟鍚? hdl_clk_init +* @鎻忚堪 鏃堕挓鍒濆鍖? +* @鍙傛暟 鏃? +* @杩斿洖鍊? 鏃? +* @娉ㄦ剰 鏃? ********************************************************************************************************/ void hdl_clk_init(void) { - /* 解除写保护 */ + /* 瑙i櫎鍐欎繚鎶?*/ LL_PERIPH_WE(LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_GPIO | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 设置时钟分频 */ + /* 璁剧疆鏃堕挓鍒嗛 */ CLK_SetClockDiv(CLK_BUS_CLK_ALL, (CLK_HCLK_DIV1 | CLK_EXCLK_DIV2 | CLK_PCLK0_DIV1 | CLK_PCLK1_DIV2 | \ CLK_PCLK2_DIV4 | CLK_PCLK3_DIV4 | CLK_PCLK4_DIV2)); - /* SRAM初始化包括读/写等待周期设置 */ + /* SRAM鍒濆鍖栧寘鎷/鍐欑瓑寰呭懆鏈熻缃?*/ SRAM_SetWaitCycle(SRAM_SRAM_ALL, SRAM_WAIT_CYCLE1, SRAM_WAIT_CYCLE1); SRAM_SetWaitCycle(SRAM_SRAMH, SRAM_WAIT_CYCLE0, SRAM_WAIT_CYCLE0); - /* 闪存读取等待周期设置 */ + /* 闂瓨璇诲彇绛夊緟鍛ㄦ湡璁剧疆 */ EFM_SetWaitCycle(EFM_WAIT_CYCLE5); - /* XTAL 初始化 */ + /* XTAL 鍒濆鍖?*/ // hdl_xtal_init(); - /* XTAL32 初始化 */ + /* XTAL32 鍒濆鍖?*/ - /* MPLL 初始化 */ + /* MPLL 鍒濆鍖?*/ hdl_pll_init(); /* enable LRC */ @@ -90,7 +90,7 @@ void hdl_clk_init(void) /* 3 cycles for 126MHz ~ 200MHz */ GPIO_SetReadWaitCycle(GPIO_RD_WAIT3); - /* 切换驱动能力 */ + /* 鍒囨崲椹卞姩鑳藉姏 */ PWC_HighSpeedToHighPerformance(); EFM_DataCacheResetCmd(ENABLE); @@ -99,13 +99,13 @@ void hdl_clk_init(void) /* Enable cache */ EFM_CacheCmd(ENABLE); - /* 使能写保护 */ + /* 浣胯兘鍐欎繚鎶?*/ LL_PERIPH_WP(LL_PERIPH_EFM | LL_PERIPH_GPIO | LL_PERIPH_SRAM); - /* 设置系统时钟源 */ + /* 璁剧疆绯荤粺鏃堕挓婧?*/ CLK_SetSysClockSrc(CLK_SYSCLK_SRC_PLL); - /* 使能systick */ + /* 浣胯兘systick */ (void)SysTick_Init(1000U); } diff --git a/hdl/hdl_cs5552.c b/hdl/hdl_cs5552.c index d8194c5..563bf10 100644 --- a/hdl/hdl_cs5552.c +++ b/hdl/hdl_cs5552.c @@ -127,7 +127,7 @@ void hdl_cs5552_init(void) SET_CS5552_CS(); - /* CS5552 */ + /* 配置CS5552 */ CLR_CS5552_CS(); hdl_cs5552_write_read_byte(0x00); hdl_cs5552_write_read_byte(0xA5); @@ -143,32 +143,32 @@ void hdl_cs5552_init(void) hdl_cs5552_reg_write(GAIN_CH0_W, 0x02, 0x00, 0x00, 0x00); //GAIN_CH0 hdl_cs5552_reg_write(OS_CH1_W, 0x00, 0x00, 0x00, 0x00); //OS_CH1 hdl_cs5552_reg_write(GAIN_CH1_W, 0x02, 0x00, 0x00, 0x00); //GAIN_CH1 - hdl_cs5552_reg_write(CONV_CONF0_W, 0x30, 0x80, 0x00, 0x80); //CONV_CONF0 ˲-256CLK -200Hz PGA-128 + hdl_cs5552_reg_write(CONV_CONF0_W, 0x30, 0x80, 0x00, 0x80); //CONV_CONF0 滤波-256CLK 速率-200Hz PGA-128 hdl_cs5552_reg_write(CONV_CONF1_W, 0x00, 0x00, 0x00, 0x00); //CONV_CONF1 hdl_cs5552_reg_write(SYS_CONF0_W, 0x02, 0x01, 0x00, 0x00); //SYS_CONF0 - hdl_cs5552_reg_write(SYS_CONF1_W, 0x08, 0x11, 0x02, 0x10); //SYS_CONF1 ڲʱ ڲ׼Դ + hdl_cs5552_reg_write(SYS_CONF1_W, 0x08, 0x11, 0x02, 0x10); //SYS_CONF1 内部时钟 内部基准源 hdl_cs5552_reg_write(SYS_CONF2_W, 0x00, 0x52, 0x10, 0x00); //SYS_CONF2 #ifdef HC32_DEBUG - /* ȡͨ0 */ + /* 读取通道0设置 */ data = hdl_cs5552_reg_read(OS_CH0_R); printf("OS_CH0 = %d\r\n", data); data = hdl_cs5552_reg_read(GAIN_CH0_R); printf("GAIN_CH0 = %d\r\n", data); - /* ȡͨ1 */ + /* 读取通道1设置 */ data = hdl_cs5552_reg_read(OS_CH1_R); printf("OS_CH1 = %d\r\n", data); data = hdl_cs5552_reg_read(GAIN_CH1_R); printf("GAIN_CH1 = %d\r\n", data); - /* CONV */ + /* 配置CONV */ data = hdl_cs5552_reg_read(CONV_CONF0_R); printf("CONV_CONF0 = %d\r\n", data); data = hdl_cs5552_reg_read(CONV_CONF1_R); printf("CONV_CONF1 = %d\r\n", data); - /* SYS */ + /* 配置SYS */ data = hdl_cs5552_reg_read(SYS_CONF0_R); printf("SYS_CONF0 = %d\r\n", data); data = hdl_cs5552_reg_read(SYS_CONF1_R); @@ -208,7 +208,7 @@ void hdl_cs5552_proc(void) case CS5552_OFFSET_READ: if(RESET == GET_CS5552_DOUT()) { - ad_value = hdl_cs5552_reg_read(0xFF); //ȡ + ad_value = hdl_cs5552_reg_read(0xFF); //获取数据 if((ad_value & 0x1) == 0) { @@ -220,7 +220,7 @@ void hdl_cs5552_proc(void) cs5552.offset_ch1[offset_cnt] = (ad_value & 0xFFFFFFFE) | 0x0; } offset_cnt++; - cs5552.channel_sta = 1-cs5552.channel_sta; //лͨ + cs5552.channel_sta = 1-cs5552.channel_sta; //切换通道 cs5552.step = CS5552_OFFSET; } @@ -238,7 +238,7 @@ void hdl_cs5552_proc(void) if(RESET == GET_CS5552_DOUT()) { - ad_value = hdl_cs5552_reg_read(0xFF); //ȡ + ad_value = hdl_cs5552_reg_read(0xFF); //获取数据 if((ad_value & 0x1) == 0) { @@ -256,7 +256,7 @@ void hdl_cs5552_proc(void) cs5552.buf[1] = ~(0x7FFFF - ((ad_value & 0xFFFFFFFE) >> 13)); } - cs5552.channel_sta = 1-cs5552.channel_sta; //лͨ + cs5552.channel_sta = 1-cs5552.channel_sta; //切换通道 cs5552.step = CS5552_START; } diff --git a/hdl/hdl_cs5552.h b/hdl/hdl_cs5552.h index 392d9b1..97cc181 100644 --- a/hdl/hdl_cs5552.h +++ b/hdl/hdl_cs5552.h @@ -93,11 +93,11 @@ typedef enum typedef struct { - en_cs5552_step step; // - en_cs5552_ch channel_sta; //ǰתͨ - int32_t buf[2]; //ͨ - uint32_t offset_ch0[OFFSET_CNT]; //ͨ0У׼ֵ - uint32_t offset_ch1[OFFSET_CNT]; //ͨ1У׼ֵ + en_cs5552_step step; //流程 + en_cs5552_ch channel_sta; //当前转换通道 + int32_t buf[2]; //通道数据 + uint32_t offset_ch0[OFFSET_CNT]; //通道0校准值 + uint32_t offset_ch1[OFFSET_CNT]; //通道1校准值 }stc_cs5552_t; void hdl_cs5552_init(void); diff --git a/hdl/hdl_encoder.c b/hdl/hdl_encoder.c index 3b0bc18..326b44b 100644 --- a/hdl/hdl_encoder.c +++ b/hdl/hdl_encoder.c @@ -47,23 +47,23 @@ void hdl_encoder_init(void) LL_PERIPH_WE(LL_PERIPH_GPIO); - /* */ + /* 配置引脚 */ (void)GPIO_StructInit(&stcGpioInit); - stcGpioInit.u16PullUp = PIN_PU_ON; // - stcGpioInit.u16ExtInt = PIN_EXTINT_ON; //ⲿж + stcGpioInit.u16PullUp = PIN_PU_ON; //上拉输入 + stcGpioInit.u16ExtInt = PIN_EXTINT_ON; //外部中断 (void)GPIO_Init(ENCODER_SW_PORT, ENCODER_SW_PIN, &stcGpioInit); (void)GPIO_Init(ENCODER_A_PORT, ENCODER_A_PIN, &stcGpioInit); (void)GPIO_Init(ENCODER_B_PORT, ENCODER_B_PIN, &stcGpioInit); - /* ж */ + /* 配置中断 */ (void)EXTINT_StructInit(&stcExtIntInit); stcExtIntInit.u32Filter = EXTINT_FILTER_ON; stcExtIntInit.u32FilterClock = EXTINT_FCLK_DIV8; - stcExtIntInit.u32Edge = EXTINT_TRIG_BOTH; //˫ж + stcExtIntInit.u32Edge = EXTINT_TRIG_BOTH; //双边沿中断 (void)EXTINT_Init(ENCODER_A_EX_CH, &stcExtIntInit); (void)EXTINT_Init(ENCODER_B_EX_CH, &stcExtIntInit); - /* жԴ */ + /* 配置中断源 */ stcIrqSignConfig.enIntSrc = ENCODER_A_INT_SRC; stcIrqSignConfig.enIRQn = ENCODER_A_INT_IRQn; stcIrqSignConfig.pfnCallback = &hdl_encoder_a_callback; diff --git a/hdl/hdl_flash.c b/hdl/hdl_flash.c index 7941087..9a4cdc9 100644 --- a/hdl/hdl_flash.c +++ b/hdl/hdl_flash.c @@ -58,7 +58,7 @@ int32_t hdl_flash_unlock(void) ; } - //EFM + //解锁EFM EFM_FWMC_Cmd(ENABLE); EFM_CacheCmd(ENABLE); diff --git a/hdl/hdl_flash.h b/hdl/hdl_flash.h index 7872b57..af44aa7 100644 --- a/hdl/hdl_flash.h +++ b/hdl/hdl_flash.h @@ -53,7 +53,7 @@ extern "C" /* Vector table */ #define VECT_TAB_STEP (0x000UL) -/* flash rom map 洢*/ +/* flash rom map 存储分区*/ //boot 16k #define FLASH_BOOT_BASE (FLASH_BASE) #define FLASH_BOOT_SIZE (4*FLASH_SECTOR_SIZE) diff --git a/hdl/hdl_lcd.c b/hdl/hdl_lcd.c index fbbe51e..3ec9d02 100644 --- a/hdl/hdl_lcd.c +++ b/hdl/hdl_lcd.c @@ -39,9 +39,9 @@ void hdl_lcd_timer_config(void) /* TIMER0 configuration */ (void)TMR0_StructInit(&stcTmr0Init); - stcTmr0Init.u32ClockSrc = TMR0_CLK_SRC_INTERN_CLK; //ڲʱ - stcTmr0Init.u32ClockDiv = TMR0_CLK_DIV64; //2Ƶ - stcTmr0Init.u32Func = TMR0_FUNC_CMP; //Ƚ + stcTmr0Init.u32ClockSrc = TMR0_CLK_SRC_INTERN_CLK; //内部时钟 + stcTmr0Init.u32ClockDiv = TMR0_CLK_DIV64; //2分频 + stcTmr0Init.u32Func = TMR0_FUNC_CMP; //输出比较 stcTmr0Init.u16CompareValue = (uint16_t)LCD_TIME_CMP_VALUE; (void)TMR0_Init(LCD_TIM_UINT, LCD_TIM_CH, &stcTmr0Init); hdl_delay_ms(1U); @@ -72,7 +72,7 @@ void hdl_lcd_config(void) LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* */ + /* 引脚设置 */ GPIO_SetDebugPort(GPIO_PIN_TRST,DISABLE); (void)GPIO_StructInit(&stcGpioInit); @@ -87,7 +87,7 @@ void hdl_lcd_config(void) (void)GPIO_Init(LCD_RES_PORT, LCD_RES_PIN, &stcGpioInit); (void)GPIO_Init(LCD_DC_PORT, LCD_DC_PIN, &stcGpioInit); - /* SPI */ + /* SPI配置 */ FCG_Fcg1PeriphClockCmd(LCD_SPI_CLK, ENABLE); SPI_StructInit(&stcSpiInit); stcSpiInit.u32WireMode = SPI_3_WIRE; @@ -101,14 +101,14 @@ void hdl_lcd_config(void) stcSpiInit.u32FrameLevel = SPI_1_FRAME; (void)SPI_Init(LCD_SPI_UINT, &stcSpiInit); - /* DMA */ + /* DMA配置 */ FCG_Fcg0PeriphClockCmd(LCD_DMA_CLK, ENABLE); (void)DMA_StructInit(&stcDmaInit); stcDmaInit.u32BlockSize = 1UL; stcDmaInit.u32TransCount = 1; - stcDmaInit.u32DataWidth = DMA_DATAWIDTH_8BIT; //λ - stcDmaInit.u32SrcAddrInc = DMA_SRC_ADDR_INC; //Դַ - stcDmaInit.u32DestAddrInc = DMA_DEST_ADDR_FIX; //Ŀ̶ַ + stcDmaInit.u32DataWidth = DMA_DATAWIDTH_8BIT; //数据位宽 + stcDmaInit.u32SrcAddrInc = DMA_SRC_ADDR_INC; //源地址自增 + stcDmaInit.u32DestAddrInc = DMA_DEST_ADDR_FIX; //目标地址固定 stcDmaInit.u32SrcAddr = (uint32_t)(0); stcDmaInit.u32DestAddr = (uint32_t)(&LCD_SPI_UINT->DR); stcDmaInit.u32IntEn = DMA_INT_ENABLE; @@ -116,9 +116,9 @@ void hdl_lcd_config(void) for (;;) { } } - AOS_SetTriggerEventSrc(LCD_DMA_TX_TRIG_CH, LCD_SPI_TX_EVT_SRC); //DMAʹԴ + AOS_SetTriggerEventSrc(LCD_DMA_TX_TRIG_CH, LCD_SPI_TX_EVT_SRC); //DMA发送触发源 - /* DMA ж */ + /* DMA 中断配置 */ DMA_TransCompleteIntCmd(LCD_DMA_UNIT, DMA_INT_BTC_CH0, DISABLE); stcIrqSignConfig.enIntSrc = LCD_DMA_TX_INT_SRC; @@ -146,19 +146,19 @@ static void hdl_lcd_write_byte(uint8_t dat) void hdl_lcd_send(uint8_t *data, uint16_t len) { - LCD_DC_SET();//д + LCD_DC_SET();//写数据 enTxCompleteFlag = RESET; - DMA_SetSrcAddr(LCD_DMA_UNIT, LCD_DMA_TX_CH, (uint32_t)(data)); // Դַͷ͵ - DMA_SetTransCount(LCD_DMA_UNIT, LCD_DMA_TX_CH, len); //ô,һΣ0ֹͣ + DMA_SetSrcAddr(LCD_DMA_UNIT, LCD_DMA_TX_CH, (uint32_t)(data)); // 重新设置源地址和发送的数据 + DMA_SetTransCount(LCD_DMA_UNIT, LCD_DMA_TX_CH, len); //设置传输次数,传输一次,计数器减到0停止 - DMA_ChCmd(LCD_DMA_UNIT, LCD_DMA_TX_CH, ENABLE); //ʹDMA1ͨ - SPI_Cmd(LCD_SPI_UINT, ENABLE); //ʹSPI + DMA_ChCmd(LCD_DMA_UNIT, LCD_DMA_TX_CH, ENABLE); //使能DMA1通道 + SPI_Cmd(LCD_SPI_UINT, ENABLE); //使能SPI while (RESET == enTxCompleteFlag) { } - SPI_Cmd(LCD_SPI_UINT, DISABLE); //ʧSPI + SPI_Cmd(LCD_SPI_UINT, DISABLE); //失能SPI } void hdl_lcd_dma_callback_register(lcd_dma_callback_t pCBS) @@ -178,70 +178,70 @@ void hdl_lcd_timer_callback_register(lcd_timer_callback_t pCBS) } /****************************************************************************** - ˵LCDд - ݣdat д - ֵ + 函数说明:LCD写入数据 + 入口数据:dat 写入的数据 + 返回值: 无 ******************************************************************************/ void LCD_WR_DATA8(uint8_t dat) { - LCD_DC_SET();//д + LCD_DC_SET();//写数据 hdl_lcd_write_byte(dat); } /****************************************************************************** - ˵LCDд - ݣdat д - ֵ + 函数说明:LCD写入数据 + 入口数据:dat 写入的数据 + 返回值: 无 ******************************************************************************/ void LCD_WR_DATA(uint16_t dat) { - LCD_DC_SET();//д + LCD_DC_SET();//写数据 hdl_lcd_write_byte(dat>>8); hdl_lcd_write_byte(dat); } /****************************************************************************** - ˵LCDд - ݣdat д - ֵ + 函数说明:LCD写入命令 + 入口数据:dat 写入的命令 + 返回值: 无 ******************************************************************************/ void LCD_WR_REG(uint8_t dat) { - LCD_DC_CLR();//д + LCD_DC_CLR();//写命令 hdl_lcd_write_byte(dat); } /****************************************************************************** - ˵ʼͽַ - ݣx1,x2 еʼͽַ - y1,y2 еʼͽַ - ֵ + 函数说明:设置起始和结束地址 + 入口数据:x1,x2 设置列的起始和结束地址 + y1,y2 设置行的起始和结束地址 + 返回值: 无 ******************************************************************************/ void LCD_Address_Set(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2) { - LCD_WR_REG(0x2a);//еַ + LCD_WR_REG(0x2a);//列地址设置 LCD_WR_DATA(x1); LCD_WR_DATA(x2); - LCD_WR_REG(0x2b);//еַ + LCD_WR_REG(0x2b);//行地址设置 LCD_WR_DATA(y1); LCD_WR_DATA(y2); - LCD_WR_REG(0x2c);//д + LCD_WR_REG(0x2c);//储存器写 } void hdl_lcd_fill(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2, uint8_t *color) { - LCD_Address_Set(x1,y1,x2,y2);//ʾΧ + LCD_Address_Set(x1,y1,x2,y2);//设置显示范围 hdl_lcd_send(color, (x2-x1+1)*(y2-y1+1)*2); } void LCD_DrawPoint(uint16_t x,uint16_t y,uint16_t color) { - LCD_Address_Set(x,y,x,y);//ùλ + LCD_Address_Set(x,y,x,y);//设置光标位置 LCD_WR_DATA(color); } @@ -250,7 +250,7 @@ void hdl_lcd_init(void) hdl_lcd_config(); hdl_lcd_timer_config(); - LCD_RES_CLR();//λ + LCD_RES_CLR();//复位 hdl_delay_ms(100); LCD_RES_SET(); hdl_delay_ms(100); diff --git a/hdl/hdl_lcd.h b/hdl/hdl_lcd.h index 1052dce..5d6f605 100644 --- a/hdl/hdl_lcd.h +++ b/hdl/hdl_lcd.h @@ -6,7 +6,7 @@ #include "lvgl.h" -/* lcdˢʱ */ +/* lcd刷屏定时器处理 */ #define LCD_TIM_UINT CM_TMR0_1 #define LCD_TIM_CLK FCG2_PERIPH_TMR0_1 #define LCD_TIM_CH TMR0_CH_B @@ -18,7 +18,7 @@ #define LCD_TIME_CMP_VALUE (1563) -#define USE_HORIZONTAL 0 //úʾ 01Ϊ 23Ϊ +#define USE_HORIZONTAL 0 //设置横屏或者竖屏显示 0或1为竖屏 2或3为横屏 #define LCD_W 240 #define LCD_H 240 @@ -57,7 +57,7 @@ #define LCD_MOSI_Clr() GPIO_ResetPins(GPIO_PORT_B,GPIO_PIN_06)//SDA=MOSI #define LCD_MOSI_Set() GPIO_SetPins(GPIO_PORT_B,GPIO_PIN_06) -//ɫ +//画笔颜色 #define WHITE 0xFFFF #define BLACK 0x0000 #define BLUE 0x001F @@ -69,16 +69,16 @@ #define GREEN 0x07E0 #define CYAN 0x7FFF #define YELLOW 0xFFE0 -#define BROWN 0XBC40 //ɫ -#define BRRED 0XFC07 //غɫ -#define GRAY 0X8430 //ɫ -#define DARKBLUE 0X01CF //ɫ -#define LIGHTBLUE 0X7D7C //dzɫ -#define GRAYBLUE 0X5458 //ɫ -#define LIGHTGREEN 0X841F //dzɫ -#define LGRAY 0XC618 //dzɫ(PANNEL),屳ɫ -#define LGRAYBLUE 0XA651 //dzɫ(мɫ) -#define LBBLUE 0X2B12 //dzɫ(ѡĿķɫ) +#define BROWN 0XBC40 //棕色 +#define BRRED 0XFC07 //棕红色 +#define GRAY 0X8430 //灰色 +#define DARKBLUE 0X01CF //深蓝色 +#define LIGHTBLUE 0X7D7C //浅蓝色 +#define GRAYBLUE 0X5458 //灰蓝色 +#define LIGHTGREEN 0X841F //浅绿色 +#define LGRAY 0XC618 //浅灰色(PANNEL),窗体背景色 +#define LGRAYBLUE 0XA651 //浅灰蓝色(中间层颜色) +#define LBBLUE 0X2B12 //浅棕蓝色(选择条目的反色) typedef void (*lcd_dma_callback_t)(void); typedef void (*lcd_timer_callback_t)(void); diff --git a/hdl/hdl_spi.c b/hdl/hdl_spi.c index 1b8d797..6d88da1 100644 --- a/hdl/hdl_spi.c +++ b/hdl/hdl_spi.c @@ -7,7 +7,7 @@ void hdl_spi1_init(void) LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 配置SPI引脚 */ + /* 閰嶇疆SPI寮曡剼 */ (void)GPIO_StructInit(&stcGpioInit); stcGpioInit.u16PinDrv = PIN_HIGH_DRV; @@ -21,20 +21,20 @@ void hdl_spi1_init(void) GPIO_SetFunc(SPI1_MOSI_PORT, SPI1_MOSI_PIN, SPI1_MOSI_FUNC); GPIO_SetFunc(SPI1_MISO_PORT, SPI1_MISO_PIN, SPI1_MISO_FUNC); - /* 配置SPI参数 */ + /* 閰嶇疆SPI鍙傛暟 */ SPI_StructInit(&stcSpiInit); FCG_Fcg1PeriphClockCmd(SPI1_CLOCK, ENABLE); - stcSpiInit.u32WireMode = SPI_3_WIRE; //3线SPI - stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //全双工 - stcSpiInit.u32MasterSlave = SPI_MASTER; //主机 - stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 禁用模式故障检测 - stcSpiInit.u32Parity = SPI_PARITY_INVD; //无奇偶校验 - stcSpiInit.u32SpiMode = SPI_MD_3; //SPI模式3 - stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //预分频 - stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //数据宽度 - stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB高位有效 + stcSpiInit.u32WireMode = SPI_3_WIRE; //3绾縎PI + stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //鍏ㄥ弻宸? + stcSpiInit.u32MasterSlave = SPI_MASTER; //涓绘満 + stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 绂佺敤妯″紡鏁呴殰妫€娴? + stcSpiInit.u32Parity = SPI_PARITY_INVD; //鏃犲鍋舵牎楠? + stcSpiInit.u32SpiMode = SPI_MD_3; //SPI妯″紡3 + stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //棰勫垎棰? + stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //鏁版嵁瀹藉害 + stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB楂樹綅鏈夋晥 (void)SPI_Init(SPI1_INSTANCE, &stcSpiInit); SPI_Cmd(SPI1_INSTANCE, ENABLE); @@ -78,7 +78,7 @@ void hdl_spi2_init(void) LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 配置SPI引脚 */ + /* 閰嶇疆SPI寮曡剼 */ (void)GPIO_StructInit(&stcGpioInit); stcGpioInit.u16PinDrv = PIN_HIGH_DRV; @@ -92,20 +92,20 @@ void hdl_spi2_init(void) GPIO_SetFunc(SPI2_MOSI_PORT, SPI2_MOSI_PIN, SPI2_MOSI_FUNC); GPIO_SetFunc(SPI2_MISO_PORT, SPI2_MISO_PIN, SPI2_MISO_FUNC); - /* 配置SPI参数 */ + /* 閰嶇疆SPI鍙傛暟 */ SPI_StructInit(&stcSpiInit); FCG_Fcg1PeriphClockCmd(SPI2_CLOCK, ENABLE); - stcSpiInit.u32WireMode = SPI_3_WIRE; //3线SPI - stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //全双工 - stcSpiInit.u32MasterSlave = SPI_MASTER; //主机 - stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 禁用模式故障检测 - stcSpiInit.u32Parity = SPI_PARITY_INVD; //无奇偶校验 - stcSpiInit.u32SpiMode = SPI_MD_3; //SPI模式3 - stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //预分频 - stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //数据宽度 - stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB高位有效 + stcSpiInit.u32WireMode = SPI_3_WIRE; //3绾縎PI + stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //鍏ㄥ弻宸? + stcSpiInit.u32MasterSlave = SPI_MASTER; //涓绘満 + stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 绂佺敤妯″紡鏁呴殰妫€娴? + stcSpiInit.u32Parity = SPI_PARITY_INVD; //鏃犲鍋舵牎楠? + stcSpiInit.u32SpiMode = SPI_MD_3; //SPI妯″紡3 + stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //棰勫垎棰? + stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //鏁版嵁瀹藉害 + stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB楂樹綅鏈夋晥 (void)SPI_Init(SPI2_INSTANCE, &stcSpiInit); SPI_Cmd(SPI2_INSTANCE, ENABLE); @@ -150,7 +150,7 @@ void hdl_spi3_init(void) LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 配置SPI引脚 */ + /* 閰嶇疆SPI寮曡剼 */ (void)GPIO_StructInit(&stcGpioInit); stcGpioInit.u16PinDrv = PIN_HIGH_DRV; @@ -164,20 +164,20 @@ void hdl_spi3_init(void) GPIO_SetFunc(SPI3_MOSI_PORT, SPI3_MOSI_PIN, SPI3_MOSI_FUNC); GPIO_SetFunc(SPI3_MISO_PORT, SPI3_MISO_PIN, SPI3_MISO_FUNC); - /* 配置SPI参数 */ + /* 閰嶇疆SPI鍙傛暟 */ SPI_StructInit(&stcSpiInit); FCG_Fcg1PeriphClockCmd(SPI3_CLOCK, ENABLE); - stcSpiInit.u32WireMode = SPI_3_WIRE; //3线SPI - stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //全双工 - stcSpiInit.u32MasterSlave = SPI_MASTER; //主机 - stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 禁用模式故障检测 - stcSpiInit.u32Parity = SPI_PARITY_INVD; //无奇偶校验 - stcSpiInit.u32SpiMode = SPI_MD_3; //SPI模式3 - stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //预分频 - stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //数据宽度 - stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB高位有效 + stcSpiInit.u32WireMode = SPI_3_WIRE; //3绾縎PI + stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //鍏ㄥ弻宸? + stcSpiInit.u32MasterSlave = SPI_MASTER; //涓绘満 + stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 绂佺敤妯″紡鏁呴殰妫€娴? + stcSpiInit.u32Parity = SPI_PARITY_INVD; //鏃犲鍋舵牎楠? + stcSpiInit.u32SpiMode = SPI_MD_3; //SPI妯″紡3 + stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //棰勫垎棰? + stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //鏁版嵁瀹藉害 + stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB楂樹綅鏈夋晥 (void)SPI_Init(SPI3_INSTANCE, &stcSpiInit); SPI_Cmd(SPI3_INSTANCE, ENABLE); diff --git a/hdl/hdl_spi4.c b/hdl/hdl_spi4.c index 0db8068..132abcc 100644 --- a/hdl/hdl_spi4.c +++ b/hdl/hdl_spi4.c @@ -7,7 +7,7 @@ void hdl_spi4_init(void) LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 配置SPI引脚 */ + /* 閰嶇疆SPI寮曡剼 */ (void)GPIO_StructInit(&stcGpioInit); stcGpioInit.u16PinDrv = PIN_HIGH_DRV; @@ -21,20 +21,20 @@ void hdl_spi4_init(void) GPIO_SetFunc(SPI4_MOSI_PORT, SPI4_MOSI_PIN, SPI4_MOSI_FUNC); GPIO_SetFunc(SPI4_MISO_PORT, SPI4_MISO_PIN, SPI4_MISO_FUNC); - /* 配置SPI参数 */ + /* 閰嶇疆SPI鍙傛暟 */ SPI_StructInit(&stcSpiInit); FCG_Fcg1PeriphClockCmd(SPI4_CLOCK, ENABLE); - stcSpiInit.u32WireMode = SPI_3_WIRE; //3线SPI - stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //全双工 - stcSpiInit.u32MasterSlave = SPI_MASTER; //主机 - stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 禁用模式故障检测 - stcSpiInit.u32Parity = SPI_PARITY_INVD; //无奇偶校验 - stcSpiInit.u32SpiMode = SPI_MD_3; //SPI模式3 - stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //预分频 - stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //数据宽度 - stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB高位有效 + stcSpiInit.u32WireMode = SPI_3_WIRE; //3绾縎PI + stcSpiInit.u32TransMode = SPI_FULL_DUPLEX; //鍏ㄥ弻宸? + stcSpiInit.u32MasterSlave = SPI_MASTER; //涓绘満 + stcSpiInit.u32ModeFaultDetect = SPI_MD_FAULT_DETECT_DISABLE; // 绂佺敤妯″紡鏁呴殰妫€娴? + stcSpiInit.u32Parity = SPI_PARITY_INVD; //鏃犲鍋舵牎楠? + stcSpiInit.u32SpiMode = SPI_MD_3; //SPI妯″紡3 + stcSpiInit.u32BaudRatePrescaler = SPI_BR_CLK_DIV64; //棰勫垎棰? + stcSpiInit.u32DataBits = SPI_DATA_SIZE_8BIT; //鏁版嵁瀹藉害 + stcSpiInit.u32FirstBit = SPI_FIRST_MSB; //MSB楂樹綅鏈夋晥 (void)SPI_Init(SPI4_INSTANCE, &stcSpiInit); SPI_Cmd(SPI4_INSTANCE, ENABLE); diff --git a/hdl/hdl_usart.c b/hdl/hdl_usart.c index 18cedcd..c45318c 100644 --- a/hdl/hdl_usart.c +++ b/hdl/hdl_usart.c @@ -6,11 +6,11 @@ #include "hdl_usart.h" -//定义数据获取回调函数 +//瀹氫箟鏁版嵁鑾峰彇鍥炶皟鍑芥暟 static hdl_debug_uart_rx_cb_t debug_rx_callback_cbs; static com_rx_callback com_rx_callback_cbs; -//接收中断 +//鎺ユ敹涓柇 static void COM_Rx_IrqCallback(void); static void COM_RxErr_IrqCallback(void); @@ -25,7 +25,7 @@ static void INTC_IrqInstalHandler(const stc_irq_signin_config_t* pstcConfig, uin } } -//调试串口 +//璋冭瘯涓插彛 static void DEBUG_RxErr_IrqCallback(void) { (void)USART_ReadData(DEBUG_UART); @@ -80,7 +80,7 @@ void hdl_debug_uart_init(void) stcUartInit.u32OverSampleBit = USART_OVER_SAMPLE_8BIT; USART_UART_Init(DEBUG_UART, &stcUartInit, NULL); - //接收中断配置 + //鎺ユ敹涓柇閰嶇疆 stc_irq_signin_config_t stcIrqSigninConfig; stcIrqSigninConfig.enIRQn = DEBUG_UART_INT_EI_IRQ; stcIrqSigninConfig.enIntSrc = DEBUG_UART_INT_EI; @@ -127,7 +127,7 @@ int hdl_debug_uart_getc(int *ch) } -//通信模块串口初始化 +//閫氫俊妯″潡涓插彛鍒濆鍖? void hdl_com_uart_init(void) { stc_usart_uart_init_t stcUartInit={0}; @@ -149,7 +149,7 @@ void hdl_com_uart_init(void) stcUartInit.u32OverSampleBit = USART_OVER_SAMPLE_8BIT; USART_UART_Init(COM_UART, &stcUartInit, NULL); - //接收中断配置 + //鎺ユ敹涓柇閰嶇疆 stcIrqSigninConfig.enIRQn = COM_INT_EI_IRQ; stcIrqSigninConfig.enIntSrc = COM_INT_EI; stcIrqSigninConfig.pfnCallback = &COM_RxErr_IrqCallback; @@ -167,7 +167,7 @@ void hdl_com_uart_init(void) } -//通信发送数据 +//閫氫俊鍙戦€佹暟鎹? void hdl_com_uart_send(uint8_t* w_buf, uint16_t len) { uint8_t i; @@ -180,7 +180,7 @@ void hdl_com_uart_send(uint8_t* w_buf, uint16_t len) } } -//通信回调函数注册 +//閫氫俊鍥炶皟鍑芥暟娉ㄥ唽 void hdl_com_uart_rx_register(com_rx_callback pCBS) { if (com_rx_callback_cbs == 0) @@ -189,7 +189,7 @@ void hdl_com_uart_rx_register(com_rx_callback pCBS) } } -//通信接收中断 +//閫氫俊鎺ユ敹涓柇 static void COM_Rx_IrqCallback(void) { uint8_t r_data = 0; diff --git a/hdl/hdl_usb.c b/hdl/hdl_usb.c index c4f7148..2a6b6d9 100644 --- a/hdl/hdl_usb.c +++ b/hdl/hdl_usb.c @@ -15,7 +15,7 @@ void hdl_usb_init(void) LL_PERIPH_WE(LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_GPIO | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM); - /* 时钟配置 */ + /* 鏃堕挓閰嶇疆 */ (void)CLK_PLLxStructInit(&stcUpllInit); stcUpllInit.u8PLLState = CLK_PLLX_ON; stcUpllInit.PLLCFGR = 0UL; @@ -27,7 +27,7 @@ void hdl_usb_init(void) (void)CLK_PLLxInit(&stcUpllInit); CLK_SetUSBClockSrc(CLK_USBCLK_PLLXP); - /* 引脚配置 */ + /* 寮曡剼閰嶇疆 */ (void)GPIO_StructInit(&stcGpioCfg); stcGpioCfg.u16PinAttr = PIN_ATTR_ANALOG; @@ -38,10 +38,10 @@ void hdl_usb_init(void) // GPIO_SetFunc(USB_VBUS_PORT, USB_VBUS_PIN, GPIO_FUNC_10); /* VBUS */ FCG_Fcg1PeriphClockCmd(FCG1_PERIPH_USBFS, ENABLE); - /* 中断配置 */ + /* 涓柇閰嶇疆 */ stcIrqRegiConf.enIRQn = INT030_IRQn; stcIrqRegiConf.enIntSrc = INT_SRC_USBFS_GLB; - stcIrqRegiConf.pfnCallback = &USB_IRQ_Handler; // 添加中断函数 + stcIrqRegiConf.pfnCallback = &USB_IRQ_Handler; // 娣诲姞涓柇鍑芥暟 (void)INTC_IrqSignIn(&stcIrqRegiConf); NVIC_ClearPendingIRQ(stcIrqRegiConf.enIRQn); NVIC_SetPriority(stcIrqRegiConf.enIRQn, DDL_IRQ_PRIO_15); diff --git a/pthreads/pt_pm.c b/pthreads/pt_pm.c index b799e4d..8c15ed5 100644 --- a/pthreads/pt_pm.c +++ b/pthreads/pt_pm.c @@ -5,15 +5,15 @@ #include "stdio.h" -// 系统空闲条件 +// 绯荤粺绌洪棽鏉′欢 #define SYSTEM_IS_IDLE() (ALL_TASKS_IDLE()) -#define DEEP_SLEEP_THRESHOLD 5 // 进入深度休眠的空闲计数阈值 +#define DEEP_SLEEP_THRESHOLD 5 // 杩涘叆娣卞害浼戠湢鐨勭┖闂茶鏁伴槇鍊? static struct { pm_adapter_t default_adapter; pt_t pt; - pm_mode_t current_mode; // 当前功耗模式 - uint32_t ref_count[PM_SLEEP_MODE_MAX]; // 引用计数数组 + pm_mode_t current_mode; // 褰撳墠鍔熻€楁ā寮? + uint32_t ref_count[PM_SLEEP_MODE_MAX]; // 寮曠敤璁℃暟鏁扮粍 } pm; static bool system_is_idle(void) @@ -22,13 +22,13 @@ static bool system_is_idle(void) } /* -功耗管理:遍历所有任务状态,然后根据用于请求的功耗模式,调用适配器接口,调整MCU的运行模式 +鍔熻€楃鐞嗭細閬嶅巻鎵€鏈変换鍔$姸鎬侊紝鐒跺悗鏍规嵁鐢ㄤ簬璇锋眰鐨勫姛鑰楁ā寮忥紝璋冪敤閫傞厤鍣ㄦ帴鍙o紝璋冩暣MCU鐨勮繍琛屾ā寮? */ static void pt_pm_handler(void) { if (system_is_idle()) { - // 切换到下一个可用的功耗模式 + // 鍒囨崲鍒颁笅涓€涓彲鐢ㄧ殑鍔熻€楁ā寮? pm_mode_t next_mode = PM_SLEEP_MODE_NONE; for (pm_mode_t m = PM_SLEEP_MODE_NONE; m < PM_SLEEP_MODE_MAX; m++) { if (pm.ref_count[m] > 0 ) { @@ -43,7 +43,7 @@ static void pt_pm_handler(void) { } else { - pt_pm_release(PM_SLEEP_MODE_NONE); // 唤醒系统 + pt_pm_release(PM_SLEEP_MODE_NONE); // 鍞ら啋绯荤粺 if (pm.default_adapter.wakeup) { pm.default_adapter.wakeup(); @@ -55,7 +55,7 @@ static void pt_pm_handler(void) { void pt_pm_adapter_init(pm_adapter_t *adapter) { if (adapter) { - pm.default_adapter = *adapter; // 复制整个结构体 + pm.default_adapter = *adapter; // 澶嶅埗鏁翠釜缁撴瀯浣? } else { pm.default_adapter.sleep = 0; pm.default_adapter.wakeup = 0; @@ -74,7 +74,7 @@ int pt_task_pm(void) { while (1) { - pt_pm_handler(); // 处理功耗状态 + pt_pm_handler(); // 澶勭悊鍔熻€楃姸鎬? PT_DELAY_MS(&pm.pt, system_is_idle() ? 1000 : 100); } @@ -83,23 +83,23 @@ int pt_task_pm(void) { } /* -请求功耗模式:引用计数自增,如果为1,则调用适配器接口,调整MCU的运行模式 +璇锋眰鍔熻€楁ā寮忥細寮曠敤璁℃暟鑷锛屽鏋滀负1锛屽垯璋冪敤閫傞厤鍣ㄦ帴鍙o紝璋冩暣MCU鐨勮繍琛屾ā寮? */ void pt_pm_request(pm_mode_t mode) { if (mode >= PM_SLEEP_MODE_MAX) { - return; // 无效模式 + return; // 鏃犳晥妯″紡 } - pm.ref_count[mode]++; // 仅操作引用计数 + pm.ref_count[mode]++; // 浠呮搷浣滃紩鐢ㄨ鏁? } /* -释放功耗模式:引用计数自减,如果为0,则调用适配器接口,调整MCU的运行模式 +閲婃斁鍔熻€楁ā寮忥細寮曠敤璁℃暟鑷噺锛屽鏋滀负0锛屽垯璋冪敤閫傞厤鍣ㄦ帴鍙o紝璋冩暣MCU鐨勮繍琛屾ā寮? */ void pt_pm_release(pm_mode_t mode) { if (mode >= PM_SLEEP_MODE_MAX) { - return; // 无效模式 + return; // 鏃犳晥妯″紡 } if (pm.ref_count[mode] > 0) { - pm.ref_count[mode]--; // 仅操作引用计数 + pm.ref_count[mode]--; // 浠呮搷浣滃紩鐢ㄨ鏁? } }