这也是用固件框架实现的一个例子功能是,功能也是块传输,只不过是用中断的方式实现的。首先将程序通过控制面板下载到芯片内部,运行程序看一下,再看程序。下载程序后,单击控制面板上的“Get Pipes”按钮,显示如下,
可以看到共有6个管道,也就是68013所有的端点全用上了,Endpoint 0(当然不会显示在这里),Endpoint 1 IN,Endpoint 1 OUT,以及4个大端点,分别是Endpoint 2、Endpoint 4、Endpoint 6、Endpoint 8,这些可以查看初始化函数TD_Init(void)看一下,代码如下,
同时看一下函数 TD_Poll(void),是一个空函数。块传输的功能是通过中断来实现的,查一下中断函数,以端点的中断函数为例,代码如下,
void ISR_Ep2inout(void) interrupt 0
{
WORD count;
WORD i;
EZUSB_IRQ_CLEAR();
EPIRQ = bmBIT4;
}
其它的端点与此相似,下面看一下实际操作。按下图操作,为了在一幅图里说明问题,将发送的数据定为16个,如下,
可以看到通过Endpoint 2发出去16个字节5,再按下图操作,
余下的功能,自己看程序吧,很简单,不会有看不懂的地方的。
文章评论(0条评论)
登录后参与讨论