Библиотека ps2dev
На официальном сайте Arduino имеется библиотека для работы с устройствами PS/2. Скачать библиотеку можно по адресу http://www.arduino.cc/playground/ В архиве находится папка ps2dev, которую нужно поместить в библиотечный каталог Arduino IDE (\hardware\libraries\).
Библиотека PS/2 представляет собой класс C++:
class PS2dev
{
public:
PS2dev(int clk, int data); int write(unsigned char data);
int read(unsigned char * data);
private:
int _ps2clk; int _ps2data;
void golo(int pin); void gohi(int pin);
};
Конструктор класса принимает два параметра типа int — номера портов устройства Arduino, к которым подключены линии Clock и Data, например:
PS2dev mouse(6, 5);
Здесь к Pin5 подключена линия Data, а к pin6 — линия Clock.
Функция golo переводит порт в режим вывода и устанавливает на нем логический "0", функция же gohi переводит порт в режим ввода и подключает на нем подтягивающий резистор. Обе функции имеют тип private и используются только внутри класса. Нам же доступны всего две функции:
write — записывает байт в линию PS/2;
read — считывает байт из линии PS/2.