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

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

?? simpleio.c

?? chipcom公司CC1100無線模塊底層驅動程序
?? C
字號:
/****************************************************/
/* Application note                                 */
/* Reference design : CC1100 RF Test Board          */
/* File:        Simple.c                            */
/* Revision:  1.0                                   */
/* Description:                                     */
/* Microcontroller:ATmega48/48V                     */
/* Author:  Zcg, Field Applications Engineer, SunRay*/
/****************************************************/
#include <ctype.h>
#include "iom88v.h"
#include "macros.h"
#include "main.h" 
#include "simpleio.h"
 
void putchar(INT8U ch)
{
    while ( !(UCSR0A & (1<<UDRE0)) )
	;
    UDR0=ch;
}

INT8U getchar(void)
{
	INT8U temp;

   	if ((UCSR0A & (1<<RXC0)))
   	{
		temp=UDR0;
		return temp;
   	}
	else
	{
		return 0;
	}
}

/****************************************************************************/
/* This routine outputs a string                                            */
/****************************************************************************/

void putstr(INT8U *str)
{
    while (*str!='\0')
    {
        putchar(*str++);
    }
}
int strlen(const char *s)
{
	int i = 0;

	for(; *s; s++)
		i++;

	return i;
}
/*---------------------printf and support routines ---------------------*/
/* print c count times */
void PutRepChar(char c, int count)
{
	while (count--) putchar(c);
}

/* put string reverse */
void PutStringReverse(char *s, int index)
{
    while ((index--) > 0) putchar(s[index]);
}

/*-------------------------------------------------------------------------*/
/*
   prints value in radix, in a field width width, with fill
   character fill
   if radix is negative, print as signed quantity
   if width is negative, left justify
   if width is 0, use whatever is needed
   if fill is 0, use ' '
 */

static void PutNumber(int value, int radix, int width, char fill)
{
    char buffer[40];
    int bi = 0;
    int unsigned uvalue;
    short int digit;
    short int left = FALSE;
    short int negative = FALSE;

    if (fill == 0) fill = ' ';

    if (width < 0) {
      width = -width;
      left = TRUE;
    }
    if (width < 0 || width > 80) width = 0;

    if (radix < 0) {
      radix = -radix;
      if (value < 0) {
        negative = TRUE;
        value = -value;
      }
    }
    uvalue = value;
    do
    {
        if (radix != 16)
        {
            digit = uvalue % radix ;
            uvalue = uvalue / radix ;
        }
        else
        {
            digit = uvalue & 0xf;
            uvalue = uvalue >> 4;
        }
        buffer[bi] = digit + ((digit <= 9) ? '0' : ('A' - 10));
        bi++;

        if (uvalue != 0)
        {
            if ((radix==10)&&((bi==3)||(bi==7)||(bi==11)|(bi==15)))
            {
	            buffer[bi++]=',';
            }
        }
    } while (uvalue != 0);

    if (negative) {
      buffer[bi] = '-';
      bi += 1;
    }
    if (width <= bi)
    {
        PutStringReverse(buffer, bi);
    }
    else
    {
        width -= bi;
        if (!left) PutRepChar(fill, width);
        PutStringReverse(buffer, bi);
        if (left) PutRepChar(fill, width);
    }
}


static char *FormatItem(char *f, int a)
{
    char c;
    int fieldwidth = 0;
    int leftjust = FALSE;
    int radix = 0;
    char fill = ' ';

    if (*f == '0') fill = '0';
    while ((c = *f++)!=0)
    {
        if (c >= '0' && c <= '9')
        {
            fieldwidth = (fieldwidth * 10) + (c - '0');
        }
        else
        {
            switch (c)
            {
                case '\000':
                    return(--f);
                case '%':
                    putchar('%');
                    return(f);
                case '-': leftjust = TRUE;
                    break;
                case 'c':
                    {
                      if (leftjust) putchar(a & 0x7f);
                      if (fieldwidth > 0) PutRepChar(fill, fieldwidth - 1);
                      if (!leftjust) putchar(a & 0x7f);
                      return(f);
                    }
                case 's':
                    {
                        if (leftjust) putstr((char *) a);
                        if (fieldwidth > strlen((char *) a))
	                        PutRepChar(fill, fieldwidth - strlen((char *)a));
                        if (!leftjust) putstr((char *) a);
                        return(f);
                    }
                case 'd':
                case 'i':
                    radix = -10;break;
                case 'u':
                    radix = 10;break;
                case 'x':
                    radix = 16;break;
                case 'X':
                    radix = 16;break;
                case 'o':
                    radix = 8;break;
                default :
                    radix = 3;break;/* unknown switch! */
            }
        }
        if (radix) break;
    }
    if (leftjust) fieldwidth = -fieldwidth;
    PutNumber(a, radix, fieldwidth, fill);
    return(f);
}

#define vaStart(list, param) list = (char*)((int)&param + sizeof(param))
#define vaArg(list, type) ((type *)(list += sizeof(type)))[-1]
#define vaEnd(list)

void printf(char *f, ...)       /* variable arguments */
{
	char *argP;

	vaStart(argP,f);		/* point at the end of the format string */
	while (*f)
	{			/* this works because args are all ints */
		if (*f == '%')
			f = FormatItem(f + 1, vaArg(argP, int));
		else
			putchar(*f++);
	}
	vaEnd(argP);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线精品一区二区| 国产成人av影院| 6080午夜不卡| 麻豆成人久久精品二区三区小说| 日韩视频一区二区在线观看| 美女国产一区二区三区| 精品成人一区二区三区四区| 国产成人自拍高清视频在线免费播放| 久久日韩粉嫩一区二区三区| 国产99久久精品| 亚洲免费在线看| 91麻豆精品国产91久久久久久久久 | xnxx国产精品| 国产一区二区久久| 日本一区二区视频在线观看| bt欧美亚洲午夜电影天堂| 亚洲一区二区三区四区的| 日韩精品一区二区三区中文不卡| 精品一区二区免费| 综合色天天鬼久久鬼色| 欧美福利视频导航| 成人高清视频在线观看| 亚洲图片欧美一区| 国产亚洲欧洲997久久综合| av影院午夜一区| 日韩av成人高清| 中文字幕av一区 二区| 欧美在线观看视频在线| 激情亚洲综合在线| 亚洲女同一区二区| 精品剧情v国产在线观看在线| 97精品超碰一区二区三区| 天天亚洲美女在线视频| 国产精品色哟哟| 欧美一区二区三区视频在线| 91影院在线观看| 久久精品av麻豆的观看方式| 亚洲色欲色欲www| 精品国产一区二区三区不卡| 在线观看日韩国产| 国产精品一区二区久久不卡| 五月婷婷综合网| 中文字幕欧美一| 精品人伦一区二区色婷婷| 色综合久久综合中文综合网| 国产一区二区三区高清播放| 亚洲一级二级在线| 亚洲图片有声小说| 国产精品毛片大码女人| 欧美mv和日韩mv的网站| 欧洲精品一区二区| 97国产精品videossex| 国产老女人精品毛片久久| 青青草97国产精品免费观看无弹窗版 | 欧美精品一二三| 色av综合在线| 99视频精品在线| 国产成人精品一区二区三区四区| 日韩精品1区2区3区| 一区二区三区国产精华| 1区2区3区精品视频| 中文字幕在线视频一区| 欧美国产综合色视频| 精品国产第一区二区三区观看体验| 欧美精品亚洲一区二区在线播放| 欧美三级乱人伦电影| 一本到一区二区三区| 99久久精品国产毛片| 国产成人丝袜美腿| 国产精品资源在线| 韩国一区二区视频| 国产在线视频一区二区三区| 久久国产成人午夜av影院| 免费成人美女在线观看.| 免费观看在线综合色| 日韩电影免费在线看| 日本一区中文字幕| 免费成人在线视频观看| 久久爱另类一区二区小说| 人人超碰91尤物精品国产| 亚洲va国产天堂va久久en| 亚洲一区二区在线播放相泽| 麻豆一区二区三| 日韩主播视频在线| 免费在线观看精品| 韩国理伦片一区二区三区在线播放| 极品少妇一区二区三区精品视频 | 欧美二区在线观看| 日韩三级在线观看| 久久一夜天堂av一区二区三区 | 国产精品色噜噜| 亚洲丝袜精品丝袜在线| 亚洲色图视频网站| 亚洲一区二区三区影院| 视频一区二区中文字幕| 久久精品国产77777蜜臀| 国产一区在线不卡| 不卡视频免费播放| 欧洲日韩一区二区三区| 欧美一区二区三区婷婷月色| 精品国产免费视频| 中文字幕免费不卡在线| 一区二区成人在线| 免费视频最近日韩| 成人免费毛片片v| 欧美在线播放高清精品| 精品久久久久久综合日本欧美| 国产日产欧产精品推荐色| 亚洲视频在线一区观看| 天天综合日日夜夜精品| 国产美女视频91| 在线免费一区三区| 欧美成人a∨高清免费观看| 亚洲欧洲精品天堂一级| 天堂成人国产精品一区| 高清日韩电视剧大全免费| 欧美日精品一区视频| 久久久国产一区二区三区四区小说 | 一区二区三区精品在线观看| 奇米四色…亚洲| 91天堂素人约啪| 日韩午夜精品电影| 亚洲欧美日韩综合aⅴ视频| 久久国产生活片100| 欧美在线视频全部完| 国产日产欧美精品一区二区三区| 午夜视频在线观看一区| 成人三级在线视频| 日韩欧美一区中文| 亚洲精品久久7777| 粉嫩高潮美女一区二区三区| 91精品综合久久久久久| 亚洲精品va在线观看| 风间由美一区二区三区在线观看| 4438x成人网最大色成网站| 日韩精品电影在线| 在线精品视频小说1| 欧美国产日韩一二三区| 久久激情五月激情| 欧美日韩一级二级| 最新国产成人在线观看| 国产精品自在在线| 日韩视频免费直播| 五月天丁香久久| 欧美色爱综合网| **欧美大码日韩| 成人18视频在线播放| 国产亚洲成av人在线观看导航| 麻豆精品视频在线观看视频| 欧美系列亚洲系列| 亚洲老妇xxxxxx| 99国产精品久| **网站欧美大片在线观看| 成人黄色av网站在线| 久久精品免视看| 国产高清成人在线| 国产午夜精品美女毛片视频| 国产一区二区在线观看视频| 日韩欧美色综合| 热久久免费视频| 91精品国产色综合久久| 人人超碰91尤物精品国产| 91精品国产综合久久精品app| 亚洲国产人成综合网站| 欧美午夜免费电影| 亚洲h在线观看| 欧美电影一区二区三区| 日韩精品成人一区二区在线| 91精品视频网| 久久精品国产精品亚洲精品| 欧美精品一区二区三区很污很色的 | 亚洲一二三区视频在线观看| 色一情一伦一子一伦一区| 亚洲欧美电影一区二区| 日本乱人伦一区| 日韩极品在线观看| 日韩女优毛片在线| 国产99一区视频免费| 亚洲免费在线视频一区 二区| 色婷婷综合激情| 午夜精品久久久久影视| 日韩免费电影一区| 国产精品中文欧美| 亚洲欧美日本在线| 欧美精品一二三| 国产麻豆9l精品三级站| 国产精品网友自拍| 在线观看日韩一区| 免费高清不卡av| 国产精品丝袜久久久久久app| 91免费版pro下载短视频| 亚洲成人一区在线| 亚洲精品一区二区三区蜜桃下载| 成人av在线网| 亚洲国产欧美在线| 亚洲美女视频在线| 日韩三级高清在线| eeuss鲁片一区二区三区| 亚洲一二三四区不卡| 精品久久久三级丝袜|