Показать сообщение отдельно
Старый 30.07.2016, 01:58   #182
indevor
Новый Пользователь
 
Регистрация: 12.12.2015
Возраст: 38
Город: Минск
Регион: Беларусь
Машина: Acura TSX 2006
Сообщений: 11
indevor is on a distinguished road
По умолчанию

Всем привет. Такая проблема. Подключил датчик ds18b20 по этому коду, через леонардо на тв боксе (свистке) mk908ii (rk3188), прошивка Finless 1.6 (4.2.2):
Код:
#include <OneWire.h>
OneWire ds(9);
 
void setup() {
pinMode(6, OUTPUT);           // set pin to input
digitalWrite(6, HIGH);
Serial.begin(9600); 
}
 
void loop() {
 
byte data[2];
ds.reset(); 
ds.write(0xCC);
ds.write(0x44);
delay(750);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read(); 
data[1] = ds.read();
int Temp = (data[1]<< 8)+data[0];
Temp = Temp>>4;
Serial.print("<Temp:");
Serial.print(Temp);
Serial.println(">");
delay(5000);
}
конфигурация такая: usb свистка - хаб1 - хаб2 - леонардо.
Из железа: контроллера тача на таком же леонардо (хаб1), звук c-media (хаб1) - хаб2 - леонардо(хаб2), мышь(хаб2), клава(хаб2).
При рабочей системе - с большего всё ок. Стоят галки автоопределение и переподключение. Как только перезагружаю систему, всё наглухо виснет и не даёт загрузится (экран, бутлого, просто замирает, потом свисток отрубается, чёрный экран). По светодиодам видно что леонардо стартует и открывает порт где то в середине загрузки потом грузится пару фризов и всё - стоп)

Ещё заметил если убрать и скетча delay(5000); данных видно становится многовато и всплывающее окно не исчезает. (в моём случаи <Temp:xx>)

Пробовал отключать всё кроме тача и леонардо с датчиком.. жутки тормоз и по итого не грузит.
Да. каждый раз, при перезагрузках с 1 хабом устройства разные /dev/usb/001 ..2..3..6. и если убрать автоопределение и вручную указать /dev/usb/001 то при след. перезагрузке эта настройка не сохраниться, так как такого устройства уже не будет. Однако если зайти в терминал и набрать cat /dev/ttyACM0 леонардо будет висеть там постоянно и исправно показывать данные. может как то можно указать этот порт вручную? Или как то в скетч указать что бы контроллер прикидывался строго определенным образом..

Последний раз редактировалось indevor; 30.07.2016 в 02:40.
indevor вне форума   Ответить с цитированием