Atmega8 и клавиатура PS/2

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
svs39
Встал на лапы
Сообщения: 95
Зарегистрирован: Вс авг 22, 2010 09:23:08

Re: Atmega8 и клавиатура PS/2

Сообщение svs39 »

MyXaSA писал(а):

Коты, вы вроде все мозговитые тут, кто-то полюбому клаву подключал к МК.... help работа встала!!! :( :(
запускал давно по классике- сайтa atmel - avr313 - DOC1235.PDF (-keybord). Запускается, а потом делаеш под себя
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Atmega8 и клавиатура PS/2

Сообщение Jack_A »

svs39 писал(а): Запускается, а потом делаеш под себя
Ну зачем же так мрачно :)
Реклама
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Atmega8 и клавиатура PS/2

Сообщение uk8amk »

MyXaSA, убедитесь, что у вас корректно работает функция приема байта ISR(INT0_vect). Здесь либо отладчиком(но у М8 нет отладочных интерфейсов, поэтому можно взять М16 например - у нее есть JTAG хотя бы), либо как сказали выше юзайте UART и кидайте полученные скан-коды в терминалку. Типа этого:

Код: Выделить всё

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;
      }
   }
} 
Но вывод в UART должен быть буферизован(типа кольцевого буфера) и управляться только прерыванием(UART_TXC) т.к. нельзя "вешать" прерывание INT0, получающее биты от клавы. Т.е. стандартный putchar() из stdio.h скорее всего не проканает. Далее, когда вы увидите что функция приема работает безошибочно, тогда приступите к отладке механизма дешифрации скан-кодов.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»