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

📄 demo_test.cpp

📁 可以在linux和wince下运行
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    MSGQUEUEOPTIONS msgopts;
	BYTE pbMsgBuf[1024];

    temp=0x1;
	temp=temp & ~1;
	temp=0x0102;
	temp=temp & ~2;
	temp=0x010203;
	temp=temp & 0xfe0203;
	temp=0x01020304;
    memset(&msgopts, 0, sizeof(msgopts));

    msgopts.dwSize = sizeof(msgopts);

    msgopts.dwFlags = 0;

    msgopts.dwMaxMessages = 0;

    msgopts.cbMaxMessage = sizeof(pbMsgBuf);

    msgopts.bReadAccess = TRUE;

rghWaits = CreateMsgQueue(NULL, &msgopts);
hMsgQ = OpenMsgQueue(hInstance, rghWaits, &msgopts);


     if (!rghWaits)

    {

         ERRORMSG(1, (TEXT("Could not create power message queue\r\n")));

     }


//K9S1208_ReadFirstBlock();
//K9S1208_ReadCurrentBlock(save_buffer);
//K9S1208_ProgramBlock(0,blockBuf,123); 
//K9S1208_ReadAllBlock(save_buffer);
//K9S1208_EraseAllBlock();
//return 0;
    Led_Display(16);
//    MMU_Init();
   
#if ADS10   
    __rt_lib_init();                //for ADS 1.0
#endif
    
//    ChangeClockDivider(0,0);          // 1:1:1    
//    ChangeClockDivider(1,0);          // 1:2:2    
    ChangeClockDivider(1,1);          // 1:2:4    

//    ChangeMPllValue(0x92,0x4,0x2);    // FCLK=50MHz    
//    ChangeMPllValue(0x96,0x5,0x1);    // FCLK=135428571Hz 
//    ChangeMPllValue(0x2a,0x1,0x0);    // FCLK=200MHz   
//    ChangeMPllValue(0x5c,0x1,0x1);    // FCLK=200MHz
//    ChangeMPllValue(0x5c,0x4,0x0);    // FCLK=200MHz
//    ChangeMPllValue(0x8e,0x7,0x0);    // FCLK=200MHz        
/*    ChangeMPllValue(0xa1,0x3,0x1);    // FCLK=202.8MHz  */
//    ChangeMPllValue(0x66,0x1,0x1);    // FCLK=220MHz   
//    ChangeMPllValue(0x69,0x1,0x1);    // FCLK=226MHz       
//    ChangeMPllValue(0x96,0x2,0x1);    // FCLK=237MHz
    
    Port_Init();
 //   Isr_Init();
//    Rtc_Init();
    Uart_Init(0,115200);
    Uart_Select(0);

    //Check whether or not the POWER_OFF wake-up.
    Delay(0);	//calibrate Delay()
    Check_PowerOffWakeUp();  //It's needed for power-off STOP mode test.   

//SJS July 15, 2002
    //Turn on LCD. All test will be done while the LCD is turned on.
    //PWR_Lcd_Tft_16Bit_240320_On();

    //Save the wasted power consumption on GPIO.
    rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.
    rGPHCON = rGPHCON & ~(0xf<<18)|(0x5<<18);   //CLKOUT 0,1=OUTPUT to reduce the power consumption.

//SJS July 15, 2002
    //Turn on LCD. All test will be done while the LCD is turned on.
//    Test_Lcd_Tft_8Bit_240320_On();
    while(1)
    {
        i = 0;
      
        //GPG4 Output Port [9:8] 00      -> LCD power off
//        rGPGCON = (rGPGCON & 0xfffffcff) | (1<<8);
//        rGPGDAT &= 0xffef;        
        
        Uart_Printf("\n\nSMDK2410 Board (MCU S3C2410) Test Program Ver 1.1(20020801) FCLK = %d Hz\n\n", FCLK);
        
        while(1)
        {   //display menu
            Uart_Printf("%2d:%s",i,function[i][1]);
            i++;
            if((int)(function[i][0])==0)
            {
                Uart_Printf("\n");
                break;
            }
            if((i%4)==0)
            Uart_Printf("\n");
        }
        
        Uart_Printf("\nSelect the function to test : ");
  //      i = Uart_GetIntNum();
        Uart_Printf("\n");

        //GPG4 Output Port [9:8] 01      -> LCD power On
        rGPGCON = (rGPGCON & 0xfffffcff) | (1<<8);
        rGPGDAT = (rGPGDAT & 0xffef) | (1<<4);        
Test_Spi_MS_poll();        
//Test_Spi_S_Rx_DMA1();
//        if(i>=0 && (i<(sizeof(function)/8)) ) 
//            ( (void (*)(void)) (function[i][0]) )();            
    }

	return 0;
}


void Isr_Init(void)
{
     rINTMOD     = 0x0;                                     // All=IRQ mode
//     rINTMSK     = BIT_ALLMSK;                              // All interrupt is masked.
//     rINTSUBMSK  = BIT_SUB_ALLMSK;                          // All sub-interrupt is masked. 
                                                // <- April 01, 2002 SOP

     pISR_UART0  = (unsigned)Uart_RxInt;                 
     rINTMSK     &= ~(BIT_UART0);                            
     rINTSUBMSK         &= ~(BIT_SUB_RXD0);  
    
}


void Uart_RxInt(void)
{
	char downPt[100];
	static char count=0;
     rINTSUBMSK|=BIT_SUB_RXD0;        
     rSRCPND=BIT_UART0;                                        // Clear pending bits   
     rINTPND=BIT_UART0;  
     rSUBSRCPND=BIT_SUB_RXD0;

     downPt[count++]=rURXH0;        
     
     rINTSUBMSK&=~BIT_SUB_RXD0;        
        
} // end of __irq Uart_RxInt(...)         

//===================================================================
/*
void Isr_Init(void)
{
   pISR_UNDEF  =  (unsigned)HaltUndef;
    pISR_SWI    = (unsigned)HaltSwi;
    pISR_PABORT = (unsigned)HaltPabort;
    pISR_DABORT = (unsigned)HaltDabort;
    
    rINTMOD     = 0x0;                     //All=IRQ mode
//    rINTCON=0x5;                           //Non-vectored,IRQ enable,FIQ disable    
//    rINTMSK     = BIT_ALLMSK;              //All interrupt is masked.
//    rINTSUBMSK  = BIT_SUB_ALLMSK;          //All sub-interrupt is masked. <- April 01, 2002 SOP

//    rINTSUBMSK  = ~(BIT_SUB_RXD0);         //Enable Rx0 Default value=0x7ff
//    rINTMSK     = ~(BIT_UART0);            //Enable UART0 Default value=0xffffffff    
    
//    pISR_UART0=(unsigned)RxInt;            //pISR_FIQ,pISR_IRQ must be initialized
}
*/
//===================================================================
void HaltUndef(void)
{
    Uart_Printf("Undefined instruction exception.\n");
    while(1);
}

//===================================================================
void HaltSwi(void)
{
    Uart_Printf("SWI exception.\n");
    while(1);
}

//===================================================================
void HaltPabort(void)
{
    Uart_Printf("Pabort exception.\n");
    while(1);
}

//===================================================================
void HaltDabort(void)
{
    Uart_Printf("Dabort exception.\n");
    while(1);
}





/*
//=========================
    while(1)
    {
       Led_Display(3);
    }
//=========================    
*/
/*
//=========================
    while(1)
    {
       Led_Display(1);
       Delay(1500);   
       Led_Display(2);
       Delay(1500);             
       Led_Display(4);
       Delay(1500);   
       Led_Display(8);
       Delay(1500);                
    }
//=========================   
*/

⌨️ 快捷键说明

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