📄 rddsp.c
字号:
#include <SST89V564.H>
#include <ABSACC.H>
extern wdt(void);
extern unsigned char xdata sdata[255];
extern unsigned char xdata TXLen;
extern bit TX;
extern rdDSP(void)
{
unsigned char rbuf,counter;
bit ER;
unsigned int j;
//"i" is the counter for Cyc.
//"rbuf" is the receiveing buffer for receiveing data from DSP.
wdt();
counter = 0;
ER = 0;
TX = 0;
//write the HPIA(the read address)
XBYTE[0xe4ff]=0x79;//the higher 8bit of the address.
//HR/W=0;HCNT1=1;HCNT0=0;HBIL=0.
XBYTE[0xe5ff]=0x80;//The lower 8bit of the address.
//HR/W=0;HCNT1=1;HCNT0=0;HBIL=1.
rbuf = 0xff;
while(rbuf!=0x00)
{
j=XBYTE[0xeaff];//HR/W=1;HCNT1=0;HCNT0=1;HBIL=0.The higher 8-bit.
rbuf=XBYTE[0xebff];//HR/W=1;HCNT1=0;HCNT0=1;HBIL=1.The lower 8-bit.
sdata[counter++]=rbuf; //Send data.
if (counter >= 255){ER = 1;break;}
}
XBYTE[0xe0ff]=0x08; //HPIC=0x08.
//HR/W=0;HCNT1=0;HCNT0=0;HBIL=0.
XBYTE[0xe1ff]=0x08; //HR/W=0;HCNT1=0;HCNT0=0;HBIL=1.
if (ER == 0)
{
TXLen = counter-1;
TX = 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -