Показания Arduino корректно обновляются в Windows, но не в Linux
Я написал простой скрипт для получения угловых измерений от магнитного датчика. Скрипт очень хорошо работает в Windows. Однако при компиляции скрипта на Linux VirtualBox (Ubuntu 20.04) датчик повторяет первое показание угла и не меняется от этого, несмотря на изменение угла. Нет никаких ошибок/предупреждений, выдаваемых Windows или Linux на любом этапе компиляции/загрузки.
Загрузка сценария в Windows и последующий просмотр в последовательном мониторе Linux работает. Однако загрузка его в Linux и последующий просмотр в мониторе последовательного порта Windows не работает ("Плата недоступна"), даже при подключении платы к Linux, а не к Windows.
Я сравнил обе системы, и все оказалось одинаковым: одна и та же плата Arduino Uno R3, Arduino IDE 1.8.19 на обеих системах, платы Arduino AVR 1.8.3 на обеих, "Arduino Uno" в качестве платы на обоих выбрана библиотека SimpleFOC v2.2.0 на обоих. Единственная разница, которую я вижу, заключается в том, что порт Windows — COM3, а порт Linux — /dev/ttyACM0.
Мой сценарий выглядит следующим образом, и я был бы признателен за любую помощь или совет, чтобы заставить его работать в Linux. Спасибо.
#include <SimpleFOC.h>
#define PI 3.1415926535897932384626433832795
// Экземпляр магнитного датчика
MagneticSensorSPI AS5x4x = MagneticSensorSPI(8, 14, 0x3FFF);
void setup() {
// инициализируем оборудование магнитного датчика
AS5x4x.init();
// используем мониторинг с серийным номером
Serial.begin(9600);
Serial.println("Ready.");
_delay(1000);
}
void loop() {
Serial.println(AS5x4x.getAngle()); // отображаем угол
}
@Vuro H, 👍1
Обсуждение1 ответ
Лучший ответ:
Оказалось, что диспетчер библиотек Arduino давал мне неверную информацию об установленной версии библиотеки. Если удалить библиотеку, которую он использовал, а затем установить правильную библиотеку, соответствующую требуемому номеру версии, код теперь работает хорошо.
- Как отправить символы в SoftwareSerial Arduino с помощью командной строки Linux без хвоста -f?
- Arduino Uno R3 не распознается Arduino IDE в Ubuntu 21.04
- Есть ли у Linux защита программного обеспечения на USB?
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- Как подключить более 10 датчиков к Arduino uno r3
- Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu
Скомпилируйте/загрузите под Linux, а затем переместите плату в систему Windows и откройте последовательный монитор. И наоборот. Сообщите нам, связано ли такое поведение с системой, из которой оно было скомпилировано/загружено, или с системой, к которой оно подключено. Если он соответствует системе, из которой он был собран/загружен, возможно, укажите номера версий для всех IDE, библиотек, ядра платы и т. д., @timemage
Загрузка Windows + серийный монитор Linux работает. Загрузка Linux + серийный монитор Windows не работает ("Плата недоступна"). Использование Arduino 1.8.19 как в Windows, так и в Ubuntu; Плата Ардуино Уно R3. Спасибо за любую дальнейшую помощь/предложения., @Vuro H
«**все** IDE, *библиотеки*, *ядро платы* и т. д.» На самом деле вы можете быть единственным человеком, который может окончательно ответить на этот вопрос. Нужно или нет - другой вопрос. В _любом_ случае информация, необходимая для ответа на него, должна быть в вопросе, когда на него будет дан ответ. Вы почти наверняка обнаружите разницу в том, что вы установили. Но простое указание на это само по себе не является полезным ответом. «Ядро платы», о котором я упоминал, — это версия, которая указана в вашем диспетчере плат для любой платы, которую вы используете., @timemage
Хорошо, я сравнил обе системы, но все кажется одинаковым... Arduino IDE 1.8.19 на обеих системах, Arduino AVR Boards 1.8.3 на обеих, библиотека SimpleFOC v2.2.0 на обеих. Дайте мне знать, если у вас есть другие предложения, еще раз спасибо за помощь., @Vuro H
Пожалуйста, сравните также выбранную плату Arduino. Компиляция и загрузка работали без ошибок в Linux? Работала ли загрузка Linux и последовательный монитор Linux до того, как вы подключили Arduino к Windows? _Пожалуйста_ добавьте эту важную информацию к своему вопросу, [отредактировав] его, _не_ оставляйте комментарии. Я предлагаю совершить [экскурсию], чтобы узнать, как работает этот сайт. Это не форум., @the busybee
Хорошо, я отредактировал и обновил исходный вопрос с этими деталями. Будем признательны за любую помощь или предложения, которые вы можете предоставить., @Vuro H