📄 vdor.c
字号:
//===================================================================//
// Project Name : MOTOROLA-PDIUSBD12 USB-MCS CARD
// Module Name : Master Firmware Program
// Product Type : License
// OS/Dev Tool : CodeWarrior Development Studio for HC(S)08 Microcontrollers
// Original Author : Ming Zeng
// Organization : Tsinghua University , DEP
// Original Date : Feb, 20, 2003
// Addr : Tsinghua University, Beijing City
// TEL :
// EMail : ming@zming.net
// Website : http://www.zming.net
// Copyright : Copyright ZMing.net, 2003
// Comments :
//
//
//===================================================================//
#include "COMMON.H"
#include "USB.H"
#include "HAL.H"
#include "VDOR.H"
#include "USBD12.H"
extern CONTROL_XFER ControlData;
extern COMMONFLAGS bCOMMONFlags;
extern unsigned char GenBuf[GENBUF_LENGH];
CODE_DATA CodeData;
extern void ISRx_Main_TxDone(void);
extern unsigned char nFlashPhase;
/**************************************************************************/
/* Subroutines For Vendor Specific Request */
/**************************************************************************/
void USBVendorRequest_START(void)
{
if(bCOMMONFlags.bits.bIN_ISR == 0)
DisableInterrupts;
bCOMMONFlags.bits.bRun = RUN_START;
T1SC0 = 0x48;//允许输入俘获
// Send a zero packet
USB_Single_Transmit(0, 0);
if(bCOMMONFlags.bits.bIN_ISR == 0)
EnableInterrupts;
}
void USBVendorRequest_STOP(void)
{
bCOMMONFlags.bits.bRun = RUN_STOP;
T1SC0 = 0x08;//禁止输入俘获
outportb(IC_D12_COMMAND, 0x05);//选择端点5
outportb(IC_D12_COMMAND, 0xF2);//清空数据区
// Send a zero packet
USB_Single_Transmit(0, 0);
}
void USBVendorRequest_READ(void)
{
CodeData.bCodeCount = 1;
CodeData.pCodeData = GenBuf;
USBD12_WriteEndpointOnce(5,CodeData.pCodeData, EP2_TX_FIFO_SIZE);
CodeData.bCodeCount = 2;
// Send a zero packet
USB_Single_Transmit(0, 0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -