今天使用新的电脑编译了原本在另一台电脑上创建的一个工程,结果报如下错误:

这个报错不是代码错误,是必须给工程指定具体的 PY32F0 芯片型号,编译器才知道用哪套寄存器定义。

py32f0xx.h 第 133 行强制检查:必须定义一个芯片型号宏,否则直接报错。

最快解决方法:工程全局宏定义

Keil 操作步骤

  1. 工程 → Options for Target...(魔术棒)
  2. 切换到 C/C++ 选项卡
  3. 找到 Define 输入框,添加下面的宏(用逗号分隔)
USE_HAL_DRIVER_PY32F002xx,PY32F002xx,PY32F002Ax5

重新编译即可。

编译成功后,烧录固件的时候又报了如下错误:

这个报错和代码无关,是 Keil 没有给你的 PY32F002 芯片设置正确的 Flash 烧录算法,导致无法下载程序。

设置 Flash 烧录算法

  1. 切换到 Utilities 选项卡
  2. 选择 Use Debug Driver
  3. 点击 Settings
  4. 切换到 Flash Download
  5. 点击 Add

添加如上两项后,即可成功烧录。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