建议修改
G4-001
附录代码截图混着 STM32CubeMX 自动生成的框架,没注明哪些是自己写的
位置附录(印刷页 29–31)|图 A-2(代码截图定义部分)、图 A-3(代码截图第二部分)、图 A-4(代码截图第三部分)
问题
附录三张代码截图里,有一大半是 STM32CubeMX 这个配置工具自动生成的框架代码(每个用这工具的人生成出来都长一样),只有夹在中间的几段(峰值检测、去直流、粒距计算)是你自己写的。可是正文和附录都没说一句「哪些是工具自动生成的、哪些是我写的」,读者分不清这份代码里你的工作量到底是哪部分。
为什么是问题
附录代码是用来佐证「软件是我做的」。但这三张图里 CubeMX 自动生成的框架代码(时钟配置、各外设
MX_*_Init、USER CODE 占位注释)各工程几乎一字不差,属工具产物、不是作者的智力贡献;查重系统按代码文本比对时,这部分极易和其他同样用 CubeMX 的论文 / 网上工程判为重复,给作者带来不必要的重复率。不注明还会把生成代码和自写代码混在一起呈现,盲审分不清哪部分是你的工作。原创性声明里写了「不含他人作品成果」「不包含使用生成式人工智能直接生成的内容」——工具自动生成的样板代码虽非 AI 生成、也非他人作品,但同属「非本人编写、需向读者交代来源」的内容,送审前宜标清楚。(本条只就「代码生成来源未注明」这一客观点立,不对作者工作量或诚信下任何评判。)修改建议
- 在附录代码区开头补一句来源说明,例如「以下代码中,系统初始化、时钟配置及各外设
MX_*_Init函数由 STM32CubeMX 自动生成并基于 STM32 HAL 库;USER CODE BEGIN/END标记之间的峰值检测、去直流漂移、粒距计算等算法为本人编写」。 - 截图里把作者自写的算法段(如
HAL_ADC_ConvCpltCallback回调内的逻辑)单独框注或加批注「本人编写」,与 CubeMX 生成的框架区分开,让读者一眼看出你的工作部分。 - 送审查重前,若可能,向查重 / 答辩说明 CubeMX 生成代码属工具样板,避免这部分被计入重复率。
- 证据(已逐张看图核实):
- 图 A-2:满屏是 CubeMX 工程标准骨架——
/* USER CODE BEGIN PV */…/* USER CODE END PV */成对标记、void SystemClock_Config(void);函数原型、int main(void)、HAL_Init();、SystemClock_Config();,这些都是 STM32CubeMX 生成代码的固定写法。 - 图 A-3:
MX_GPIO_Init();、MX_DMA_Init();、MX_ADC1_Init();、MX_TIM2_Init();、MX_TIM4_Init();、MX_USART1_UART_Init();、HAL_TIM_Encoder_Start(...)、HAL_ADC_Start_DMA(...),以及SystemClock_Config的RCC_OscInitTypeDef/RCC_ClkInitTypeDef整段时钟配置——全是 CubeMX 按勾选的外设自动生成的初始化代码。 - 图 A-4:上半截还是 CubeMX 生成的
SystemClock_Config时钟树配置;下半截HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)回调里才是作者自写的算法逻辑(g_detecting、g_p_start、峰值比较、g_adc_buf处理)。 - 附录开头(印刷页 28)只写了「STM32CubeMX 设置」(针对图 A-1 引脚图)和一个「代码」字(印刷页 29,针对三张代码截图),全文与附录没有任何一句说明代码里哪些是 CubeMX / HAL 库自动生成、哪些是本人编写。
- 第三章正文(印刷页 16)仅写「STM32 主控模块通过 HAL 库实现编码器脉冲读取、粒距计算及数据显示」,点了用 HAL 库,但未就附录代码区分生成代码与自写代码。
- 对照:图 A-1 引脚封装图虽也是 CubeMX 生成,但附录已写明「STM32CubeMX 设置」点出工具,来源清楚,不在本条范围。 ---