之前几个项目开发都是用的华大HC32F003_DDL_Rev1.0.2的库函数,今年刚开始入手华大,刚开始不是很了解这个芯片,看到库能用就上手了。这个版本的库编译效率很低,16K的芯片一下就写爆了。后面华大官方不在对此版本的库进行更新,之前使用的时候也发现了很多错误和漏洞。这次新项目使用hc32f005_ddl_Rev1.9.0 Lite的库开发,今天第一天使用,就发现了一个不全。
单片机P00复位口这边做了按键检测,那么要将RST引脚配置位IO功能,看了手册SYSCTRL1的功能位,bit7 = 1则该引脚配置位GPIO功能,但是看了库函数对于SYSCTRL1的结构体定义里面却没有该位的定义,实在费解。

手册资料

原版库函数对SYSCTRL1的定义,缺少bi7关于RST引脚的定义,
固对库函数作如下修改,仅供参考,欢迎交流。

- typedef enum en_sysctrl_func
- {
- SysctrlEXTHEn = 1u, ///< 使能外部高速时钟从输入引脚输入
- SysctrlCMLockUpEn = 6u, ///< 使能后CPU执行无效指令会复位MCU
- SysctrlRSTUseIOEn = 7u, ///< RST端口设为IO功能
- SysctrlSWDUseIOEn = 8u, ///< SWD端口设为IO功能
- }en_sysctrl_func_t;