Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Можно аппаратно подключить клавиатуру PS/2 к STM32?

Сб июн 09, 2018 09:45:31

Полистал протокол PS/2, вроде как похож на USART.
Можно ли клавиатуру PS2 подцепить к синхронному USART?
Нужен только 1 режим передачи клавиатуру->STM

Re: Можно аппаратно подключить клавиатуру PS/2 к STM32?

Сб июн 09, 2018 10:24:17

только похож. не можно.
две линии - Clock & Data.
клок - на прерывания и в нем анализировать состояние Дата.
и простенький обработчик суммирующий биты.

Re: Можно аппаратно подключить клавиатуру PS/2 к STM32?

Сб июн 09, 2018 10:35:38

Полистал протокол PS/2, вроде как похож на USART.
Можно ли клавиатуру PS2 подцепить к синхронному USART?
Нужен только 1 режим передачи клавиатуру->STM

У STM32 синхронный USART работает только на выход, так что есть 3 основных варианта... Цеплять к новым SPI, там где можно задавать количество принимаемых бит от 4 до 16.
Если делать на USART, то придется в начале самому определять скорость, но такой вариант работает, я когда-то делал. Ну и классический вариант на прерываниях... И еще, некоторые USB клавы, которые все равно будут работать как PS/2, при включении периодически шлют 0xAA пока им не отправишь любую команду, так что не всегда можно обойтись только односторонней передачей.

Re: Можно аппаратно подключить клавиатуру PS/2 к STM32?

Сб июн 09, 2018 15:27:19

Если делать на USART, то придется в начале самому определять скорость, но такой вариант работает, я когда-то делал.

А можно по подробнее ? на запрос в клавиатуру скорость менять ?

Re: Можно аппаратно подключить клавиатуру PS/2 к STM32?

Сб июн 09, 2018 15:52:52

А можно по подробнее ? на запрос в клавиатуру скорость менять ?

Клавиатуры, по крайней мере USB-ые, шлют 0xAA при включении минимум один раз, кроме того можно самому что-то отправить и поймать ответ. Ловишь этот ответ и замеряешь сколько это заняло времени, ожидая пока CLK не дернется нужное количество раз. Потом делишь это время на число бит, получаешь baudRate и инитишь USART в асинхронном режиме. Теперь можно принимать данные по одному входу DATA.
Ответить