Как загрузить код Arduino C в mBot?

Я пытаюсь запрограммировать mBot с помощью Arduino IDE. Я подключен к mBot через USB на COM7, я могу загрузить код, созданный в mBlock 3.4.11 отлично, в качестве режима редактирования используется "Режим Arduino". Теперь я хотел бы перейти к более сложному кодированию, и для этого я хочу иметь возможность напрямую редактировать исходный код. Исходный код, видимый в приложении MBlock, кажется, доступен только для чтения, есть кнопка, которая должна позволять редактировать код, под названием «Редактировать с помощью Arduino». Когда я нажимаю эту кнопку, открывается Arduino IDE, и я могу редактировать код. Проблема в том, что я, похоже, не могу отправить отредактированный таким образом код в mBot.

Когда я использую пункт меню Arduino IDE Sketch/Upload, код компилируется, но при его отправке я всегда получаю следующую ошибку:

avrdude: stk500v2_ReceiveMessage(): таймаут

Примечание. Раньше я редактировал и загружал код Arduino с помощью Ardino IDE и VisualStudio VisualMicro (теперь Arduino IDE для Visual Studio) без любые проблемы.

Я не знаю точно, как приложение mBlock обрабатывает загрузку, но при этом создается папка с проектом, содержащая следующий файл buildprefs.txt — возможно, это поможет понять, что оно делает:

р>
build.arch = AVR
build.board = AVR_UNO
build.core = arduino
build.core.path = X:\Users\UserName\mblockExe\Arduino\hardware\arduino\avr\cores\arduino
build.extra_flags = 
build.f_cpu = 16000000L
build.mcu = atmega328p
build.path = X:\Users\UserName\AppData\Local\Temp\build3998294614124133332.tmp
build.project_name = project_followLineAuto0_0.cpp
build.source.path = X:\Users\UserName\AppData\Roaming\com.makeblock.Scratch3.4.11\Local Store\scratchTemp\project_followLineAuto0_0
build.system.path = X:\Users\UserName\mblockExe\Arduino\hardware\arduino\avr\system
build.usb_flags = -DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}'
build.usb_manufacturer = "Unknown"
build.variant = standard
build.variant.path = X:\Users\UserName\mblockExe\Arduino\hardware\arduino\avr\variants\standard
build.verbose = true
build.warn_data_percentage = 75
compiler.S.extra_flags = 
compiler.S.flags = -c -g -x assembler-with-cpp
compiler.ar.cmd = avr-ar
compiler.ar.extra_flags = 
compiler.ar.flags = rcs
compiler.c.cmd = avr-gcc
compiler.c.elf.cmd = avr-gcc
compiler.c.elf.extra_flags = 
compiler.c.elf.flags = {compiler.warning_flags} -Os -Wl,--gc-sections
compiler.c.extra_flags = 
compiler.c.flags = -c -g -Os {compiler.warning_flags} -ffunction-sections -fdata-sections -MMD
compiler.cpp.cmd = avr-g++
compiler.cpp.extra_flags = 
compiler.cpp.flags = -c -g -Os {compiler.warning_flags} -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD
compiler.elf2hex.cmd = avr-objcopy
compiler.elf2hex.extra_flags = 
compiler.elf2hex.flags = -O ihex -R .eeprom
compiler.ldflags = 
compiler.objcopy.cmd = avr-objcopy
compiler.objcopy.eep.extra_flags = 
compiler.objcopy.eep.flags = -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.path = {runtime.tools.avr-gcc.path}/bin/
compiler.size.cmd = avr-size
compiler.warning_flags = -w
compiler.warning_flags.all = -Wall -Wextra
compiler.warning_flags.default = 
compiler.warning_flags.more = -Wall
compiler.warning_flags.none = -w

, 👍2

Обсуждение

Какую IDE Arduino вы используете? Как ты получил это? Какая операционная система? Можем ли мы увидеть код (просто любопытно)?, @Jot

@Jot Arduino IDE устанавливается приложением mBlock. У меня версия 1.6.5. Я использую Windows 10 x64 Pro., @Suma

Это старая версия. Самая новая версия — 1.8.8. Вот дополнительная информация о mBot: https://github.com/Makeblock-official/mBot Схема находится в папке «pcb». Насколько я могу судить, аппаратное и программное обеспечение mBot в порядке, они знают, что делают. Вы можете купить дешевый клон Uno за 3 доллара, чтобы узнать больше о программировании на C++ для Arduino., @Jot

«Это старая версия. Самая новая версия — 1.8.8». Ну, это версия, поставляемая в комплекте с mBlocks. Поскольку все работает нормально, я не уверен, стоит ли возиться с установкой. Что касается программирования на C++ для Arduino, у меня уже есть опыт в этом (у меня есть одна плата Uno и одна плата Mega). У меня были проблемы только с тем, чтобы код C работал с mBot., @Suma


1 ответ


Лучший ответ:

1

Обязательно выберите правильную плату (Arduino UNO) и порт.

Подробную информацию см. в этом руководстве: https://www.arduino.cc/en/Guide/ArduinoUno#toc5

,