[an error occurred while processing this directive]
|
Написал функцию считывания Device Descriptor.
При постоянном вызове считываение происходит точно через раз, по нечетным вызовам.
Подозреваю, что нужно пользоваться битами Data Toggle в Host Control Register(0x00 или 0x08) и Sequence в USB Status (0x03 или 0x0B).
Попробовал несколько вариантов, не получается.
В примере от Cypress:
//------------------------------------------------
// For EP0's IN/OUT token data, start with DATA1
// Control Endpoint0's status stage.
// For data endpoint, IN/OUT data, start ????
//------------------------------------------------
if (endpoint == 0 && pid != PID_SETUP) // for Ep0's IN/OUT token
cmd |= 0x40; // always set DATA1
Программист сам не уверен как выставлять :-)
Подскажет ли кто, в каком направлении копать?
Спасибо.