Цитата(ukpyr @ Nov 29 2008, 15:17)

вроде АВР выдает АСК независимо от правильности полученных данных (на проверку нет времени)
Не могу так просто с вами согласиться.
Вот функция вычисления crc16. Она что, для мебели просто?!
Кстати, о чем речь собственно? Лично я про
http://www.obdev.at/products/avrusb/index.htmlИ кстати драйвер не стоит на месте, а развивается.
Код
; extern unsigned usbCrc16(unsigned char *data, unsigned char len);
; data: r24/25
; len: r22
; temp variables:
; r18: data byte
; r19: bit counter
; r20/21: polynomial
; r23: scratch
; r24/25: crc-sum
; r26/27=X: ptr
usbCrc16:
mov ptrL, argPtrL
mov ptrH, argPtrH
ldi resCrcL, 0
ldi resCrcH, 0
ldi polyL, lo8(0xa001)
ldi polyH, hi8(0xa001)
com argLen; argLen = -argLen - 1
crcByteLoop:
subi argLen, -1
brcc crcReady ; modified loop to ensure that carry is set below
ld byte, ptr+
ldi bitCnt, -8; strange loop counter to ensure that carry is set where we need it
eor resCrcL, byte
crcBitLoop:
ror resCrcH; carry is always set here
ror resCrcL
brcs crcNoXor
eor resCrcL, polyL
eor resCrcH, polyH
crcNoXor:
subi bitCnt, -1
brcs crcBitLoop
rjmp crcByteLoop
crcReady:
ret
Цитата(Petka @ Nov 29 2008, 17:12)

Вот как раз для 2х устройств FTDI ставить и оправданно.
+ Просто + надёжно.
1) Оверклокинг.
2) Не полное соответствие спецификации USB. Как физический протокол, так и реализация стэка.
Ну это кому как. Физически фтди сложнее поставить ( tqfp с шагом 0.5 против dip8

)
Мне и это просто, хотя немного менее надежно - да.
Я не против НОРМАЛЬНОГО юсб, просто это решение тоже имеет право на жизнь.
1) Нет.
Цитата(ukpyr @ Nov 29 2008, 17:28)

для 2.7В - да, для 3.6В - нет (12МГц)
+1
2) Поясните поподробнее, что имеется ввиду. (про стек)
А физика в чем не та? Ну вместо дифф. передатчика 2 обычных, ну и что?