7289.c
来自「键盘控制器zlg7289在软核处理器nios上的底层驱动程序」· C语言 代码 · 共 60 行
C
60 行
#include "excalibur.h"
#include "7289.h"
np_pio *led=na_ledpio;
void keyup()
{
key7289->np_pioedgecapture=0;
key7289->np_piointerruptmask=0;
send(0x15,8); //读取按键代码指令
receivedata=receive();
longdelay();
led->np_piodata=receivedata;
printf("%d ",receivedata);
switch(receivedata)
{
case 0x00:
send(0xa1,8); //左移
send(0xc800,16);//显示数字
break;
case 0x01: send(0xa1,8); send(0xc801,16); break;
case 0x02: send(0xa1,8); send(0xc802,16); break;
case 0x03: send(0xa1,8); send(0xc803,16); break;
case 0x04: send(0xa1,8); send(0xc804,16); break;
case 0x05: send(0xa1,8); send(0xc805,16); break;
case 0x06: send(0xa1,8); send(0xc806,16); break;
case 0x07: send(0xa1,8); send(0xc807,16); break;
case 0x08: send(0xa1,8); send(0xc808,16); break;
case 0x09: send(0xa1,8); send(0xc809,16); break;
case 0x0a: send(0xa1,8); send(0xc80a,16); break;
case 0x0b: send(0xa1,8); send(0xc80b,16); break;
case 0x0c: send(0xa1,8); send(0xc80c,16); break;
case 0x0d: send(0xa1,8); send(0xc80d,16); break;
case 0x0e: send(0xa1,8); send(0xc80e,16); break;
case 0x0f: send(0xa1,8); send(0xc80f,16); break;
case 0x10: send(0x8800,16); break;
case 0x11: send(0x88ff,16); break;
case 0x12: send(0x9801,16); break;
case 0x13: send(0x98ff,16); break;
case 0x14: send(0xbf,8); break;
case 0x15: break;
case 0x16: send(0xa4,8); break;
case 0x17: break;
}
nr_delay(20);
key7289->np_pioedgecapture=0;
key7289->np_piointerruptmask=1;
}
int main()
{
key7289->np_pioedgecapture=0;
key7289->np_piointerruptmask=1;
nr_installuserisr(nasys_pio_1_irq,keyup,0);
initial7289();
//button();
while(1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?