LINUX.ORG.RU

История изменений

Исправление 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 или кастомный протокол.