P
projektant
Guest
Jestem corrently interfejs klawiatury pic 18f452.gdy polecenie, aby włączyć "caps / num" został przesunięty na kbd, klawiatury zawiesza.
Host do klawiatury kod jest następująca
void SendKbdCmd (unsigned char cmd)
(
unsigned char cnt, par = 0, mask = 0x1;
INTCONbits.GIE = 0;
KbXmit = 1;
while (! kbdClk);
TRISKbdClk = 0;
kbdClk = 0;
Delay10TCYx (25);
TRISKbdDat = 0;
kbdDat = 0;
TRISKbdClk = 1;
while (kbdClk);
for (cnt = 0; cnt <8; cnt )
(
if (cmd & mask)
(
par ;
kbdDat = 1;
)
w przeciwnym razie
kbdDat = 0;
mask <<= 1;
while (! kbdClk);
while (kbdClk);
)
kbdDat =! (par% 2);
while (! kbdClk);
TRISKbdDat = 1;
while (kbdClk);
INTCON3bits.INT1IF = 0;
INTCONbits.GIE = 1;
)
Host do klawiatury kod jest następująca
void SendKbdCmd (unsigned char cmd)
(
unsigned char cnt, par = 0, mask = 0x1;
INTCONbits.GIE = 0;
KbXmit = 1;
while (! kbdClk);
TRISKbdClk = 0;
kbdClk = 0;
Delay10TCYx (25);
TRISKbdDat = 0;
kbdDat = 0;
TRISKbdClk = 1;
while (kbdClk);
for (cnt = 0; cnt <8; cnt )
(
if (cmd & mask)
(
par ;
kbdDat = 1;
)
w przeciwnym razie
kbdDat = 0;
mask <<= 1;
while (! kbdClk);
while (kbdClk);
)
kbdDat =! (par% 2);
while (! kbdClk);
TRISKbdDat = 1;
while (kbdClk);
INTCON3bits.INT1IF = 0;
INTCONbits.GIE = 1;
)