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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? monitor.c

?? thenewofTiny-FatFs
?? C
字號(hào):
/*------------------------------------------------*/
/* SCI and Monitor I/O functions                  */


#include <machine.h>
#include <stdarg.h>
#include "iodefine.h"
#include "monitor.h"
#include "integer.h"



typedef struct _fifo {
	BYTE	idx_w;
	BYTE	idx_r;
	BYTE	count;
	BYTE buff[64];
} FIFO;


static volatile
FIFO txfifo, rxfifo;



/* Initialize SCI3 */

void sci3_init()
{
	WORD n;


	rxfifo.idx_r = 0;
	rxfifo.idx_w = 0;
	rxfifo.count = 0;
	txfifo.idx_r = 0;
	txfifo.idx_w = 0;
	txfifo.count = 0;

	SCI3.SCR3.BYTE = 0;
	SCI3.SMR.BYTE = 0;		// N81
	SCI3.BRR = 15;			// 38400bps @ 20MHz
	IO.PMR1.BIT.TXD = 1;
	for (n = 0; n < 10000; n++);
	SCI3.SCR3.BYTE = 0xF0;	// TE = TIE = RE = RIE = 1;
}



char xgetc ()
{
	BYTE d, i;


	i = rxfifo.idx_r;
	while(rxfifo.count == 0);
	d = rxfifo.buff[i++];
	set_imask_ccr(1);
	rxfifo.count--;
	set_imask_ccr(0);
	if(i >= sizeof(rxfifo.buff))
		i = 0;
	rxfifo.idx_r = i;

	return d;
}



/* Put a character  */

void xputc (char d)
{
	BYTE i;


	i = txfifo.idx_w;
	while(txfifo.count >= sizeof(txfifo.buff));
	txfifo.buff[i++] = d;
	set_imask_ccr(1);
	txfifo.count++;
	SCI3.SCR3.BIT.TIE = 1;
	set_imask_ccr(0);
	if(i >= sizeof(txfifo.buff))
		i = 0;
	txfifo.idx_w = i;
}



/* SCI3 interrupt */

void int_SCI3 ()
{
	BYTE stat, d, n, i;


	stat = SCI3.SSR.BYTE;
	if (stat & 0x38) {
		stat &= ~0x38;
		SCI3.SSR.BYTE = stat;
	}
	if (stat & 0x40) {
		d = SCI3.RDR;
		n = rxfifo.count;
		if(n < sizeof(rxfifo.buff)) {
			rxfifo.count = ++n;
			i = rxfifo.idx_w;
			rxfifo.buff[i++] = d;
			if(i >= sizeof(rxfifo.buff))
				i = 0;
			rxfifo.idx_w = i;
		}
	}
	if (stat & 0x80) {
		n = txfifo.count;
		if(n) {
			txfifo.count = --n;
			i = txfifo.idx_r;
			SCI3.TDR = txfifo.buff[i++];
			if(i >= sizeof(txfifo.buff))
				i = 0;
			txfifo.idx_r = i;
		}
		if(n == 0)
			SCI3.SCR3.BIT.TIE = 0;
	}
}




char xatoi (char **str, long *res)
{
	DWORD val;
	BYTE c, radix, s = 0;


	while ((c = **str) == ' ') (*str)++;
	if (c == '-') {
		s = 1;
		c = *(++(*str));
	}
	if (c == '0') {
		c = *(++(*str));
		if (c <= ' ') {
			*res = 0; return 1;
		}
		if (c == 'x') {
			radix = 16;
			c = *(++(*str));
		} else {
			if (c == 'b') {
				radix = 2;
				c = *(++(*str));
			} else {
				if ((c >= '0')&&(c <= '9'))
					radix = 8;
				else
					return 0;
			}
		}
	} else {
		if ((c < '1')||(c > '9'))
			return 0;
		radix = 10;
	}
	val = 0;
	while (c > ' ') {
		if (c >= 'a') c -= 0x20;
		c -= '0';
		if (c >= 17) {
			c -= 7;
			if (c <= 9) return 0;
		}
		if (c >= radix) return 0;
		val = val * radix + c;
		c = *(++(*str));
	}
	if (s) val = -val;
	*res = val;
	return 1;
}



void xputs (char* str)
{
	char d;


	while ((d = *str++) != 0)
		xputc(d);
}



