steel_monkey писал(а):Все бы хорощо, только на кейловском сайте фотки мелковаты.
Дак документация скачивается свободно.
Технический форум по робототехнике.
steel_monkey писал(а):Все бы хорощо, только на кейловском сайте фотки мелковаты.
steel_monkey писал(а):Принципиалки, чтоу Кейла, что у Олимекс, примерно, если не сказать совершенно, одинаковые.
demiurge писал(а):Выяснил, что на IN прерывания нет (функция конечной точки IN не вызывается).
volatile char BulkPacketRecv = FALSE;
volatile char BulkPacketSend = FALSE;
/**
_HandleBulk()
*/
void _HandleInt(U8 bEP, U8 bEPStatus)
{
if (bEP == IN_EP)
{
BulkPacketSend = TRUE;
}
else
{
BulkPacketRecv = TRUE;
}
}
void HIDRecv(void * buffer)
{
DBG("[IN]");
while (BulkPacketRecv == FALSE)
{
;
}
USBHwEPRead( OUT_EP, (U8 *)buffer, REPORT_SIZE);
BulkPacketRecv = FALSE;
}
void HIDSend(void * buffer)
{
DBG("[OUT]");
USBHwEPWrite( IN_EP, (U8 *)buffer, REPORT_SIZE);
while (BulkPacketRecv == FALSE)
{
;
}
BulkPacketSend = FALSE;
}
demiurge писал(а):Из описания на чип вычитал, что можно включить прерывание на NAK для IN точки с помощью команды Set Mode (0xF3). Но где её прописать и как проконтролировать Set Mode Register не знаю.