如何从 C# 应用程序编译并上传到 Arduino

use*_*302 2 c# upload arduino atmel

有没有办法编译从 C# 程序生成的 C 程序并将其上传到 arduino 板。

基本上我已经构建了一个小的 C# 应用程序,它根据选择到窗口中的一些参数生成一个 C 代码。现在,您必须将代码复制并粘贴到 ardunio 界面中以进行编译和上传程序。

我想自动执行此任务并直接发送在 arduino 板内生成的 C 代码,而不使用 arduino 程序或其他任何东西。只有我的窗口界面。是否可以 ?

节目图片: 在此处输入图片说明

Chr*_*heD 6

正如 datafiddler 在他的回答中指出的那样,您需要先调用avr-gcc(为了编译您的程序)。

作为第二步(上传过程)的替代方法,您可以使用ArduinoSketchUploader,这是一个本地 C# 库,通过它的引导加载程序将二进制 HEX 文件上传到 Arduino。这样,您就不必avrdude随代码一起发送/包装。

免责声明:这是我个人编写的库。

ArduinoUploader引用nuget 包后,生成的代码将如下所示:

var uploader = new ArduinoSketchUploader(
    new ArduinoSketchUploaderOptions()
    {
        FileName = @"C:\MyHexFiles\UnoHexFile.ino.hex",
        PortName = "COM3",
        ArduinoModel = ArduinoModel.UnoR3
    });
uploader.UploadSketch();
Run Code Online (Sandbox Code Playgroud)