Вообще странно,
должен именно в десятичном выводить!Serial.print(dt1,DEC);
Вообще странно,
должен именно в десятичном выводить!Serial.print(dt1,DEC);
Сегодня плотно разбирался с устройством...
ЧУДЕСА!!!
Вдруг всё заработало и прошивка стала выдавать коды и сериал монитор их правильно показывать.
Похоже таки ардуина попалась капризная и не каждая попытка ее прошить завершается успешно. Только так могу объяснить эти чудеса с неработавшими скетчами и вдруг заработавшими...
Единственно запускал гипертерминал. Может он дал пенделя операционке и она стала работать с портом... не знаю.
Теперь о грустном. Не наботает скрипт для автохоткея.
Если запускаю его из отдельной директории в которой только он и commg.dll, то просто ничего не происходит. Запускается и ничего не видит. А если кладу оба файла в директорию с автоноткеем, то он повисает и закрыть можно только из диспетчера задач.
Предположение - не работает связь с ком-портом. Либо надо длл-ку куда-то класть в другое место либо она сама глючная либо ошибка в скетче.
Последний раз редактировалось Tvi.Dubna; 11.06.2010 в 00:54.
Так может я на это "некорректно" и попал...
и кстати, пожалуйста объясните логику этого цикла
Loop ; Ждем нажатия кнопки на руле
{
s := DllCall("commg.dll\GetByte","Cdecl str")
If s=255
{
; d := DllCall("commg.dll\GetByte","Cdecl str")
; d1 := DllCall("commg.dll\GetByte","Cdecl str")
; SteeringKey := d1*255+d
SteeringKey := DllCall("commg.dll\GetByte")
Break
}
почему мы берем байт, а не число которое выдает скетч???
Потому что другой функции в dll нетуА вообще, по сути скетч выдает именно байт, от 1 до 5.
И вообще, понятие "число" несколько некорректно. Это может быть как реальное значение (chr(1)), а может быть код кнопки 1 (chr(49)). Разные интерпретаторы могут по разному понимать и пихать эту инфу в порт.
Loop ; Ждем нажатия кнопки на руле
{
s := DllCall("commg.dll\GetByte","Cdecl str") ; Ждем "стартовый" байт, он должен быть chr(255)
If s=255
{
SteeringKey := DllCall("commg.dll\GetByte") ; читаем второй байт, в нем должен быть код кнопки (Chr(1) - Chr(5))
Break
}
Последний раз редактировалось Hamster; 11.06.2010 в 03:22.
Почитал соседнюю тему.... Хм...
У меня кардуина подключена через USB хаб с доп. питанием от компа.
Может всё дело в этом
Разбирать панель лениво... а похоже придется!
Эту тему просматривают: 7 (пользователей: 0 , гостей: 7)