Для чего нужен такой девайс? Почему парами? А если будет нажата не пара? Много ещё вопросов… схему бы посмотреть… сам регистр прост как гвоздь, в тырнете полно описания его работы…
Не имеет значим зачем и что устройство должно делать. проблема что не могу с 165 регистра считать данные.
И да! я выше написал что в тыкнете попробовал ручками все примеры с 165, но не работает.
Поэтому и вопрос кто с ним работал, и может сказать в чем я дебил
Добавлено after 1 minute 53 seconds:Пример кода:
Код:
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
//#include <util/delay.h>
#include <stdio.h>
#define CLK PD2 // clock
#define SI PD3 // data
#define E PD4 // Enter
#define PORT PORTD
#define DDR DDRD
#define PIN PIND
int main()
{
char k;
int j;
// GPIO setup
DDR|=(1<<CLK)|(1<<E); // output
DDR &= ~(1<<SI); // input
// UART setup
UBRRH=0; UBRRL=12;
UCSRB=(1<<TXEN);
UCSRC=(1<<URSEL)|(3<<UCSZ0); // 8n1
// main loop
while (1)
{
j=0;
PORT &= ~(1<<E);
//_delay_ms(1);
PORT |= (1<<E);
for(k=7;k>=0;k--)
{
//_delay_ms(1);
j|=((PIN & (1<<SI))<<k);
PORT&=~(1<<CLK);
// _delay_ms(1);
PORT|=(1<<CLK);
}
j=j>>3;
PORTD |= (1<<j);
};
return 0;
}