bjvid
驱动牛犊
驱动牛犊
  • 注册日期2003-02-21
  • 最后登录2003-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1039回复:0

d12的收发数据困惑!!!!

楼主#
更多 发布于:2003-04-16 22:36
各位大侠好!!我现在也在用51和d12,硬件连线现在基本没有什么问题了,可是当我用他的调试程序进行写及out发数,下设51接受的功能时,用它原来的51程序可以连续发送,可是我将其改了后,就只能发一次就死了.这是为什么啊?用的ep4与ep5,(原板好像是含什么dma,现在我51直接当一般的处理有没有影响啊??硬件连接没接dma的一些请求线等)
原中断程序是这样的:
void main_rxdone(void)
{
unsigned char len,j;
D12_ReadLastTransactionStatus(4);
if(bNoRAM)
len = D12_ReadEndpoint(4, 64, EpBuf + ioCount);
else
len = D12_ReadEndpoint(4, 64, MainEpBuf + ioCount);
ioCount += len;
if(ioCount >= ioSize) {
if(bEPPflags.bits.dma_state == DMA_PENDING)
bEPPflags.bits.setup_dma ++;
else
bEPPflags.bits.dma_state = DMA_IDLE;
}
}这样上位机就能不停的发out.
我将其改为:
void main_rxdone(void)
{
unsigned char len,j;
D12_ReadLastTransactionStatus(4);
D12_ReadEndpoint(4, 64, EpBuf);
}
这样为啥就不行呢???请指教,谢谢了!!!!!
还有就是我的in操作也一样.
游客

返回顶部