PowerSwitch на AT90S2313. Ошибка ввода-вывода

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Аватара пользователя
Сообщения: 69
Зарегистрирован: Вс сен 23, 2007 15:34:32
Откуда: г. Киров

Сообщение Slawo »

Собрал PowerSwitch с сайта http://www.obdev.at/products/avrusb/index.html, прошивается, всё определяется нормально, но софт из примеров глючный.
В частности Demo-libUSB. Там, чтобы запустилось, пришлось переопределить все функции с USBLibExport.dll на libusb0.dll (и зачем вообще USBLibExport.dll, если в ней всё ссылается на libusb0.dll?)
Проблема вот в чём :
1) что за команда в ассемблеровской вставке bt? Это Bit Test? но почему эта команда не определяется в делфи? ка тогда компилили эту прогу? может нужно компонент какой-то?
2) процедура usb_control_msg(udev, (USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN), 3, 0, i, buffer, sizeof(buffer), 5000); работает только если не выходить за конец конструкции Begin - End;
Я делаю следующим образом:
l := false;
usb_control_msg(udev, (USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN), PSCMD_On, 0, 0, buffer, sizeof(buffer), 5000);
while not l do begin
Application.ProcessMessages;
sleep(1);
end;
то есть просто не даю закончиться конструкции Begin - End.
Помогите плиз, если кто сталкивался.
И ещё, как прошить всё это же дело, но на ATtiny2313?
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

По поводу прошивки 2313 есть тема:
http://www.radiokot.ru/forum/viewtopic.php?t=966

По поводу взаимозаменяемости AT90S2313 и ATTiny2313 можно посмотреть http://www.radiokot.ru/forum/viewtopic.php?t=5005
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 69
Зарегистрирован: Вс сен 23, 2007 15:34:32
Откуда: г. Киров

Сообщение Slawo »

Спасибо, всё прошивается и якобы и всё работает. Биты светодиоды можно зажигать функцией usb_control_msg(udev, (USB_TYPE_VENDOR or USB_RECIP_DEVICE or USB_ENDPOINT_IN), CMD, duration, port, buffer, sizeof(buffer), 5000);
но только если она не выходит за границы конструкции Begin - End.
Почему вылетает прога, при использовании этой функции.
И ещё остался вопрос про команду bt в ассемблерной вставке.
Помогите плиз.
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»