C语言函数中文注释添加和英文注释翻译
/* 用户代码结束标头 //n/ 包含头文件 //n#include /'main.h/'/n#include /'adc.h/'/n#include /'can.h/'/n#include /'i2c.h/'/n#include /'spi.h/'/n#include /'tim.h/'/n#include /'usart.h/'/n#include /'gpio.h/'/n/n/ 私有头文件 //n/ 用户代码开始标头 //n#include <stdio.h>/n#include <string.h>/n#include <stdlib.h>/n/n#include /'FOC.h/'/n#include /'FOC_utils.h/'/n#include /'stm32_mcu.h/'/n#include /'retarget.h/'/n/n#include /'st7735.h/'/n#include /'fonts.h/'/n#include /'image.h/'/n/ 用户代码结束标头 //n/n/ 私有类型定义 //n/ 用户代码开始标头 //n/ 用户代码结束标头 //n/n/ 私有定义 //n/ 用户代码开始标头 //n/ 用户代码结束标头 //n/n/ 私有宏 //n/ 用户代码开始标头 //n/ 用户代码结束标头 //n/n/ 私有变量 //n/ 用户代码开始标头 //n/ 用户代码结束标头 //n/n/ 私有函数原型 //nvoid SystemClock_Config(void);/n/ 用户代码开始标头 //n/ 用户代码结束标头 //n/n/ 用户代码 //n/**/n * @brief 应用程序入口点。/n * @retval int/n //nint main(void)/n{/n / 用户代码开始标头 //n/n / 用户代码结束标头 //n/n / MCU配置--------------------------------------------------------//n/n /* 重置所有外设,初始化闪存接口和系统滴答定时器。 //n HAL_Init();/n/n / 用户代码开始标头 //n/n / 用户代码结束标头 //n/n / 配置系统时钟 //n SystemClock_Config();/n/n / 用户代码开始标头 //n/n / 用户代码结束标头 //n/n / 初始化所有配置的外设 //n MX_GPIO_Init();/n MX_CAN_Init();/n MX_I2C1_Init();/n MX_USART1_UART_Init();/n MX_TIM1_Init();/n MX_ADC1_Init();/n MX_SPI1_Init();/n / 用户代码开始标头 //n RetargetInit(&huart1);/n FOC_init();/n ST7735_Init();/n/n ST7735_FillScreen(ST7735_WHITE);/n ST7735_DrawImage(0, 0, ST7735_HEIGHT, ST7735_HEIGHT, (uint16_t)head_portrait_80x80);/n ST7735_WriteString(80, 0, 'ZHT', Font_11x18, ST7735_BLUE, ST7735_BLACK);/n ST7735_WriteString(80, 18, 'Hello!', Font_11x18, ST7735_BLUE, ST7735_BLACK);/n/n /* 用户代码结束标头 //n/n / 无限循环 //n / 用户代码开始标头 //n while (1) {/n for (float angle = 0; angle < _2PI; angle += 0.05) {/n FOC_SVPWM(0, 2, angle);/n printf(/'Angle:%.2f//n/', angle);/n/n char display_string[20];/n char display_number[10];/n strcpy(display_string, /'Angle:/');/n// strcat(display_string, itoa((int)angle, display_number, 10));/n// strcat(display_string, /'//n/');/n/n// ST7735_WriteString(80, 36, /'123/', Font_11x18, ST7735_BLUE, ST7735_BLACK);/n HAL_Delay(1);/n }/n// _writeDutyCycle3PWM(1, 0, 0);/n// HAL_Delay(500);/n// _writeDutyCycle3PWM(1, 1, 0);/n// HAL_Delay(500);/n// _writeDutyCycle3PWM(0, 1, 0);/n// HAL_Delay(500);/n// _writeDutyCycle3PWM(0, 1, 1);/n// HAL_Delay(500);/n// _writeDutyCycle3PWM(0, 0, 1);/n// HAL_Delay(500);/n// _writeDutyCycle3PWM(1, 0, 1);/n// HAL_Delay(500);/n / 用户代码结束标头 //n }/n / 用户代码结束标头 //n}/n/n//n * @brief 系统时钟配置/n * @retval None/n //nvoid SystemClock_Config(void)/n{/n RCC_OscInitTypeDef RCC_OscInitStruct = {0};/n RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};/n RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};/n/n / 根据RCC_OscInitTypeDef结构中指定的参数初始化RCC振荡器。 //n RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;/n RCC_OscInitStruct.HSEState = RCC_HSE_ON;/n RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;/n RCC_OscInitStruct.HSIState = RCC_HSI_ON;/n RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;/n RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;/n RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;/n if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)/n {/n Error_Handler();/n }/n / 初始化CPU,AHB和APB总线时钟 //n RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK/n |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;/n RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;/n RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;/n RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;/n RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;/n/n if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)/n {/n Error_Handler();/n }/n PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;/n PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;/n if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)/n {/n Error_Handler();/n }/n}/n/n/ 用户代码开始标头 //n/n/ 用户代码结束标头 //n/n//n * @brief 在出现错误时执行此函数。/n * @retval None/n //nvoid Error_Handler(void)/n{/n / 用户代码开始标头 //n / 用户可以添加自己的实现来报告HAL错误返回状态 //n __disable_irq();/n while (1) {/n }/n / 用户代码结束标头 *//n}/n/n#ifdef USE_FULL_ASSERT/n//n * @brief 报告assert_param错误发生的源文件名称和源行号。/n * @param file: 指向源文件名的指针/n * @param line: assert_param错误行源编号/n * @retval None/n //nvoid assert_failed(uint8_t file, uint32_t line)/n{/n / 用户代码开始标头 //n / 用户可以添加自己的实现来报告文件名和行号,/n 例如:printf(“Wrong parameters value: file%s on line%d / r / n”,file,line)//n / 用户代码结束标头 //n}/n#endif / USE_FULL_ASSERT //n/n/*************(C)版权所有STMicroelectronics文件结束/
原文地址: https://www.cveoy.top/t/topic/n2my 著作权归作者所有。请勿转载和采集!