⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainloop.c

📁 该软件源程序示范了如何在嵌入式系统中实现USB-OTG协议
💻 C
📖 第 1 页 / 共 2 页
字号:
                        cprintf("Please select: ");
						break;

				case '4':bD09flags.bits.mode_state = TGPB0;
						Hal4Sys_ControlD09Interrupt(FALSE);
					    F_Main_Menu();
					    printf("Transparent GENERAL PURPOSE BUFFER mode 00, SE0_VM -> D-, DAT_VP -> D+\n");
                        Hal4D09_UART2();
                        cprintf("Please select: ");
						break;
				case '5':bD09flags.bits.mode_state = TGPB1;
						Hal4Sys_ControlD09Interrupt(FALSE);
					    F_Main_Menu();
					    printf("Transparent GENERAL PURPOSE BUFFER mode 01, SE0_VM <- D-, DAT_VP -> D+\n");
                        Hal4D09_UART2();
                        cprintf("Please select: ");
						break;
				case '6':bD09flags.bits.mode_state = TGPB2;
						Hal4Sys_ControlD09Interrupt(FALSE);
					    F_Main_Menu();
					    printf("Transparent GENERAL PURPOSE BUFFER mode 02, SE0_VM <- D-, DAT_VP <- D+\n");
                        Hal4D09_UART2();
                        cprintf("Please select: ");
						break;
				case '7':bD09flags.bits.mode_state = TGPB3;
						Hal4Sys_ControlD09Interrupt(FALSE);
					    F_Main_Menu();
					    printf("Transparent GENERAL PURPOSE BUFFER mode 03, SE0_VM -> D-, DAT_VP <- D+\n");
                        Hal4D09_UART2();
                        cprintf("Please select: ");
						break;

				case 't':
				case 'T':bD09flags.bits.mode_state = Audio_Stereo;
					    F_Main_Menu();
					    printf("Stereo Audio mode\n");	
                        cprintf("Please select: ");						
                        Hal4D09_Stereo();
						break;
				case 'n':
				case 'N':bD09flags.bits.mode_state = Audio_Data;
					    F_Main_Menu();
					    printf("Audio during data mode\n");
                        cprintf("Please select: ");
                        Hal4D09_Audio_Data();
						break;
				case 'h':
				case 'H': bD09flags.value = 0;
                    	Hal4Sys_ResetPCBA(); 
						bD09flags.bits.bus_state = I2C;
                        Hal4Sys_SetI2C_Mode();
						F_Main_Menu();
					    printf("Hard reset ISP1302\n");
                        cprintf("Please select: ");
						break;
				default:
	    				break;
				}
		}
         if(inten_state)
			 fn_usb_isr();
	}
    Main_Menu();
}

void Main_Menu(void)
{
	clrscr();
	textattr(0x07);
	printf("Paralle Port PC Kit\n");
	printf("ISP1302 IC TEST FIRMWARE REV 1.10\n");
	printf("Philips Electronics Singapore PTE. LTD. APIC\n");
	printf("Getting more info on http://www.philips.com\n");
	printf("or contact wired.support@philips.com\r\n");
    printf("VenderID=0x%04x ",Hal4D09_Get_ChipID());
    printf("ProductID=0x%04x  ",Hal4D09_Get_ProductID());
    printf("VersionID=0x%04x\n",Hal4D09_Get_VersionID());
	textattr(0x05);
	cprintf("***************** ISP1302 Eva Main Menu ****************\r\n"); 
	textattr(0x07);
    cprintf("              Access register through          \r\n"); 
    if(bD09flags.bits.bus_state == SPI)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("      S: SPI,  ");
    if(bD09flags.bits.bus_state == I2C && bD09flags.bits.adr_state ==0)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("      I: I2C,ADR=1,");
    if(bD09flags.bits.bus_state == I2C && bD09flags.bits.adr_state ==1)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("      i: I2C,ADR=0   \r\n");
	cprintf("                                                        \r\n");
	textattr(0x07);
    cprintf("                   User Mode select                     \r\n"); 
	textattr(0x03);
    cprintf("      F: Functional mode,             T: Test mode      \r\n");
    cprintf("                                                        \r\n");
	cprintf("      H: Hard Reset ISP1302           Esc: Exit  \r\n");			
	textattr(0x04);
	cprintf("    Note: Green states are selected    \r\n");	
	textattr(0x05);
	cprintf("*****************  End  of  Main  Menu  ****************\r\n"); 
	textattr(0x07);
    cprintf("Please select: ");
}

