запускал давно по классике- сайтa atmel - avr313 - DOC1235.PDF (-keybord). Запускается, а потом делаеш под себяMyXaSA писал(а):
Коты, вы вроде все мозговитые тут, кто-то полюбому клаву подключал к МК.... help работа встала!!!![]()
Atmega8 и клавиатура PS/2
- Сообщения: 95
- Зарегистрирован: Вс авг 22, 2010 09:23:08
- Реклама
Ну зачем же так мрачноsvs39 писал(а): Запускается, а потом делаеш под себя
MyXaSA, убедитесь, что у вас корректно работает функция приема байта ISR(INT0_vect). Здесь либо отладчиком(но у М8 нет отладочных интерфейсов, поэтому можно взять М16 например - у нее есть JTAG хотя бы), либо как сказали выше юзайте UART и кидайте полученные скан-коды в терминалку. Типа этого:
Но вывод в UART должен быть буферизован(типа кольцевого буфера) и управляться только прерыванием(UART_TXC) т.к. нельзя "вешать" прерывание INT0, получающее биты от клавы. Т.е. стандартный putchar() из stdio.h скорее всего не проканает. Далее, когда вы увидите что функция приема работает безошибочно, тогда приступите к отладке механизма дешифрации скан-кодов.
Код: Выделить всё
ISR(INT0_vect)
{
static uint8_t DATA;
if(!edge)
{
if(bitcnt < 11 && bitcnt > 2)
{
DATA = (DATA >> 1);
if(PINC && (1<<DAT))
{
DATA |= 0x80;
}
}
MCUCR = 3;
edge = 1;
}
else
{
MCUCR = 2;
edge = 0;
if(--bitcnt == 0)
{
uart_putchar(DATA);//вот здесь помещаем полученный байт в буфер на передачу
bitcnt = 11;
}
}
}