void xitoa (long val, char radix, char len)
{
	BYTE c, r, sgn = 0, pad = ' ';
	BYTE s[20], i = 0;
	DWORD value = val;



	if (radix < 0) {
		radix = -radix;
		if (val < 0) { 
			val = -val;
			sgn = '-';
		}
	}
	r = radix;
	if (len < 0) {
		len = -len;
		pad = '0';
	}
	if (len > 20) return;
	do {
		c = (BYTE)(value % r);
		if (c >= 10) c += 7;
		c += '0';
		s[i++] = c;
		value /= r;
	} while (value);
	if (sgn) s[i++] = sgn;
	while (i < len)
		s[i++] = pad;
	do
		xputc(s[--i]);
	while (i);
}



void xprintf (char* str, ...)
{
	va_list arp;
	char d, r, w, s, l;


	va_start(arp, str);

	while ((d = *str++) != 0) {
		if (d != '%') {
			xputc(d); continue;
		}
		d = *str++; w = r = s = l = 0;
		if (d == '0') {
			d = *str++; s = 1;
		}
		while ((d >= '0')&&(d <= '9')) {
			w += w * 10 + (d - '0');
			d = *str++;
		}
		if (s) w = -w;
		if (d == 'l') {
			l = 1;
			d = *str++;
		}
		if (!d) break;
		if (d == 's') {
			xputs((char*)va_arg(arp, char*));
			continue;
		}
		if (d == 'c') {
			xputc(va_arg(arp, short));
			continue;
		}
		if (d == 'u') r = 10;
		if (d == 'd') r = -10;
		if (d == 'X') r = 16;
		if (d == 'b') r = 2;
		if (!r) break;
		if (l) {
			xitoa((long)va_arg(arp, long), r, w);
		} else {
			if (r > 0)
				xitoa((unsigned long)va_arg(arp, short), r, w);
			else
				xitoa((long)va_arg(arp, short), r, w);
		}
	}

	va_end(arp);
}


void get_line (char *buff, int len)
{
	char c;
	BYTE idx = 0;


	for (;;) {
		c = xgetc();
		if (c == '\r') break;
		if ((c == '\b') && idx) {
			idx--; xputc(c);
		}
		if (((BYTE)c >= ' ') && (idx < len - 1)) {
				buff[idx++] = c; xputc(c);
		}
	}
	buff[idx] = '\0';
	xputc(c);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩国日本综合| 在线播放91灌醉迷j高跟美女| 久久综合色鬼综合色| 久久国产精品露脸对白| 久久综合国产精品| 成人午夜在线免费| 日韩美女精品在线| 欧美日韩高清在线播放| 美腿丝袜亚洲三区| 国产精品天干天干在线综合| 91美女片黄在线观看91美女| 日韩精品一区第一页| 欧美精品一区二区三区在线| 粉嫩av一区二区三区在线播放| 综合av第一页| 337p亚洲精品色噜噜噜| 国产成人午夜高潮毛片| 亚洲激情自拍偷拍| 日韩欧美美女一区二区三区| 成人18视频日本| 午夜精品影院在线观看| 久久久久一区二区三区四区| 色一情一乱一乱一91av| 久久电影网电视剧免费观看| 国产精品美女久久久久久久久| 欧美亚洲一区三区| 国产精品一区二区男女羞羞无遮挡 | 一区二区三区欧美日韩| 91精品国产黑色紧身裤美女| 国产成人超碰人人澡人人澡| 午夜精品视频在线观看| 国产亚洲制服色| 精品视频999| 国产剧情在线观看一区二区| 午夜视频一区二区三区| 国产精品青草综合久久久久99| 91精品欧美久久久久久动漫| 成人久久久精品乱码一区二区三区| 午夜国产精品一区| 国产精品毛片无遮挡高清| 538在线一区二区精品国产| 大胆欧美人体老妇| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲丝袜美腿综合| 久久久综合九色合综国产精品| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品中文字幕日韩精品| 偷拍日韩校园综合在线| 日本一区二区三区国色天香 | 国产欧美日韩在线观看| 精品不卡在线视频| 欧美在线免费播放| eeuss鲁片一区二区三区在线观看| 久久精品国产久精国产爱| 亚洲尤物在线视频观看| 中国av一区二区三区| 久久久青草青青国产亚洲免观| 91精品国产综合久久久久久| 色先锋久久av资源部| 99久久精品国产毛片| 国产福利一区二区三区在线视频| 日本人妖一区二区| 日韩精品高清不卡| 亚洲一卡二卡三卡四卡五卡| 亚洲欧洲99久久| 国产精品黄色在线观看| 国产视频一区不卡| 久久久不卡网国产精品一区| 精品噜噜噜噜久久久久久久久试看 | 日韩精品专区在线影院观看| 777亚洲妇女| 欧美日本一区二区| 欧美日韩成人激情| 久久精品一区八戒影视| xnxx国产精品| 成人动漫在线一区| 国产精品1024| 丰满少妇在线播放bd日韩电影| 国产精品18久久久久久久网站| 久久久久久97三级| 欧美精品一区男女天堂| 国产性做久久久久久| 日本精品裸体写真集在线观看| 欧美日韩国产小视频在线观看| 26uuu亚洲| 亚洲综合图片区| 粉嫩一区二区三区在线看| 欧美精品九九99久久| 国产欧美精品日韩区二区麻豆天美| 一区二区三区丝袜| 国产精品一区二区黑丝| 欧美日韩一级二级三级| 国产欧美日本一区视频| 日本女人一区二区三区| 91亚洲午夜精品久久久久久| 日韩一卡二卡三卡四卡| 一区二区在线观看免费视频播放| 国产一区美女在线| 91麻豆精品国产| 亚洲男人都懂的| 成人中文字幕电影| 日韩欧美一级片| 午夜在线成人av| 91女人视频在线观看| 亚洲国产精品欧美一二99| 成人国产精品免费观看视频| 欧美成人精品福利| 午夜精品久久久久| 91性感美女视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产片一区二区三区| 免费一级片91| 欧美人狂配大交3d怪物一区| 亚洲色图制服丝袜| 波多野结衣亚洲| 久久精品欧美一区二区三区不卡| 日本网站在线观看一区二区三区| 色94色欧美sute亚洲线路一久| 国产精品毛片无遮挡高清| 国产精品一二三四| 精品国产电影一区二区| 麻豆一区二区在线| 日韩视频123| 蜜桃视频一区二区三区| 欧美一区二区三区白人| 天天综合天天做天天综合| 欧美日韩性生活| 亚洲午夜羞羞片| 欧美日韩一二区| 日本三级亚洲精品| 日韩欧美一区二区不卡| 久久激情五月婷婷| 久久中文娱乐网| 国产风韵犹存在线视精品| 国产清纯白嫩初高生在线观看91 | 亚洲三级视频在线观看| av一区二区三区黑人| 日韩伦理免费电影| 色综合久久久久久久久| 亚洲综合色噜噜狠狠| 欧美性极品少妇| 视频一区视频二区中文| 欧美一区二区免费| 蜜臀国产一区二区三区在线播放 | 2021久久国产精品不只是精品 | 欧美综合亚洲图片综合区| 亚洲午夜羞羞片| 91精品国产高清一区二区三区| 91小宝寻花一区二区三区| 亚洲另类一区二区| 欧美色精品在线视频| 日韩精品乱码免费| 精品乱人伦小说| 国产成人精品www牛牛影视| 国产精品久久久久久亚洲伦| 91小视频在线免费看| 日韩精品电影在线| 久久久久久夜精品精品免费| 99精品热视频| 亚洲高清不卡在线| 欧美成人国产一区二区| 丁香另类激情小说| 亚洲成人免费看| 久久亚区不卡日本| 91视视频在线直接观看在线看网页在线看 | 色狠狠色狠狠综合| 日韩和的一区二区| 久久精品男人的天堂| 色综合色综合色综合色综合色综合| 一个色妞综合视频在线观看| 欧美精品成人一区二区三区四区| 国产一区免费电影| 一区二区三区在线观看国产| 日韩女同互慰一区二区| 成人精品免费网站| 日欧美一区二区| 日本一区二区视频在线| 欧美三级日韩三级| 国产黑丝在线一区二区三区| 亚洲精品国产a久久久久久 | 一区二区三区不卡在线观看| 欧美一区欧美二区| www.亚洲人| 日韩国产高清在线| 国产精品伦理在线| 精品免费日韩av| 欧美在线观看视频一区二区三区| 国产在线一区观看| 性做久久久久久免费观看欧美| 国产欧美精品一区二区三区四区| 7777精品伊人久久久大香线蕉经典版下载 | 日韩精品一二三| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品婷婷国产综合久久 | 99久久免费视频.com| 久久国产精品99久久人人澡| 一区二区成人在线观看| 中文欧美字幕免费| 精品成人一区二区三区四区| 欧美视频一区在线观看|