void F_Main_Menu(void)
{ 
	clrscr();
	textattr(0x05);
	cprintf("***************  Functional mode Menu  *******************\r\n"); 
	textattr(0x07);
	cprintf("Set SERVICE_N Pin \r\n"); 

    if(bD09flags.bits.service_state == 1)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   0: Low, 2.8V signaling for UART Mode");
    if(bD09flags.bits.service_state == 0)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   1: High, 3.3V signaling \r\n");
//    cprintf("                                                          \r\n");
	textattr(0x07);
	cprintf("Set OE_N Pin pullup/down \r\n"); 

    if(bD09flags.bits.OE_state == 1)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   2: OE_N pull Low ");
    if(bD09flags.bits.OE_state == 0)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   3: OE_N pull High  \r\n");
 //   cprintf("                                                          \r\n");

	textattr(0x07);
    cprintf("Set USB Speed \r\n"); 
    if(bD09flags.bits.low_full_state == FULL)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   F: Full speed");
    if(bD09flags.bits.low_full_state == LOW)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("            L: Low speed          \r\n");
 //   cprintf("                                                          \r\n");
	textattr(0x07);
    cprintf("Set USB Suspend/Active state\r\n"); 
    if(bD09flags.bits.suspend_state == ACTIVE)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   A: Active ");
    if(bD09flags.bits.suspend_state == SUSPEND)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("       S: Suspend            \r\n");
   // cprintf("                                                          \r\n");

	textattr(0x07);
    cprintf("Enable/Disable Charge Pump\r\n"); 
    if(bD09flags.bits.charge_state == 0)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   D: Disable ChargePump ");
    if(bD09flags.bits.charge_state == 1)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("    E: Enable ChargePump            \r\n");
  //  cprintf("                                                          \r\n");

	
	textattr(0x07);
    cprintf("Functional Mode is\r\n"); 
/*    if(bD09flags.bits.mode_state == USB_VPVM_U)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   U: USB_VPVM_U");
    if(bD09flags.bits.mode_state == USB_DAT_SE0_U)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("                D: USB_DAT_SE0_U          \r\n");
*/    if(bD09flags.bits.mode_state == USB_VPVM_B)
	    textattr(0x02);
	else
		textattr(0x03);
    cprintf("   V: USB_VPVM_B");
    if(bD09flags.bits.mode_state == USB_DAT_SE0_B)
	    textattr(0x02);
	else
		textattr(0x03);
    cprintf("                B: USB_DAT_SE0_B          \r\n");
    if(bD09flags.bits.mode_state == Audio_Stereo)
	    textattr(0x02);
	else
		textattr(0x03);
    cprintf("   T: Audio Stereo");
    if(bD09flags.bits.mode_state == Audio_Data)
	    textattr(0x02);
	else
		textattr(0x03);
    cprintf("              N: Data During Audio mode\r\n");

    if(bD09flags.bits.mode_state == UART)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   U: UART1");
    if(bD09flags.bits.mode_state == TGPB0)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("                     4: TGPB mode 00              \r\n");
    if(bD09flags.bits.mode_state == TGPB1)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   5: TGPB mode 01  ");
    if(bD09flags.bits.mode_state == TGPB2)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("            6: TGPB mode 10 \r\n");
    if(bD09flags.bits.mode_state == TGPB3)
	    textattr(0x02);
	else
		textattr(0x03);
	cprintf("   7: TGPB mode 11       \r\n");
	textattr(0x03);
	cprintf("H: Hard Reset ISP1302         \r\n");	
	cprintf("Esc: Exit to Main Menu");	
	textattr(0x04);
	cprintf("    Note: Green states are selected    \r\n");	

	textattr(0x05);
	cprintf("********************  End  of  Menu   ********************\r\n"); 
	textattr(0x07);
    cprintf("Please select: ");
}


/*
 //*************************************************************************
//  Subroutines for silicon verification only, for products, pls remove it
//*************************************************************************
*/

void T_Main_Menu(void)
{ 
 	clrscr();
	textattr(0x05);
	cprintf("********************  Test mode Menu  ******************\r\n"); 
    cprintf("  \r\n"); 
	textattr(0x03);
    cprintf("D: Data input                 A: Address input\r\n");
    cprintf("R: Read register              W: Write register\r\n");
    cprintf("F: CLK SWITCH off             N: CLK SWITCH on\r\n");
    cprintf("L: Interrupt en_low           U: Interrupt en_high\r\n");
    cprintf("G: List all register          \r\n");
	cprintf("                                                         \r\n");
	cprintf("Esc : Exit to Main Menu       H: Hard Reset ISP1302         \r\n");	
	textattr(0x05);
	cprintf("********************  End  of  Menu   ******************\r\n"); 
	textattr(0x07);
    cprintf("Please select: ");
}

void Test_mode(void) 
{
    T_Main_Menu();
    Test_loop();
    Main_Menu();
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -