Как стать автором
Обновить

Комментарии 14

Давайте я вам заголовок поправлю. "UART-терминал из STM32, LCD-дисплея и компьютерной клавиатуры". Вы главный компонент забыли упомянуть.

Я не забыл, просто в отличие от остальных двух МК может быть любой, как сказано (не обязательно STM32). Но можем и поправить.

Ну и насчет "главного" это неправильно. Как сказано где-то в начале без отдельного МК сделать можно. А вот без клавы или дисплея уже как-то неудобно будет :)

Вообще без МК сделать терминал сложновато. Я, честно говоря, подумал, что вы контроллер клавиатуры умудрились как-то перепрошить, чтобы он не только опрос матрицы делал. Тут как в анекдоте - с МК любой дурак сумеет, а ты без МК попробуй )

Сделать-то можно, в виде проекта на пару месяцев - только чтобы по-честному это должно быть не "перепрошивание клавиатуры" потенциальное а плата на рассыпухе из логики. Но что с этим делать дальше? выложить на хабр чтобы кто-нибудь первым делом в комментах написал "нууу, если бы на дискретных транзюках... а так любой дурак может" :)

Нууу, если бы на лампах....а так любой дурак сможет.

Просто изумительно!

Мой полнейший респект и уважуха!

Поймал себя на мысли, что давно не получал такого удовольствия от прочтения статьи на хабре.

вах, спасибо на добром слове :)

Интересно, насколько сейчас распространены клавиатуры, поддерживающие PS/2 через пассивный переходник? Когда USB только появлялись — это была практически обязательная фича. В зависимости от того, что именно контр увидел, он переключался или в режим USB с диффлиниями, или в режим вот этого вот странного последовательного порта «с зачем-то ещё какими-то клоками, будто ему старт-бита и стоп-бита мало».

А вот в наше скорбное время массового оплёвывания простых и надёжных проверенных решений — каков процент клавиатур с этой легаси? Сгореть, наверное, не должны, напряжения там не как в RS-232, но имеют все шансы офигеть и не понять, что там у них такое на линиях данных.

В целом да, штучка хорошая, у меня вообще была пакостная мысль для отладки делать по умолчанию сквозной порт PS/2, то есть включаем свой девайс (более-менее произвольный) в комп (через китайский переходник PS/2 в USB, ибо комп с PS/2 сейчас поди найди), в девайс втыкаем клавиатуру, открываем текстовый редактор — и с клавиатуры говорим контру, что ему делать, а он, изображая виртуальную клавиатуру, пишет нам в ответ в текстовый редактор, куда нам идти как он это смог или не смог сделать. И в этот момент открывается предложение от вируса отписать в пользу его создателей всё движимое и недвижимое имущество, а контроллер отвечает «Y».

На самом деле я от этой мысли отошёл именно из-за сомнения в современных клавиатурах, а больше склоняюсь к V-USB, по которой эмулируется флэшка из одного-единственного большого кластера, занятого одним файлом. А в нём и настройки, и логи…

Честно говоря мне кажется что вообще настольные компьютеры и отдельные клавиатуры к ним сдают позиции - ноутбуки, планшеты, телефоны - всё это их теснит :)

Сгореть точно не должны, т.к. на линиях данных у USB по-моему небольшие резисторы есть а линии данных у клавиатуры работают с подтяжками. Вопрос же можно расширить - вдруг сейчас многие USB-клавы поддерживают PS/2 как недокументированную фичу а мы-то и не знаем!

Я делал подобный терминал на AVR. Только клавиатуру от какого-то кассового аппарата приспособил, там был опрос ее матрицы. Дисплей 1602. В принципе - ничего сложного. Не сказать правда что этот девайс мне сильно пригодился для отладки - оказалось проще стационарный комп с досом где-то нарыть, чем пытаться что-то на этом экранчике разглядеть, а про вывод я молчу.

А можно схемку хоть от руки хоть в паинте нарисованую?

схемка в нарисованном виде не существовала но т.к. она в общем-то из проводков между разъёмами и контроллером состоит то она текстом описана:

Wiring

For TSSOP-20 package

  • pin 16 (VDD) to +3.3

  • pin 5 (VDDA) to +3.3

  • pin 15 (GND) to GND

  • pin 1 (BOOT0) to +3.3

  • pin 4 (RESET) to GND, temporarily

  • pin 17 (USART1_TX) to RX of the FTDI-cable

  • pin 18 (USART1_RX) to TX of the FTDI-cable

  • pin 6 (PA0) LED

  • pin 2 (PF0) ps/2 - data

  • pin 3 (PF1) ps/2 - clock

здесь не упомянуты ноги к разъёму дисплея однако, не помню почему. но на этот счет есть чертёж платы - здесь справа UART

а ноги контроллера в доке можно посмотреть, ну или вот вкратце

ноги же дисплея на фото видно - на нём подписаны чОтенько

надеюсь это поможет :)

хотя как я сказал выше, лучше переделать используя 5в контроллер, будет проще

Спасибо, а в чем прошивка (проект) писалась? Про avr немного знаю, с stm еще не сталкивался..

в блокноте писалась. там в файле compile.sh скорее всего строчка вызова gcc соответствующая есть. для них есть какие-то развесистые среды но мне было неохота разбираться. впрочем названия адресов соответствуют документации так что при необходимости синтаксис автозаменой можно подогнать под среду/фреймворк.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации