📄 nicsend.c
字号:
/*******************************************************************
发送数据处理函数
函数原型:
SendFrame();
功能:
发送以太网数据包。
参数:
发送缓冲区指针,发送数据长度。
返回值:
无。
********************************************************************/
void SendFrame(unsigned *pszData, int nLength)
{
unsigned nSize;
outportb(RSAR0,0); //设置远程DMA起始地址
outportb(RSAR1,0x40);
nSize=(nLength+14);
outportb(RBCR0,(unsigned char )nSize); //设置远程DMA字节计数
outportb(RBCR1,nSize>>8);
nSize=(nSize+1)>>1;
outportb(CR,0x12); //设置DMA发送
for(int i=0;i<nSize;i++)
outport(DATAIO,pszData[i]);
nSize=(nLength+14);
for(i=0;i<0x7fff;i++)
if(inport(ISR)&0x40)break;
if(i==0x7fff)printf("Remote DMA error!");
outportb(TBCR0,(unsigned char )nSize); //设置本地DMA字节计数
outportb(TBCR1,nSize>>8);
outportb(TPSR,0x40);
outportb(CR,0x26);
outportb(IMR,0x1b);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -