Вот. Привожу часть. Сразу инструкция switchRadist_M писал(а):Вообще должен быть. Ну давайте посмотрим код, мож чего найдем.Serg1987 писал(а):Вот у меня второй Reset и перестал идти. Правил код, что то не то сделал, видно.
Код: Выделить всё
switch (p.bmRequestType)
{
case (0x80):
send_massive(); //отправляем дескриптор в буфер передачи
txen(); //разрешаем передачу
break;
}
Спойлер
Код: Выделить всё
//Заполняем передающий буфер
// Table->ADR0TX=0x0020;
// Table->COUNT0TX=0x0020;
void send_massive (void)
{
int cl=0;
uint16_t TBuf;
uint8_t ost=0;
//размер 18 байт. инкремент адреса на 2,
// т.к. будем записывать за каждый шаг (их будет 9) сразу по 2 байта
//сl - локальное смещение
for (cl=0;cl<18;cl+=2)
{
ost=cl*2;
TBuf = HIDdevice[cl]+(HIDdevice[cl+1]<<8); //записываем 2 байта
*(__IO uint16_t*)(0x40006040+ost) = TBuf;
}
}Спойлер
Код: Выделить всё
//Разрешить передачу
void txen (void)
{
Table->COUNT0TX=0x0012;
USB->EP0R = USB_EP0R_EP_TYPE_0|USB_EP0R_STAT_TX_0;
while ((USB->EP0R & USB_EP0R_CTR_TX)==0){}
}- Вложения
-
- ep0.png
- (14.41 КБ) 545 скачиваний



