亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 44blib.c

?? 三星S3C44B0X的一個DEMO代碼,實現LCD顯示時鐘運行.
?? C
?? 第 1 頁 / 共 2 頁
字號:
	rPDATB = (rPDATB & (~(1<<4)));
}

void Close_Machine(void)
{
    rPDATB = (rPDATB & (~(1<<5)));
    Delay(1000);
}


//******************************************************************************
//******************************************************************************
void Timer_Start(int divider)  //0:16us,1:32us 2:64us 3:128us
{
    rWTCON=((MCLK/1000000-1)<<8)|(divider<<3);
    rWTDAT=0xffff;
    rWTCNT=0xffff;   

    // 1/16/(65+1),nRESET & interrupt  disable
    rWTCON=((MCLK/1000000-1)<<8)|(divider<<3)|(1<<5);	
}

//*****************************************************************************
int Timer_Stop(void)
{
//    int i;
    rWTCON=((MCLK/1000000-1)<<8);
    return (0xffff-rWTCNT);
}


//******************************************************************************
//******************************************************************************
void ChangePllValue(int mdiv,int pdiv,int sdiv)
{
	int i = 1;		
	
	rPLLCON = (mdiv<<12)|(pdiv<<4)|sdiv;
	
	while(sdiv--)
		i *= 2;	 
	
	MCLK = (EXT_OSC_CLK*(mdiv+8))/((pdiv+2)*i);		
}


//******************************************************************************
//******************************************************************************
void * malloc(unsigned nbyte) 
//Very simple; Use malloc() & free() like Stack
//void *mallocPt=Image$$RW$$Limit;
{
    void *returnPt=mallocPt;

    mallocPt= (int *)mallocPt+nbyte/4+((nbyte%4)>0); //to align 4byte

    if( (int)mallocPt > HEAPEND )
    {
	mallocPt=returnPt;
	return NULL;
    }
    return returnPt;
}

//*****************************************************************************
void free(void *pt)
{
    mallocPt=pt;
}

//*****************************************************************************
void Cache_Flush(void)
{
    int i,saveSyscfg;
    
    saveSyscfg=rSYSCFG;

    rSYSCFG=SYSCFG_0KB; 		      
    for(i=0x10004000;i<0x10004800;i+=16)    
    {					   
	*((int *)i)=0x0;		   
    }
    rSYSCFG=saveSyscfg; 			    
}

//*****************************************************************************
//RTC實時時鐘程序
//*****************************************************************************
void Get_Rtc(void)
{
    rRTCCON = 0x01;    // R/W enable, 1/32768, Normal(merge), No reset
    //Uart_Printf("This test should be excuted once RTC test(Alarm) for RTC initialization\n");
	date_t[0]=Change_BCD_Hex(rBCDYEAR);
	date_t[1]=Change_BCD_Hex(rBCDMON);
	date_t[2]=Change_BCD_Hex(rBCDDAY);
	date_t[3]=Change_BCD_Hex(rBCDHOUR);
	date_t[4]=Change_BCD_Hex(rBCDMIN);
	date_t[5]=Change_BCD_Hex(rBCDSEC);
	date_t[6]=rBCDDATE;
    rRTCCON = 0x0;    // R/W disable(for power consumption), 1/32768, Normal(merge), No reset
}

U8 Change_BCD_Hex(U8 BCDV)
{ 
   return (BCDV/16)*10+(BCDV%16);
}

U8 Change_Hex_BCD(U8 HexV)
{ 
   return (HexV/10)*16+(HexV%10);
}

//實時中斷服務程序*************************************************************************
volatile int isRtcInt;

void __irq Rtc_Int(void)
{
    rI_ISPC=BIT_RTC;  //is needed only when cache=on & wrbuf=on & BSFRD=0
    Uart_Printf("RTC Alarm Interrupt O.K.\n");
    isRtcInt=1;  
}


int Test_Rtc_Alarm(void)  
{
    Uart_Printf("[RTC Alarm Test for S3C44B0X]\n");

    //Rtc_Init();

//    rRTCCON = 0x01; // R/W enable, 1/32768, Normal(merge), No reset

    rALMYEAR=TESTYEAR2 ;
    rALMMON =TESTMONTH2;
    rALMDAY =TESTDAY2  ;
    rALMHOUR=TESTHOUR2 ;
    rALMMIN =TESTMIN2  ;
    rALMSEC =TESTSEC2+9; 

    isRtcInt=0;
    pISR_RTC=(unsigned int)Rtc_Int;
    rRTCALM=0x7f;
    rRTCCON=0x0;
    rINTMSK=~(BIT_GLOBAL|BIT_RTC);

    while(isRtcInt==0);
    
    rINTMSK=BIT_GLOBAL;
    rRTCCON = 0x0;    // R/W disable(for power consumption), 1/32768, Normal(merge), No reset
    return 1;
}


void Rtc_Init(void)
{
    rRTCCON  = 0x01;	// R/W enable, 1/32768, Normal(merge), No reset
    rBCDYEAR = date_t[0];
    rBCDMON  = date_t[1];
    rBCDDAY  = date_t[2];
    rBCDHOUR = date_t[3];
    rBCDMIN  = date_t[4];
    rBCDSEC  = date_t[5];
    rBCDDATE = date_t[6];	// SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7
    rRTCCON  = 0x0;    // R/W disable(for power consumption), 1/32768, Normal(merge), No reset
}

void __irq Rtc_Tick(void)
{
    rI_ISPC=BIT_TICK;  
    Have_1S=1;         //arrive 1S
}


//*************************common data**********************************
U8  handle_run_year(U8 year)
{
      U8   value;
      U16  temp;

      temp = 0x7d0+year;
      value = 0;

      if(!(temp%400))         value = 1;
      else
      {
          if(!(temp%100))   { value = 0;return value;}
          if(!(temp%4))       value = 1;
      }
      return value;
}

//*******************date +1
void date_add_one(void)         //return year:buff[0]  month:buff[1]  day:buff[2]
{
     buff[2]=buff[2]+1;
     if (buff[2]<29) return;    //if date>28   call handle_date
     switch(buff[1])            //month
          {
                 case 1:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =2;}
                         break;
                 case 2:
                          if(handle_run_year(buff[0]))
                            { if (buff[2] == 30)
                               {buff[2] =1;
                                buff[1] =3;}
                             }
                          else
                            { if (buff[2] == 29)
                               {buff[2] =1;
                                buff[1] =3;}
                             }
                          break;
                 case 3:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =4;}
                         break;
                 case 4:
                         if (buff[2] == 31)
                          { buff[2] =1;
                            buff[1] =5;}
                         break;
                 case 5:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =6;}
                         break;
                 case 6:
                         if (buff[2] == 31)
                          { buff[2] =1;
                            buff[1] =7;}
                         break;
                 case 7:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =8;}
                         break;
                 case 8:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =9;}
                         break;
                 case 9:
                         if (buff[2] ==31)
                          { buff[2] =1;
                            buff[1] =10;}
                         break;
                 case 10:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =11;}
                         break;
                 case 11:
                         if (buff[2] == 31)
                          { buff[2] =1;
                            buff[1] =12;}
                         break;
                 case 12:
                         if (buff[2] == 32)
                          { buff[2] =1;
                            buff[1] =1;
                            buff[0] =buff[0]+1;}  //problem
         }
}


//***************************int program******************
void __irq Eint0RTL(void)       //INT0:RTL
{
     rI_ISPC=BIT_EINT0;	//clear pending_bit
}

void __irq Eint1GPS(void)   //INT1:GPS
{
     rI_ISPC=BIT_EINT1;	//clear pending_bit
}

//************************************************************
void set_serial_command(U8 *str, U8 t0, U8 t1, U8 t2, U8 t3, U8 t4, U8 t5)
{
    *(str+0) = t0; *(str+1) = t1; *(str+2) = t2;
    *(str+3) = t3; *(str+4) = t4; *(str+5) = t5;
}

U8 calculate_checksum(U8 *str, U16 strlen)
{
    U8   temp;
    U16  i;

    temp = *str;
    for(i=1;i< strlen; i++)
        temp = temp ^ *(str+i);     //xor data
    return(temp);
}

void write_chinese_to_flash(U8 *str,U8 which4K)
{
      U16 l,k,j,m;
      U32 DesStart;
      l=*(str+6);
      l=l << 8;
      l=l | *(str+7);             //compute addr   DBUF[6]*256+DBUF[7]
      k=*(str+6)>>4;
      m=*(str+5);
      j=m<<4;
      k=k | j;                    //compute A19-A12   DBUF[5] *8+DBUF[6] low 4 bit
      j=*(str+5);
      DesStart=(j<<16) | l;
      SST39LF160_EraseSector(k);            //high8
      if (which4K)
         write_ram_to_flash(DBUF1,0x8,DesStart,0x1000);      //start,dest,len
      else
         write_ram_to_flash(DBUF0,0x8,DesStart,0x1000);      //start,dest,len
}

//move from receive buffer to temp BUFFER

void move_string(U8 *str_long, U16 sourcepoint,U8 *str,U16 destpoint,U16 bufferlen)
{     U16  k;
      for (k=0;k<bufferlen;k++)
          *(str+destpoint+k)= *(str_long+sourcepoint+k);
}


//find string from Dgps[] and move to DBUFA[]
U16 find_string_move(U8 *str_long, U16 startpoint,U8 *str,U16 bufferlen)
{
      U16 i,j,k;
      for (i=0;i<675;i++)
       { j= startpoint+i;
         if  ((*(str_long+(j+0)%bufferlen)==*(str+0)) &&
              (*(str_long+(j+1)%bufferlen)==*(str+1)) &&
              (*(str_long+(j+2)%bufferlen)==*(str+2)) &&
              (*(str_long+(j+3)%bufferlen)==*(str+3)) &&
              (*(str_long+(j+4)%bufferlen)==*(str+4)) &&
              (*(str_long+(j+5)%bufferlen)==*(str+5)))
            {for (k=0;k<306;k++)                                 //mov 306byte to DBUFA
                DBUFA[k]= *(str_long+(j+k)%bufferlen);
             return  j % bufferlen;            //find
            }
        }
      return bufferlen+1;                       //no find
}

//find string from DBUFA[] return point,no find return 0
U16 find_string(U8 *str_long, U16 startpoint,U16 endpoint,U8 *str,U8 substrlen)
{
      U16  i;
      U8   j;
      U8   temp_bool;
      for (i=startpoint;i<startpoint+endpoint-substrlen+1;i++)
       { temp_bool=1;
         for (j=0;j<substrlen;j++)
               temp_bool=temp_bool && (*(str_long+i+j)==*(str+j));
         if  (temp_bool)
             { if (i>0) return  i;                         //find
               else     return  1;                         //find
             }
        }
      return 0;                                 //no find
}



// ****************************************
// *  PWM Timer Interrupt0/1/2/3/4/5 test *
// ****************************************
void TimerInt(void)
{

    //rINTMSK=~(BIT_GLOBAL|BIT_TIMER0|BIT_TIMER1);
    pISR_TIMER0=(unsigned)Timer_0INT;
    pISR_TIMER1=(unsigned)Timer_1INT;

    rTCFG0=0x3b3b3b;	//dead zone=0,0x3b=59,pre2=59=0x3b,pre1=59,pre0=59
//    rTCFG1=0x401234;	//all interrupt,mux5=EXTCLK,mux2=1/2,mux3=1/4,mux2=1/8,mux1=1/16,mux0=1/32
    rTCFG1=0x04444;	//all interrupt,mux5=1/2,mux2=1/2,mux3=1/32,mux2=1/32,mux1=1/32,mux0=1/32
    
    rTCNTB0=0xc35;	//(1/(60MHz/60/32))*0x7a12=0.1s
    rTCNTB1=0xcf85;	//(1/(60MHz/60/32))*0xcf85=1.7s
//    rTCNTB2=0xffff;	//(1/(66MHz/15/8 ))*0xffff=0.12s
//    rTCNTB3=0xffff;	//(1/(66MHz/15/4 ))*0xffff=0.06s
//    rTCNTB4=0xffff;	//(1/(66MHz/15/2 ))*0xffff=0.03s
//    rTCNTB5=0xffff;	//(1/(66MHz/15/2 ))*0xffff=0.03s
//    rTCNTB5=0xffff;	//(1/(1MHz)*0xffff=0.06s, EXTCLK
//    rTCON=0x2222202;	//update T5/T4/T3/T2/T1/T0

    rTCON=0x2222202;	//update T5/T4/T3/T2/T1/T0
    rTCON=0x4888008;	//T5/T4/T3/T2/T0=auto reload,T1=one shot,all_stop

}


void __irq Timer_0INT(void)
{
     rI_ISPC=BIT_TIMER0;    //arrive to 0.1s
     if (bool_start_count) count_time=count_time+1;
     count_timer0_overflow =(count_timer0_overflow +1) % Top_Count_T0_Overflow;

     if (count_timer0_overflow%10==0)                       //1s
         { display_time_arrive=1;
         }

     check_key_time_arrive=1;
}



void __irq Timer_1INT (void)      //open kjc
{
    rI_ISPC=BIT_TIMER1;	          //clear pending_bit
}

//0.display time.....
void display_time_program(void)
{     display_time_arrive=0;
      if (MenuStatus==0)
      {
          run_screen_time(Display_Which_Screen);
       }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久小美女| 亚洲欧洲99久久| 日本免费新一区视频| 91精品蜜臀在线一区尤物| 日韩女优av电影在线观看| 精品国产乱码久久久久久图片| 国产肉丝袜一区二区| 日韩欧美久久一区| 国产欧美一二三区| 亚洲美女视频在线| 伦理电影国产精品| 欧美aa在线视频| 国产成人精品三级麻豆| 成人黄页毛片网站| 欧美伦理电影网| 欧美色图在线观看| 免费xxxx性欧美18vr| 欧美xxxx老人做受| 99久久久无码国产精品| 日韩精品免费视频人成| 精品久久久久久久久久久久包黑料| 国产经典欧美精品| 亚洲一区二区三区四区五区中文| 在线播放亚洲一区| 福利视频网站一区二区三区| 一区二区久久久| 久久久久久久久久久久久夜| 一本大道av一区二区在线播放| 日韩激情视频在线观看| 国产蜜臀av在线一区二区三区| 91啪亚洲精品| 日韩1区2区日韩1区2区| 中文字幕在线不卡一区二区三区| 欧美精品一级二级三级| jlzzjlzz国产精品久久| 日日夜夜免费精品| 亚洲天天做日日做天天谢日日欢 | 国产69精品久久99不卡| 亚洲综合免费观看高清完整版| 精品国产乱码久久久久久免费 | 欧美日韩在线精品一区二区三区激情 | 久久久久国色av免费看影院| 在线免费观看日韩欧美| 丁香亚洲综合激情啪啪综合| 日本在线不卡视频| 亚洲精品国产一区二区三区四区在线 | 国产一区二区三区电影在线观看| 一区二区三区成人| 国产亚洲午夜高清国产拍精品 | 91丝袜美腿高跟国产极品老师 | 狠狠v欧美v日韩v亚洲ⅴ| 欧美视频在线播放| 亚洲综合激情另类小说区| 欧美精品一区二区三区四区| 欧美高清激情brazzers| 国产成人免费视频网站| 婷婷久久综合九色综合绿巨人| 婷婷综合久久一区二区三区| 国产精品亲子伦对白| 91精品啪在线观看国产60岁| 欧亚洲嫩模精品一区三区| 成人免费av网站| 国产成人av福利| 黑人精品欧美一区二区蜜桃| 免费视频最近日韩| 日韩福利电影在线观看| 亚洲成人av一区| 一区二区三区免费| 亚洲精品老司机| 一区二区三区在线视频观看| 亚洲图片欧美激情| 中文字幕欧美一| 国产精品久久久久久久久免费桃花 | 奇米888四色在线精品| 亚洲成人精品一区二区| 亚洲综合在线免费观看| 亚洲美女区一区| 亚洲欧美国产77777| 亚洲欧美欧美一区二区三区| 亚洲欧美日韩一区| 亚洲午夜激情网站| 亚洲第一福利视频在线| 午夜一区二区三区在线观看| 亚洲成人先锋电影| 日本成人在线网站| 激情另类小说区图片区视频区| 久久爱www久久做| 欧美浪妇xxxx高跟鞋交| 制服.丝袜.亚洲.另类.中文| 51精品国自产在线| 欧美大片国产精品| 国产亚洲一二三区| 中文字幕日韩av资源站| 亚洲一区二区四区蜜桃| 91高清在线观看| 日本伦理一区二区| 日韩欧美不卡在线观看视频| 日韩三级免费观看| 日韩一区二区三区视频在线观看| 91.com在线观看| 欧美一二三在线| 日韩精品一区二区三区swag| 日韩欧美一二三| 精品99999| 亚洲欧美经典视频| 免费成人在线影院| 91网站黄www| 色综合中文字幕国产 | 久久精品亚洲精品国产欧美 | 欧美日韩精品综合在线| 欧美一区二区三级| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲嫩草精品久久| 日韩在线一二三区| 国产suv一区二区三区88区| 色婷婷av一区二区三区软件 | 欧美三级电影网站| 精品日韩在线观看| 亚洲欧美日韩国产另类专区| 麻豆中文一区二区| 成人高清免费观看| 欧美人与性动xxxx| 欧美激情在线免费观看| 天天操天天色综合| 成人午夜av在线| 欧美精品一卡二卡| 成人免费视频在线观看| 日韩成人dvd| 91久久精品网| 中文字幕第一区综合| 全部av―极品视觉盛宴亚洲| 99久久久精品| 久久久国产精华| 天天综合网 天天综合色| 北岛玲一区二区三区四区| 欧美精品乱人伦久久久久久| 国产精品午夜免费| 精品一区二区国语对白| 在线精品视频一区二区三四 | 国产精品888| 日韩精品自拍偷拍| 一区二区视频在线看| 精品亚洲国产成人av制服丝袜 | a4yy欧美一区二区三区| 777亚洲妇女| 精品视频在线视频| 精品亚洲porn| 久久久久久久久99精品| 亚洲国产成人av网| 欧美日韩精品一区二区三区四区| 国产精品18久久久久久久久| 色婷婷av一区二区三区软件| 伊人夜夜躁av伊人久久| 91国产丝袜在线播放| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一区二区三级| 欧美性受xxxx| 久久综合网色—综合色88| 视频在线在亚洲| 欧美无乱码久久久免费午夜一区| 亚洲天堂成人在线观看| 成人免费视频国产在线观看| 久久久久成人黄色影片| 国产精品亚洲а∨天堂免在线| 日韩欧美成人激情| 激情综合色播激情啊| 日韩欧美aaaaaa| 麻豆一区二区在线| 精品国产91洋老外米糕| 看电影不卡的网站| 精品精品欲导航| 国产福利一区二区三区视频| 国产欧美日韩另类一区| 国产91清纯白嫩初高中在线观看 | 99re这里只有精品首页| 国产精品美女www爽爽爽| 成人精品一区二区三区中文字幕| 国产亚洲成年网址在线观看| 成人国产视频在线观看| 亚洲女同一区二区| 欧美福利视频一区| 久久精品国产成人一区二区三区| 久久女同精品一区二区| 成人av网址在线| 亚洲欧美国产三级| 欧美精品久久久久久久久老牛影院| 日韩国产高清影视| 久久精品亚洲一区二区三区浴池| 丁香婷婷综合色啪| 亚洲综合图片区| 精品美女被调教视频大全网站| 国产精品原创巨作av| 亚洲欧美日韩中文字幕一区二区三区| 欧美午夜寂寞影院| 国产呦精品一区二区三区网站| 国产精品国产精品国产专区不蜜| 在线观看一区二区视频| 久久成人av少妇免费| 中文字幕欧美一| 欧美一区二区三区在|