부품 : 지난 주 키보드

에서 버스 해적 범용 직렬 인터페이스 도구의 새 버전을 도입했습니다. 마지막 펌웨어 업데이트에는 두 가지 하드웨어 버전 모두에 대해 키보드 디코더 라이브러리가 포함되어 있습니다.

키보드가 매립지로가는 길에 오래된 오래되었습니다. 다음 프로젝트의 입력 장치로 재활용하는 방법을 보여 드리겠습니다.

연결

버스 해적
키보드 (PIN #)의 PC

SDA.
KBD 데이터 (3)

SCL.
KBD 시계 (1)

+ 5 volts.
VDD (5)

GND.
GND (2)

키보드에서 양방향 2 와이어 인터페이스를 통해 통신합니다. 버스는 오픈 콜렉터이지만 키보드에는 이미 내부 풀업 저항이 있습니다. 키보드 프로토콜의 PC가 여기에 설명되어 있습니다. 우리는 버스 해적 도구를 사용하여 키보드 프로토콜을 보여 주었지만 동일한 기본 주체는 모든 마이크로 컨트롤러에 적용됩니다.

우리는 버스 해적을 테이블에 설명 된대로 키보드에 연결했습니다. 우리는 이것이 키보드 잭에서 홀 홀 여성이라고 믿지만, 우리는 그것을 평가하지 않았습니다. 새로운 소켓 원본을 알고 있습니까?

규약

키보드는 모든 데이터 전송을위한 클럭 신호를 제공합니다. PC 측은 슬레이브 장치와 유사합니다. 기존 버스 해적 인터페이스 라이브러리는 외부 시계와 함께 작동하지 않으므로 키보드 디코더 라이브러리에서 쉽게 작성할 수 있습니다. 라이브러리는 키보드의 시계 신호에 따라 다르며 키보드가 실패하거나 연결되지 않은 경우에는 멈출 수 있습니다. 자신의 프로젝트에서 라이브러리를 사용하는 경우 readbit () 및 writebit () 함수에 시간 초과 지연을 추가하는 것이 좋습니다.

키보드 명령 코드로 PC

암호
명령

0x.
상태 LED를 설정합니다

0xee.
에코 0xee

0xF0.
SET SCANCODE 유형

0xF3.
반복 속도를 설정하십시오

0xF4.
키보드 활성화

0xF5.
키보드 사용 중지

0xfe.
마지막 바이트를 다시 보내십시오

0xff.
키보드 재설정

PC는이 명령을 사용하여 AT 키보드의 다양한 기능을 제어합니다. 키보드는 확인 응답 바이트 (OXFA)로 명령에 응답합니다. 우리의 경험에서는 명령이 전송 된 직후 반응 바이트가 곧 읽지 않으면 키보드가 재설정됩니다.

키보드에서 PC 반응 코드

암호
응답

0xfa.
인정하다

0xaa.
자기 테스트가 통과되었습니다

0xee.
에코 응답

0xfe.
마지막 바이트를 다시 보내십시오

0x00 또는 0xff.
오류 또는 버퍼 오버플로

키보드에는 여러 개의 단일 바이트 반응 코드가 있습니다. 많은 PC 명령이 0xFA로 확인됩니다. 0xAA는 키보드 재설정 후에 전송됩니다.

버스 해적을 설정하십시오

히즈> M.
1. 히트
…에 …
9. 키보드에서 PC.
모드> 9 <-set 모드 900 모드 설정 KB 디코더의 X02 PC 준비 키보드에서 PC>

첫째, 키보드 모드에서 버스 해적을 설정합니다. 옵션 9.

키보드에서 PC> P <-power Supply Setup. W / W 3.3Volt Supply를 토글하고 있습니까? 1. 아니요 2. 예 모드> 1 <-NO 3.3Volt 공급 W / w 5Volt Supply를 토글합니까? 1. 아니요 2. 예 모드> 2 <- 5Volt 공급을 사용합니다 9xx 공급 구성, W / W를 사용하여 토글합니다. 9xx 전압 모니터 : 5V : 0.0 | 3.3V : 0.0 | vpullup : 0.0 | 키보드에서 PC> W