Добавление функции delayMicroseconds к стандартным фирмам для запуска Arduino с обработкой
Я использую стандартные фирмы для взаимодействия с Java Processing и запускаю проект arduino. Класс Arduino, используемый для взаимодействия обработки с java, не имеет метода delayMicroseconds или какой-либо другой задержки на плате arduino. В большинстве примеров вам нужно использовать методы задержки в среде Java, но все они работают порядка миллисекунд (1000 микросекунд).
Поэтому я могу отредактировать эскиз StandardFirmata, файл Firmata.java и файл Arduino.java, который устанавливает все эти необходимые соединения для запуска обработки. Кто-нибудь понимает, как этот код разбивается достаточно хорошо, чтобы я мог добавить свою собственную функцию задержки, которая переносит класс arduino. Я не понимаю, как этот код взаимодействует между сторонами C и Java. Лучшее понимание этого, вероятно, поможет больше всего.
Если вы хотите посмотреть ссылочный код, его можно найти по адресу: http://arduino.cc/en/reference/firmata https://github.com/firmata/processing/tree/master/src
1 ответ
Я не работал с интерфейсом firmata, но для работы с эскизами в целом работает следующее, но имеет разрешение только миллисекунды (не микросекунды):
void myDelay(int ms)
{
try
{
Thread.sleep(ms)
}
catch(Exception e) {
}
}