Показать сообщение отдельно
Старый 22.06.2017, 21:54   #1056
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
Question

Цитата:
Сообщение от awtoap Посмотреть сообщение
Не воспринимай так все близко к сердцу...легче по жизни будет. Я тоже не вчера начал программировать и мне это стоило расставания с двумя подругами...это так лирика.



Скорее что нет. Оптимальным будет прямая запись в порт ибо выполняется за одну машинную команду (если память не подводит). Вообще оптимальность по этому куску можешь определить так: как сейчас, откомпилировав и посмотреть размер полученного файла на выходе. Затем заменяешь прямой записью в порт и делаешь тоже самое, что и выше и сравниваешь. В голове у себя откладываешь какой вариант был лучше и пользуешь потом.

ЗЫ. Используй константы пинов, дабы потом не путаться. Типа pinPlanshBAT=6 PortB = | (1 << pinPlanshBAT)...и тд.
прямая запись в порт выполняется за одну машинную команду.
прямая запись в 8 портов ( одного регистра) тоже выполняется за одну машинную команду.
значения , пихаемые в порт меняются по всему скетчу, поэтому, чтобы не дергать порт, значение виртуальное(pinPlanshBAT), а перезапись портов выполняется один раз за цикл через вызов функции.
Плюс удобнее портировать на другую платформу - просто переназначить номера портов в функции.
Я бы сказал, что чуть оптимальнее писать напрямую в порт, не пихая в переменную регистров, но экономия пару тактов буквально, потому не я не заморачивался на 2/16000000 секунды (2 такта на 16МГц)

Цитата:
Тыж вроде говорил, что хочешь эмулировать клаву через усб? То мост не подойдет. Если через serialmanager, то можешь и мост прицепить и блюпуп. У нее вроде 2 уарта.
я хочу кнопки на руль, универсальные.
атмега32u4 умеет usb_hid, то есть будет работать без сериал менеджера.
Если сериалменегер решает проблему без дополнительного проца - тогда проще.
У меня и так юсб портов не хватает:
1 - звук карта
2 - изи кап( камера)
3 - на управляющий процессор ( напрямую или через уарт)
4 - для внешней флешки.

Тут вопрос нубский, если я подключу сериал менеджер, то смогут ли одновременно работать звуковая и изикап ?
oleg707 вне форума   Ответить с цитированием