1

我正在尝试使用基于 ESP32 的板(兼容 Espduino)在 Arduino 1.8.16 上构建最简单的示例(闪烁项目)。它构建正确,但我无法上传到板上。我验证了 CH340 驱动程序已加载并且可以工作(我能够使用 platformio 构建和上传相同的项目),所以问题似乎与 Arduino IDE 1.8.x 有关。我尝试了标准安装和便携式安装,但都不起作用。我还搜索了网络寻求帮助,但直到知道没有解决方案才解决了问题。

这是我遇到的错误:

cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:90) 在 cc.arduino.UploaderUtils 的 cc.arduino.packages.uploaders.SerialUploader.uploadUsingProgrammer(SerialUploader.java:295) 的 java.lang.NullPointerException。在 processing.app.SketchController.upload(SketchController.java:732) 在 processing.app.SketchController.exportApplet(SketchController.java:703) 在 processing.app.Editor 上传(UploaderUtils.java:77)$UploadHandler.run(Editor .java:2061) 在 java.lang.Thread.run(Thread.java:748)

任何帮助将不胜感激。

4

1 回答 1

0

仅从这条消息中诊断有点困难;我假设您正在使用https://github.com/arduino/Arduino/blob/master/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java;在第 295 行,我们有:

PreferencesMapprogrammerPrefs = targetPlatform.getProgrammer(programmer);

targetPlatform例如,如果为 null,则会触发 NullPointerException 。您确定那里的设置正确吗?

更新:目标平台的值在此处检索:

  static public TargetPlatform getTargetPlatform() {  
    String packageName = PreferencesData.get("target_package");  
    String platformName = PreferencesData.get("target_platform");  
    return getTargetPlatform(packageName, platformName);  
  }

我的建议是查看配置中的这些参数。

于 2021-10-12T14:11:24.003 回答