Задать вопрос
@constv

Проблема с подключением usb host shield к Ardiuno Mega 2560?

Здраствуйте!

Имею Usb host shield и Arduino Mega 2560. Возникли проблемы с подключением связки устройств Usb host shield+Arduino Mega 2560+Samsung Galaxy S (официальная прошивка 2.3.6 ). Дело в том, что описание на сайте производителя хоста, как мне кажется, не соответствует действительности, а именно,
It's compatible with almost Arduinos – not only UNO and Duemilanove, but also big Mega and Mega 2560 work with Standard variant of this shield out of the box. No more SPI re-wiring and code modifications – just solder included stackable connectors (2×3 ICSP connector’s female side should be facing down), plug and play!
, просто копирует описание с сайта, хотя платы разные. В результате, следуя инструкции в wiki на сайте производителя не удается подружить все три устройства.

Я запускаю тестовый скетч
#include <Max3421e.h>
#include <Usb.h>
#include <AndroidAccessory.h>
 
AndroidAccessory acc("Google, Inc.",
		     "DemoKit",
		     "DemoKit Arduino Board",
		     "1.0",
		     "http://www.android.com",
		     "0000000012345678");
void setup();
void loop();
 
void setup()
{
	Serial.begin(115200);
	Serial.print("\r\nStart");
	acc.powerOn();
}
 
void loop()
{
  byte msg[3];
 
	if (acc.isConnected()) {
                Serial.print("Accessory connected. ");
		int len = acc.read(msg, sizeof(msg), 1);
                Serial.print("Message length: ");
                Serial.println(len, DEC);
        }
 
	delay(100);
}
, но ничего не вижу в Serial Monitor, кроме исключения

«StartError: OSCOKIRQ failed to assert».

Прошу, тех кто сталкивался с этим хостом или компетентен в этой сфере подсказать, как «подружить» этот хост с Arduino Mega 2560.

Заранее благодарен!
  • Вопрос задан
  • 5356 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
blo
@blo
инженер-программист
Какая USB Host Shield Library используется. 1.0 или 2.0?
Ответ написан
@constv Автор вопроса
Есть успехи, по-порядку:
1. подключил плату как показано на фотках в статье blo, за исключением того, что не отгибал ноги TX и RX.
2. библиотеки взял из ADK_release_0512 (с другими не «заводилось»)

Теперь о результатах на примере скетча, который привел выше, имею следующий лог в Serial Monitor:
С Samsung Galaxy Tab 7.7 (P6800) официальная прошивка 3.2 версия ядра 2.6.36:
Device addressed… Requesting device descriptor.
found possible device. swithcing to serial mode
device supports protcol 1
Setup packet error: D
Device addressed… Requesting device descriptor.
found android acessory device
config desc
interface desc
interface desc
C
D
Accessory connected. Message length: -1
Accessory connected. Message length: -1
Accessory connected. Message length: -1


А с Samsung Galaxy S (I9000) официальная прошивка 2.3.6 версия ядра 2.6.35.7:
Device addressed… Requesting device descriptor.
found possible device. swithcing to serial mode
Data packet error: 5could not read device protocol version

Device addressed… Requesting device descriptor.
Setup packet error: D
Device descriptor cannot be retrieved. Trying again


Как я понимаю Tab распознается и начинает читать сообщения, а вот с Гэлэкси Эс проблемы.

Объясните, пожалуйста, что не так с Гэлэкси Эс, как с этим бороться?
Ответ написан
Комментировать
@constv Автор вопроса
еще забыл написать, что мегу запитал от блока питания
Ответ написан
Комментировать
@constv Автор вопроса
и еще дополнение, забыл указать что подправил функцию setup, прочитав вики по плате, без этого не работало, выглядит она теперь так
void setup()
{
        pinMode(7, OUTPUT);
        digitalWrite(7, LOW);
        delay(300);
        digitalWrite(7, HIGH);

	Serial.begin(115200);
	Serial.print("\r\nStart");
	acc.powerOn();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы