Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

кто работал с USBhid Bootloader есть странная непонятка (+)

Отправлено Digital (212.110.150.22) 03 ноября 2011, г. 10:54


В куске кода (с32):
------------------
case GET_DATA:
{
if(!USBHandleBusy(USBInHandle))
{
PacketToPC.Command = GET_DATA;
PacketToPC.Address = PacketFromPC.Address;
PacketToPC.Size = PacketFromPC.Size;
for(i = 0; i < 56; i++)
{
DWORD* p;
DWORD data;
p = ((DWORD*)((PacketFromPC.Address+(i*4))|0x80000000));
data = *p;
data=PacketFromPC.Address;
PacketToPC.Data[i] = data;
}
USBInHandle = USBTxOnePacket(HID_EP,(BYTE*)&PacketToPC.Contents[0],64);
BootState = IdleState;
}
}
------------------
строка "data=PacketFromPC.Address;" введена для проверки связи, каторая 32 бит адрес от PC передает на PC в виде 32 бит данных. В таком виде все работает, однако если строку убрать (как в исходнике), при попытке чтения некоторых адресов, отваливается USB device(виснет) и USB host driver, востановить связь можно перезагрузкой PC проги и ресетом девйса.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 567:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru