📄 fw.c
字号:
#include "host_811.H"
extern Control USB_Control;
extern UINT8 UsbEvent;
extern void DelayMs(UINT8 nFactor);
UINT8 SL811Read(UINT8 a);
void SL811Write(UINT8 a, UINT8 d);
void SL811BufRead(UINT8 addr, UINT8 *s, UINT8 c);
void SL811BufWrite(UINT8 addr, UINT8 *s, UINT8 c);
UINT8 Demo(void)
{
if(!CreateFile("demo.txt",0x20))
return 0;
return 1;
}
main_USB()
{
UINT8 i;
DDRD |= (BIT5);
PORTD &= (~BIT5);
DelayMs(20);
PORTD |= (BIT5);
ENABLE_INTERRUPTS;
sl811h_init();
UsbEvent=TRUE;
while(TRUE)
{
if(UsbEvent)
{
UsbEvent=FALSE;
SL811Write(IntStatus,0XFF);
i=SL811Read(IntStatus);
if((USB_RESET&i))
{
if(USB_Control.SLAVE_ONLINE ==TRUE)
{
USB_Control.SLAVE_REMOVED=TRUE;
USB_Control.SLAVE_ONLINE =FALSE;
}
}
else
{
if(USB_Control.SLAVE_ONLINE == FALSE&&(i|0x7F))
{
USB_Control.SLAVE_FOUND=TRUE;
USB_Control.SLAVE_ONLINE =TRUE;
}
}
if(USB_Control.SLAVE_FOUND)
{
DISABLE_INTERRUPTS;
USB_Control.SLAVE_FOUND=FALSE;
if(EnumUsbDev(1)) // enumerate USB device, assign USB address = #1
{
USB_Control.SLAVE_ENUMERATED = TRUE; // Set slave USB device enumerated flag
PrintStr("Aha, found a USB device");
}
ENABLE_INTERRUPTS;
}
if(USB_Control.SLAVE_REMOVED)
{
DISABLE_INTERRUPTS;
USB_Control.SLAVE_REMOVED=FALSE;
USB_Control.SLAVE_ENUMERATED = FALSE;
ENABLE_INTERRUPTS;
}
if(USB_Control.bMassDevice)
{
DISABLE_INTERRUPTS;
USB_Control.bMassDevice=FALSE;
ApiDemo();
return;
ENABLE_INTERRUPTS;
}
}//end if
}//end for while
}//end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -