usbd_out.c

来自「usb drivers based on s3c2410」· C语言 代码 · 共 51 行

C
51
字号
#include "usbd.h"
#include "usb.h"

#ifdef _DEBUG
#include <stdio.h>
#endif /* _DEBUG */

#define CLR_EP3_OUT_PKT_READY()    OUT_CSR1_REG = (out_csr3 & (~ EPO_WR_BITS)\
					& (~EPO_OUT_PKT_READY) ) 
#define SET_EP3_SEND_STALL()	     OUT_CSR1_REG = (out_csr3 & (~EPO_WR_BITS)\
					| EPO_SEND_STALL) )
#define CLR_EP3_SENT_STALL()	     OUT_CSR1_REG = (out_csr3 & (~EPO_WR_BITS)\
					& (~EPO_SENT_STALL) )
#define FLUSH_EP3_FIFO() 	         OUT_CSR1_REG = (out_csr3 & (~EPO_WR_BITS)\
					| EPO_FIFO_FLUSH) )
					
unsigned char ep3_buf[EP3_PKT_SIZE];
static unsigned char temp_buf[64+1];

void
ep3_handler(void)
{
  unsigned char out_csr3;
  int fifo_cnt;
  int i;
  INDEX_REG = 3;
  out_csr3 = OUT_CSR1_REG;		
  
  if(out_csr3 & EPO_OUT_PKT_READY)	
  {   
    fifo_cnt = OUT_FIFO_CNT1_REG; 

    read_pkt_ep3(ep3_buf, fifo_cnt);
    delay(1);	
   	CLR_EP3_OUT_PKT_READY();
   	for(i = 0; i < fifo_cnt; i++)
   	{
   		printf("%x\n", ep3_buf[i]);
   	}
   		 
    return;
  }

  if(out_csr3 & EPO_SENT_STALL)	
  {   
 	  CLR_EP3_SENT_STALL();		
 	  return;
  }	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?