osusb.c

来自「这是嵌入式软件电话本的小软件」· C语言 代码 · 共 52 行

C
52
字号
#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 + =
减小字号Ctrl + -
显示快捷键?