STM32 HOST USB代码
u8 USH_User_App(void)
{
u32 total,free;
u8 res=0;
Show_Str(30,140,200,16,"É豸Á¬½Ó³É¹¦!.",16,0);
res=exf_getfree("2:",&total,&free);
if(res==0)
{
POINT_COLOR=BLUE;//ÉèÖÃ×ÖÌåΪÀ¶É«
LCD_ShowString(30,160,200,16,16,"FATFS OK!");
LCD_ShowString(30,180,200,16,16,"U Disk Total Size: MB");
LCD_ShowString(30,200,200,16,16,"U Disk Free Size: MB");
LCD_ShowNum(174,180,total>>10,5,16); //ÏÔʾUÅÌ×ÜÈÝÁ¿ MB
LCD_ShowNum(174,200,free>>10,5,16);
}
while(HCD_IsDeviceConnected(&USB_OTG_Core))//É豸Á¬½Ó³É¹¦
{
LED1=!LED1;
delay_ms(200);
}
POINT_COLOR=RED;//ÉèÖÃ×ÖÌåΪºìÉ«
Show_Str(30,140,200,16,"É豸Á¬½ÓÖÐ...",16,0);
LCD_Fill(30,160,239,220,WHITE);
return res;
}
int main(void)
{
u8 t;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÉèÖÃϵͳÖжÏÓÅÏȼ¶·Ö×é2
delay_init(168); //³õʼ»¯ÑÓʱº¯Êý
uart_init(115200); //³õʼ»¯´®¿Ú²¨ÌØÂÊΪ115200
LED_Init(); //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú
KEY_Init(); //°´¼ü
LCD_Init(); //³õʼ»¯LCD
W25QXX_Init(); //SPI FLASH³õʼ»¯
usmart_dev.init(84); //³õʼ»¯USMART
my_mem_init(SRAMIN); //³õʼ»¯ÄÚ²¿ÄÚ´æ³Ø
exfuns_init(); //ΪfatfsÏà¹Ø±äÁ¿ÉêÇëÄÚ´æ
piclib_init(); //³õʼ»¯»Í¼
f_mount(fs[0],"0:",1); //¹ÒÔØSD¿¨
f_mount(fs[1],"1:",1); //¹ÒÔØSD¿¨
f_mount(fs[2],"2:",1); //¹ÒÔØUÅÌ
POINT_COLOR=RED;
while(font_init()) //¼ì²é×Ö¿â
{
LCD_ShowString(60,50,200,16,16,"Font Error!");
delay_ms(200);
LCD_Fill(60,50,240,66,WHITE);//Çå³ýÏÔʾ
delay_ms(200);
}
Show_Str(30,50,200,16,"̽Ë÷ÕßSTM32F407¿ª·¢°å",16,0);
Show_Str(30,70,200,16,"USB UÅÌʵÑé",16,0);
Show_Str(30,90,200,16,"2014Äê7ÔÂ22ÈÕ",16,0);
Show_Str(30,110,200,16,"ÕýµãÔ×Ó@ALIENTEK",16,0);
Show_Str(30,140,200,16,"É豸Á¬½ÓÖÐ...",16,0);
//³õʼ»¯USBÖ÷»ú
USBH_Init(&USB_OTG_Core,USB_OTG_FS_CORE_ID,&USB_Host,&USBH_MSC_cb,&USR_Callbacks);
while(1)
{
USBH_Process(&USB_OTG_Core, &USB_Host);
delay_ms(1);
t++;
if(t==200)
{
LED0=!LED0;
t=0;
}
}
}