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

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

?? printp.c

?? 因為“飛思卡爾”S12單片機不支持Printf()函數
?? C
字號:
/********************************************************龍丘MC9S12(DG128)多功能開發板V4.0編寫:FSDesigned by Chiu SirE-mail:chiusir@163.com軟件版本:V1.1最后更新:2008年10月28日相關信息參考下列地址:博客:  http://longqiu.21ic.org淘寶店:http://shop36265907.taobao.com------------------------------------Code Warrior 4.6Target : MC9S12DG128BCrystal: 16.000Mhzbusclock:16.000MHzpllclock:32.000MHz  *********************************************************/#include <ctype.h>#include <string.h>#include <stdarg.h>#ifndef  TRUE#define  TRUE 1#endif#ifndef  FALSE#define  FALSE 0#endif#define Baud_9600  55#define Baud_19200 26#define SCI0CR2     (*((volatile unsigned char*)(0x00CB)))#define SCI0SR1     (*((volatile unsigned char*)(0x00CC)))#define SCI0BDH     (*((volatile unsigned char*)(0x00C8)))#define SCI0BDL     (*((volatile unsigned char*)(0x00C9)))#define SCI0DRL     (*((volatile unsigned char*)(0x00CF)))#define CR_as_CRLF  TRUE             // if true , you can use "\n" to act as CR/LF,                                      // if false, you have to use "\n\r",but can get a higher speed  static int do_padding;static int left_flag;static int len;static int num1;static int num2;static char pad_character;unsigned char uart_getkey(void){     while(!(SCI0SR1&0x80)) ; 		 //keep waiting when not empty     return SCI0DRL;}/*void uart_init(void) {  SCI0CR2=0x0c;  SCI0BDH=0x00;//16MHz,19200bps,SCI0BDL=0x1a  SCI0BDL=0x34;//16MHz,9600bps,SCI0BDL=0x34 }*/ void uart_putchar(unsigned char ch){   if (ch == '\n')    {      while(!(SCI0SR1&0x80)) ;           SCI0DRL= 0x0d;       				 //output'CR'	    return;  }  while(!(SCI0SR1&0x80)) ; 		    //keep waiting when not empty    SCI0DRL=ch;}void putstr(char ch[]){  unsigned char ptr=0;  while(ch[ptr]){      uart_putchar((unsigned char)ch[ptr++]);  }       }                                                 static void padding( const int l_flag){   int i;   if (do_padding && l_flag && (len < num1))      for (i=len; i<num1; i++)          uart_putchar( pad_character);}static void outs( char* lp){  /* pad on left if needed                          */  len = strlen( lp);  padding( !left_flag);  /* Move string to the buffer                      */  while (*lp && num2--)  uart_putchar( *lp++);  /* Pad on right if needed                         */  len = strlen( lp);  padding( left_flag);}static void reoutnum(unsigned long num, unsigned int negative, const long base ) {  char* cp;  char outbuf[32];  const char digits[] = "0123456789ABCDEF";   /* Build number (backwards) in outbuf             */  cp = outbuf;  do {    *cp++ = digits[(int)(num % base)];    } while ((num /= base) > 0);  if (negative)  *cp++ = '-';  *cp-- = 0;  /* Move the converted number to the buffer and    */  /* add in the padding where needed.               */  len = strlen(outbuf);  padding( !left_flag);  while (cp >= outbuf)    uart_putchar( *cp--);  padding( left_flag);}static void outnum(long num, const long base ,unsigned char sign)//1, signed  0 unsigned{     unsigned int negative;  if ( (num < 0L) && sign )   {      negative=1;    num = -num;  }  else negative=0;   reoutnum(num,negative,base);  } static int getnum( char** linep){   int n;   char* cp;   n = 0;   cp = *linep;   while (isdigit(*cp))      n = n*10 + ((*cp++) - '0');   *linep = cp;   return(n);}void printp( char* ctrl, ...){    int long_flag;   int dot_flag;   char ch;   va_list argp;    va_start( argp, ctrl);    for ( ; *ctrl; ctrl++) {        /* move format string chars to buffer until a  format control is found. */      if (*ctrl != '%') {         uart_putchar(*ctrl);#if CR_as_CRLF==TRUE                  if(*ctrl=='\n') uart_putchar('\r');#endif                  continue;         }       /* initialize all the flags for this format.   */      dot_flag = long_flag = left_flag = do_padding = 0;      pad_character = ' ';      num2=32767;  try_next:      ch = *(++ctrl);      if (isdigit(ch)){         if (dot_flag)            num2 = getnum(&ctrl);         else {            if (ch == '0')               pad_character = '0';             num1 = getnum(&ctrl);            do_padding = 1;         }         ctrl--;         goto try_next;      }             switch (tolower(ch)) {         case '%':              uart_putchar( '%');              continue;           case '-':              left_flag = 1;              break;           case '.':              dot_flag = 1;              break;           case 'l':              long_flag = 1;              break;           case 'd':              if (long_flag ==1 )               {              		if(ch == 'D')                {outnum( va_arg(argp, unsigned long), 10L , 0);continue;}              	        else  /* ch == 'd' */        {outnum( va_arg(argp, long), 10L,1);continue;}              }              else               {              		if(ch == 'D') {outnum( va_arg(argp, unsigned int),10L,0);continue;}              		else  /* ch == 'd' */                      		{              		  outnum( va_arg(argp, int), 10L,1);              		  continue;              		}              }                          case 'x':    // X 無符號 , x  有符號              if (long_flag ==1 )              {              	if(ch == 'X')                              	{              	  outnum( va_arg(argp, unsigned long), 16L,0);              	  continue;              	}              	else  /* ch == 'x' */                      	{              	  outnum( va_arg(argp, long), 16L,1);              	  continue;              	}               }              else              {              	if(ch == 'X')                              		{              		  outnum( va_arg(argp, unsigned int), 16L,0);              		  continue;              		}              		else  /* ch == 'x' */                      		{              		  outnum( va_arg(argp, int), 16L,1);              		  continue;              		}              } //如果按照16進制打印,將全部按照無符號數進行              continue;          case 's':              outs( va_arg( argp, char*));              continue;            case 'c':              uart_putchar( va_arg( argp, int));              continue;           default:              continue;         }      goto try_next;      }   va_end( argp);   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人午夜在线一区| 亚洲综合激情网| 亚洲一区中文日韩| 色88888久久久久久影院野外| 婷婷丁香久久五月婷婷| 亚洲国产成人午夜在线一区| 欧美一区二区三区不卡| 色综合天天天天做夜夜夜夜做| 免费成人结看片| 亚洲女性喷水在线观看一区| 久久综合国产精品| 欧美精品vⅰdeose4hd| 99久久免费视频.com| 经典一区二区三区| 日韩精品福利网| 亚洲国产精品一区二区www | 成人免费观看av| 免费成人av资源网| 日韩有码一区二区三区| 亚洲天天做日日做天天谢日日欢 | 欧美日韩激情一区二区| 亚洲日本在线观看| 懂色av一区二区三区蜜臀| 国产精品美女www爽爽爽| 欧美精品v国产精品v日韩精品 | 日韩影院在线观看| 亚洲一级二级在线| 亚洲私人黄色宅男| 欧美国产一区在线| 国产日韩欧美制服另类| 精品国免费一区二区三区| 欧美一区二区在线视频| 欧美电影一区二区| 欧美顶级少妇做爰| 欧美一区二区福利在线| 91精品国产欧美一区二区成人| 欧美日韩免费观看一区二区三区 | 国产高清不卡一区二区| 激情偷乱视频一区二区三区| 国产最新精品精品你懂的| 开心九九激情九九欧美日韩精美视频电影| 午夜不卡av免费| 免费观看91视频大全| 蜜臀a∨国产成人精品| 美女国产一区二区| 久久疯狂做爰流白浆xx| 国产一区二三区| 国产精品一区二区黑丝| 成人毛片老司机大片| 成人av电影在线| 91视视频在线观看入口直接观看www| 不卡一区二区在线| 99久久99久久免费精品蜜臀| 91首页免费视频| 欧美日韩一区二区三区在线看 | 久久亚洲一区二区三区四区| 久久免费国产精品| 国产精品乱码一区二区三区软件 | 日韩中文字幕亚洲一区二区va在线 | 不卡免费追剧大全电视剧网站| 亚洲永久精品国产| 婷婷成人激情在线网| 喷水一区二区三区| 国产一区二区在线看| 99热这里都是精品| 欧美性欧美巨大黑白大战| 欧美日韩免费高清一区色橹橹| 3atv一区二区三区| 久久奇米777| 亚洲特级片在线| 日韩中文字幕麻豆| 福利一区二区在线| 欧美视频在线一区二区三区| 日韩精品一区二区三区老鸭窝| 国产欧美日韩三区| 一二三四区精品视频| 蜜桃精品视频在线观看| 成人av动漫网站| 欧美一区永久视频免费观看| 国产拍欧美日韩视频二区| 亚洲国产成人va在线观看天堂| 激情五月婷婷综合| 色香色香欲天天天影视综合网| 欧美一区二区三区免费视频| 欧美国产精品中文字幕| 亚洲第一av色| 夫妻av一区二区| 欧美日韩国产高清一区二区三区 | 国产精品亲子伦对白| 亚洲国产精品综合小说图片区| 国产一区二区成人久久免费影院 | 69堂亚洲精品首页| 国产精品久久久久久久久图文区| 亚洲bt欧美bt精品| 粉嫩av一区二区三区| 3atv一区二区三区| 亚洲三级在线免费| 国产一区二区三区四| 欧美精品自拍偷拍动漫精品| 国产精品久久网站| 狂野欧美性猛交blacked| 欧洲中文字幕精品| 欧美国产视频在线| 精品一区中文字幕| 精品视频一区二区不卡| 国产精品热久久久久夜色精品三区| 免费人成精品欧美精品| 在线亚洲+欧美+日本专区| 国产亚洲欧美日韩日本| 日本欧美肥老太交大片| 在线观看日韩精品| 亚洲视频资源在线| 粉嫩绯色av一区二区在线观看| 日韩免费观看2025年上映的电影 | 久久综合久久综合九色| 日韩高清中文字幕一区| 在线精品视频小说1| 亚洲欧洲三级电影| 国产成人午夜高潮毛片| 日韩你懂的在线观看| 日产国产高清一区二区三区| 91久久精品一区二区三区| 自拍偷拍欧美精品| 不卡一区二区中文字幕| 欧美激情在线看| 国产激情一区二区三区桃花岛亚洲| 欧美成人艳星乳罩| 免费在线欧美视频| 7777女厕盗摄久久久| 午夜精品国产更新| 精品婷婷伊人一区三区三| 亚洲精品老司机| 色老汉av一区二区三区| 亚洲另类在线视频| 色婷婷综合久久久久中文一区二区 | 亚洲一区国产视频| 欧美在线观看视频一区二区| 亚洲精品你懂的| 色婷婷久久99综合精品jk白丝| 亚洲日本欧美天堂| 日本韩国一区二区| 亚洲成人一区二区| 在线播放亚洲一区| 免费在线一区观看| 精品国产乱码久久久久久牛牛| 激情六月婷婷综合| 国产欧美一区二区精品性色超碰 | 日韩视频免费观看高清完整版在线观看 | 欧美麻豆精品久久久久久| 亚洲bt欧美bt精品| 欧美一区二区视频免费观看| 男人的天堂亚洲一区| 日韩精品一区二区三区四区视频 | 91在线观看免费视频| 亚洲精品视频一区| 欧美精品久久久久久久多人混战| 日韩国产在线观看一区| 精品国产成人系列| 欧美成人激情免费网| 国产精品一线二线三线| 日韩伦理电影网| 欧美日韩国产大片| 麻豆精品在线视频| 国产日韩精品一区| 色老头久久综合| 九九视频精品免费| 亚洲日本中文字幕区| 91精品国产色综合久久ai换脸 | 欧美一卡二卡三卡| 国产在线不卡一区| 中文字幕欧美一| 欧美精品少妇一区二区三区 | a级高清视频欧美日韩| 亚洲一区二区三区四区中文字幕| 欧美一级精品大片| jlzzjlzz欧美大全| 午夜久久福利影院| 国产人伦精品一区二区| 精品视频一区三区九区| 国产成人免费视频| 亚洲v日本v欧美v久久精品| 久久一留热品黄| 欧美三级电影在线看| 国产999精品久久久久久绿帽| 亚洲小少妇裸体bbw| 国产日产欧美一区二区视频| 欧美性受xxxx| 国产精品自拍网站| 亚洲第一激情av| 欧美—级在线免费片| 欧美一区在线视频| 色噜噜狠狠成人中文综合| 国产一区福利在线| 日本最新不卡在线| 亚洲欧美日韩一区二区| 久久久久久久综合色一本| 欧美日本乱大交xxxxx| 成人avav影音| 国产中文字幕一区| 日韩av电影免费观看高清完整版在线观看|