Загрузить в Arduino C # - PullRequest
       4

Загрузить в Arduino C #

0 голосов
/ 04 марта 2019

Я пытаюсь загрузить файл blink.hex в Arduino через C #, используя этот код:

                string Folder1 = @"C:\Program Files(x86)\Arduino\hardware\tools\avr/bin/avrdude";
            string Folder2 = @"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf";
            string Hexpath = @"C:\VG-Break In\HEX\VBISU.ino.hex";
            string arg =
                "-C" + Folder2
                + "-v -patmega328p -carduino  -P" +
                 cmbports.SelectedText.ToString() +
                "-b115200 -D -Uflash:w:" + Hexpath + "i";

            Process.Start(@"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" ,arg);

Но он не загружается.Я просто вижу, что cmd мигает в течение доли секунды ...

Строка, которую я вижу в моей среде Arduino при загрузке:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\VICTOR~1\AppData\Local\Temp\arduino_build_426502/VBISU.ino.hex:i 

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Я решил свой вопрос сейчас после небольшого исследования и подумал, что я бы разместил здесь ответ, если кому-то это понадобитсяПроблема в том, что я пытался загрузить файл, созданный компилятором Arduino, в который не был включен загрузчик.Однако я обнаружил, что компилятор также создал файл с включенным загрузчиком.При изменении Hexpath на этот файл все работало.

0 голосов
/ 04 марта 2019

Вы, похоже, сводите все свои аргументы вместе в строку arg.Вы должны разделить их пробелами.Используя код, который вы показали, вы видите:

avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf-v -patmega328p -carduino  -Pport-b115200 -D -Uflash:w:C:\VG-Break In\HEX\VBISU.ino.hexi

, не уверенный в том, что вашей версии нужен пробел между опцией и ее данными, но вам обязательно нужно разделить каждую опцию.Вы также забыли «:» между Hexpath и идентификатором типа «i».Попробуйте следующее:

string arg = "-C " + Folder2
             + " -v -p atmega328p -c arduino"
             + " -P " + cmbports.SelectedText.ToString()
             + " -b 115200 -D -U flash:w:" + Hexpath + ":i";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...