C51编程:老古请看
使用mcu对rtl8019进行dma 操作时,能不能被中断,执行对其他外部RAM 的读写。
如:在执行下面的writw_dam()时,有一个中断程序,执行外部RAM 的些操作。
这样会影响dam操作吗?
{uchar xdata in;
uchar xdata out;
uchar i;
for (i=0;i<8;i++) {
in=out;
}
.....
}
void write_dma(unsigned int address,unsigned int count)//写网卡的ram
{//address为要写入到网卡里的ram的起始地址,count为要连续写入的字节数
page(0);
reg09=address>>8;//address high
reg08=address&0xff;//address low
reg0b=count>>8; //write count high
reg0a=count&0xff;//write count low
reg00=0x12 ;//dma write
for(i=0;i<count;i++)
{
reg10=buffer[i];
}
reg0b=0; // count high 中止DMA操作
reg0a=0;// count low
reg00=0x22;//abort/complete dma page 0
}
发表时间:2002年3月5日11:57:00