История изменений
Исправление KivApple, (текущая версия) :
Юзал на ATMEGA8 и ATTINY85. Нормально работает с кабелем умеренной длины (полметра-метр), совсем длинные не пробовал. Глюков, если соблюдать одно условие (во всех обработчиках прерываний делать первым делом sei, чтобы не пропустить ни одного прерывания от INT0, к которому подключен USB), не замечено.
Годится для задач, где не нужно передавать большие объёмы данных. Типа там релюшкой щёлкнуть с компьютера или раз в секунду слать пакет по NRF24L01 с компа и обратно. Также надо учитывать, что некоторые классы USB невозможно реализовать. Например, с USB CDC будут проблемы. Оптимально - HID или кастомный протокол.
Также V-USB не умеет в спящие режимы. Так что от греха подальше лучше отрубить всё энергосбережение USB и не уводить компьютер в сон с девайсом (точнее уводить можно, но после пробуждения скорее всего придётся его переткнуть).
Таким образом в некоторой области V-USB вполне юзателен. Но для чего-то серьёзного (не в плане требований к надёжности, но в плане требований к функционалу) лучше взять МК с аппаратным USB. Посмотри в сторону STM32. Они стоят не дороже AVR, но превосходят их по всем параметрам.
Исправление KivApple, :
Юзал на ATMEGA8 и ATTINY85. Нормально работает с кабелем умеренной длины (полметра-метр). Глюков, если соблюдать одно условие (во всех обработчиках прерываний делать первым делом sei, чтобы не пропустить ни одного прерывания от INT0, к которому подключен USB), не замечено.
Годится для задач, где не нужно передавать большие объёмы данных. Типа там релюшкой щёлкнуть с компьютера или раз в секунду слать пакет по NRF24L01 с компа и обратно. Также надо учитывать, что некоторые классы USB невозможно реализовать. Например, с USB CDC будут проблемы. Оптимально - HID или кастомный протокол.
Также V-USB не умеет в спящие режимы. Так что от греха подальше лучше отрубить всё энергосбережение USB и не уводить компьютер в сон с девайсом (точнее уводить можно, но после пробуждения скорее всего придётся его переткнуть).
Таким образом в некоторой области V-USB вполне юзателен. Но для чего-то серьёзного (не в плане требований к надёжности, но в плане требований к функционалу) лучше взять МК с аппаратным USB. Посмотри в сторону STM32. Они стоят не дороже AVR, но превосходят их по всем параметрам.
Исправление KivApple, :
Юзал на ATMEGA8, ATTINY85. Нормально работает с кабелем умеренной длины (полметра-метр). Глюков, если соблюдать одно условие (во всех обработчиках прерываний делать первым делом sei, чтобы не пропустить ни одного прерывания от INT0, к которому подключен USB), не замечено.
Годится для задач, где не нужно передавать большие объёмы данных. Типа там релюшкой щёлкнуть с компьютера или раз в секунду слать пакет по NRF24L01 с компа и обратно. Также надо учитывать, что некоторые классы USB невозможно реализовать. Например, с USB CDC будут проблемы. Оптимально - HID или кастомный протокол.
Также V-USB не умеет в спящие режимы. Так что от греха подальше лучше отрубить всё энергосбережение USB и не уводить компьютер в сон с девайсом (точнее уводить можно, но после пробуждения скорее всего придётся его переткнуть).
Таким образом в некоторой области V-USB вполне юзателен. Но для чего-то серьёзного (не в плане требований к надёжности, но в плане требований к функционалу) лучше взять МК с аппаратным USB. Посмотри в сторону STM32. Они стоят не дороже AVR, но превосходят их по всем параметрам.
Исходная версия KivApple, :
Юзал на ATMEGA8, ATTINY85. Нормально работает с кабелем умеренной длины (полметра-метр). Глюков, если соблюдать одно условие (во всех обработчиках прерываний делать первым делом sei, чтобы не пропустить ни одного прерывания от INT0, к которому подключен USB), не замечено.
Годится для задач, где не нужно передавать большие объёмы данных. Типа там релюшкой щёлкнуть с компьютера или раз в секунду слать пакет по NRF24L01 с компа и обратно. Также надо учитывать, что некоторые классы USB невозможно реализовать. Например, с USB CDC будут проблемы. Оптимально - HID или кастомный протокол.