# PS/2 Options | # PS/2 Options | ||||
# | # | ||||
PS2_USE_USART = yes # uses hardware USART engine for PS/2 signal receive(recomened) | |||||
#PS2_USE_INT = yes # uses external interrupt for falling edge of PS/2 clock pin | |||||
#PS2_USE_USART = yes # uses hardware USART engine for PS/2 signal receive(recomened) | |||||
PS2_USE_INT = yes # uses external interrupt for falling edge of PS/2 clock pin | |||||
#PS2_USE_BUSYWAIT = yes # uses primitive reference code | #PS2_USE_BUSYWAIT = yes # uses primitive reference code | ||||
- **USART**: **Clock** is on `PD5` and **Data** on `PD2`. | - **USART**: **Clock** is on `PD5` and **Data** on `PD2`. | ||||
3. Optionally you need pull-up resistor. 1K-10K Ohm is OK. | 3. Optionally you need pull-up resistor. 1K-10K Ohm is OK. | ||||
To change pin configuration edit config.h. | |||||
To change pin configuration edit **config.h** and **Makefile**. | |||||
Build Firmware | Build Firmware |
#define PS2_CLOCK_PORT PORTD | #define PS2_CLOCK_PORT PORTD | ||||
#define PS2_CLOCK_PIN PIND | #define PS2_CLOCK_PIN PIND | ||||
#define PS2_CLOCK_DDR DDRD | #define PS2_CLOCK_DDR DDRD | ||||
#define PS2_CLOCK_BIT 5 | |||||
#define PS2_CLOCK_BIT 1 | |||||
#define PS2_DATA_PORT PORTD | #define PS2_DATA_PORT PORTD | ||||
#define PS2_DATA_PIN PIND | #define PS2_DATA_PIN PIND | ||||
#define PS2_DATA_DDR DDRD | #define PS2_DATA_DDR DDRD | ||||
#define PS2_DATA_BIT 2 | |||||
#define PS2_DATA_BIT 0 | |||||
#endif | #endif | ||||
/* | /* | ||||
#define PS2_DATA_PORT PORTD | #define PS2_DATA_PORT PORTD | ||||
#define PS2_DATA_PIN PIND | #define PS2_DATA_PIN PIND | ||||
#define PS2_DATA_DDR DDRD | #define PS2_DATA_DDR DDRD | ||||
#define PS2_DATA_BIT 2 | |||||
#define PS2_DATA_BIT 0 | |||||
#define PS2_INT_INIT() do { \ | #define PS2_INT_INIT() do { \ | ||||
EICRA |= ((1<<ISC11) | \ | EICRA |= ((1<<ISC11) | \ | ||||
(0<<ISC10)); \ | (0<<ISC10)); \ |