Цитата Сообщение от lbodnar
А кто сказал "кустарщина"? А AP для Atmela Игорь написал
Дело в том, что для 100% соответствия всем закорюкам USB стандарта код наверняка начнет угрожающе расти. Я мельком посмотрел его и некоторые вещи там просто опущены. У меня с соответствием стандарту немножко пунктик есть . Настоящее коммерческое устройство с этого должно начинаться и я на это угрохал огромное количество времени. Как я уже говорил, даже баг в железе обнаружил. Хотя, "работало и так." А вообще-то разнообразие - это хорошо. Игорь и Миндог и LazyCamel - молодцы!

Я пол-года назад в USB сам был не в пень ногой и думал, что кроме MJoy крестьянину некуда больше податься, но потом быстро сообразил, что с высокоразрядными (?) энкодерами MJoy не справиться, т.к. тайминг плотно подвязан к USB и прерывания вообще, кажется, временами отключаются в критических местах (давно я смотрел код.) Так что пришлось зарыться в книги и MC даташиты на пару месяцев...

Я вообще любых разработчиков уважаю, тк это - совершенно неблагодарное дело!

Я вот только не понял зачем новый дизайн на 16F84А делать - его днем с огнем не сыщешь и стоит он из-за этого будь здоров, т.к. остатки скупают изготовители левых карточек доступа закрытых ТВ каналов.
я сам думал, все эти штуки... но, насколько я понимаю, в винде hid где-то тоже не соответствует стандарту, плюс разные штуки могут быть опущены. что касается crc - оно там не вычисляется - то оно тут как мёртвому припадки: в совсем серьёзных случаях не поможет, в приложениях типа mjoy некритично.
касательно flow - прерывания запрещаются, да. примерно на 100 мкс, может больше. плюс авр славится своей богатой переферией - хочешь, используешь 8 или 16 разрядные счётчики, хочешь - компаратор с таймером. а уж они не используются в usb стеке и работают независимо. кста, в некоторых новых tiny avr таймеры работают на частоте 64mHz, при частоте ядра 0-20 mHz.
я думал, карточки делаются теперь на чем-то типа tiny12
а на 16f84 - ((красавчики)) он хоть и стоит больше, чем mega48, зато у нас по всем лавкам лежит
у атмела, кстати, с настоящими коммерческими устройствами для USB как-то не очень. 89c5131 они прекратили пр.-во, типа устарел, существуют ещё usb avr, но в них нет флэша (проскакивала информация, что быстродействия не хватает у флеша). ну и правильно: на сегодняшний момент самый быстрый AVR - 24Mhz (или 20...), а usb avr работают на 48Mhz и имеют на борту или масочную ПЗУ, или ОЗУ, куда прошивка может загружаться из последовательного ППЗУ или (не уверен) по USB.
кстати, о стандартах. а у тебя в устройстве, наверное, и Physical descriptor имплементирован?