📄 osusb.c
字号:
#include"..\ucos-ii\includes.h" /* uC/OS interface */
#include"..\startup\44b.h" /* uC/OS interface */
#include "..\inc\drv\usb.h"
#include "..\inc\usb\def9603.h"
U32 interruptMask;
void init_USBInterrupt()
{
OS_ENTER_CRITICAL();
// rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable //
// rINTMOD=0x0; //All=IRQ mode//
interruptMask=rINTMSK;
rINTMSK=~(BIT_EINT0|BIT_GLOBAL); //Default value=0x7ffffff//
//pISR_FIQ,pISR_IRQ must be initialized//
pISR_EINT0=(unsigned)usb_isr;
OS_EXIT_CRITICAL();
}
void EnterUsbConnect()
{
init_USBInterrupt();
init_usb();
}
void ExitUsbConnect()
{
write_usb(MCNTRL,SRST); /*写 0x01 到 MCNTRL*/
/*INTOC(1-0)=00 :禁止中断输出 */
/*NAT=0 :禁止被USB总线检测 */
/*VEG=0 :禁止内部3.3V稳压 */
/*SRST=1 :进行软件复位 */
OS_ENTER_CRITICAL();
// rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable //
// rINTMOD=0x0; //All=IRQ mode//
rINTMSK=interruptMask;
//set interruput for usb9603
//pISR_FIQ,pISR_IRQ must be initialized//
OS_EXIT_CRITICAL();
Delay(3000);//it should be delay a long time for pc software stable
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -