Search
Write a publication
Pull to refresh
0
0
nalex @nalex

User

Send message
В Москве в «терре» есть. И цена как в «мегачипе».

А я вот такой на ибее покупал не так давно:
cgi.ebay.com/Bluetooth-serial-converter-UART-interface-/370397688731?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item563d6c339b#ht_2295wt_957
Cудя по внешнему виду и номерам ножек, это ATmega128. То есть совсем даже 8-битный микроконтроллер. Там, в принципе, больше и не надо. USB реализуется программно, производительности хватит. Мелкий 8-ногий чип — это EEPROM c SPI. Схемотехника несложная, тут вся красота должна быть в firmware.
Так оно ж все цифровое, здесь часто компактнее словами написать. Фраза типа «эта хрень подключена к MCU по SPI» достаточно точно опишет ситуацию, а даташиты позволят додумать соединения. А побочным эффектом весь этот процесс заставит понять, что происходит внутри силикона.
Лишний кусок кода или дополнительная обвязка — это вопрос персональных предпочтений. А для программного debouncing'а у вас в коде уже и так есть задел с подсчетом интервалов. Еще немного проверок там, где if ((timeRelease — timePress) > MAX_DOT_PRESS_TIME), и — voila — программная защита от дребезга готова.
Чем плох вариант, когда нажатая кнопка — 0, отжатая — 1 от внутреннего пулапа АВРки? Вообще внешняя обвязка не нужна.

И еще надо учитывать, что кнопка — штука механическая, при нажатии возникает «дребезг контактов». Поэтому не помешал бы программный debouncing.

Information

Rating
Does not participate
Registered
Activity