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

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

?? mcu.c

?? 讀卡程序.rar
?? C
字號:
#include "main.h"

//---------------spi interface initialize----------------------------
void SPI_Initialize()
{   
	while (!(P3IN & 0x08));              // If clock sig from mstr stays low,
                                         // it is not yet in SPI mode
	P3SEL |= BIT1 + BIT2 + BIT3;         // P3.1,3.2,3.3 UCB0SIMO,UCB0SOMI,UCBOCLK option select
	UCB0CTL1 |= UCSWRST;                 // Disable USCI first
	UCB0CTL0 |= UCCKPL + UCMSB + UCSYNC; // 3-pin, 8-bit SPI slave
	UCB0CTL1 &= ~UCSWRST;    
	//IE2 |= UCB0RXIE;
	//__bis_SR_register(LPM4_bits + GIE);       // Enter LPM4, enable interrupts
}

//---------------initialize system clock-----------------------------
void OSCsel(void)
{
    unsigned int ii1;

    BCSCTL1 |= XTS + XT2OFF;                       // ACLK = LFXT1 HF XTAL
    BCSCTL3 |= LFXT1S1;                       // 3 ?16MHz crystal or resonator
		
    do
    {
      	IFG1 &= ~OFIFG;                   // Clear OSCFault flag
      	for (ii1 = 0xFF; ii1 > 0; ii1--); // Time delay for flag to set
    }
    while ((IFG1 & OFIFG) == OFIFG);    // OSCFault flag still set?
    BCSCTL2 |= SELM1 + SELM0 + SELS;    //  MCLK = SMCLK = HF LFXT1 (safe)
}

//---------------delay(using DCO)---------------------------------------
void delay_ms(unsigned int n_ms)
{
    unsigned int ii1, ii0;
    for(ii0=n_ms; ii0>0; ii0--) 
	{
        ii1 = 0x07FF;                    // Delay
        do (ii1--);
        while (ii1 != 0);
    }
}

//---------------initialize system--------------------------------------
void Initialize(void)
{
	WDTCTL = WDTPW + WDTHOLD;
	SPI_Initialize();

	EN_Set;
	TRFDisable;
	delay_ms(1);
	TRFEnable;
	delay_ms(1);

	PARset(); 
	
        LED_Set;
        
    SetTRF();
    InitialTRF7960();
    OSCsel();
    EnableInterrupts; 
}

//---------------SPI send 1 byte data------------------------------------
void Put_byte(unsigned char abyte)
{
	//SlaveSelectLOW;
	UCB0TXBUF = abyte;
	//SlaveSelectHIGH;

}

//---------------operate the interrupt data------------------------------
void InterruptHandlerReader(unsigned char *Register)
{   
	if(*Register == 0xA0)// TX active and only 3 bytes left in FIFO 
		i_reg = 0x00;

	else if(*Register == BIT7)//no response interrupt
	{					/* TX complete */
		i_reg = 0x00;
		*Register = Reset;			/* reset the FIFO after TX */
		DirectCommand(Register);
    }	
 
 	else if(*Register == BIT6)
	{	/* RX flag means that EOF has been recieved */
		/* and the number of unread bytes is in FIFOstatus regiter */
		if(RXErrorFlag == 0x02)
		{
			i_reg = 0x02;
			return;
		}

		*Register = FIFOStatus;
		ReadSingle(Register, 1);					/* determine the number of bytes left in FIFO */
//                ReadCont(Register, 1);	
		*Register = (0x0F &*Register) + 0x01;
		buf[RXTXstate] = FIFO;			/* write the recieved bytes to the correct place of the*/
													
												
		ReadCont(&buf[RXTXstate], *Register);
		RXTXstate = RXTXstate +*Register;

		*Register = TXLenghtByte2;					/* determine if there are broken bytes */
	 //       ReadSingle(Register, 1);					/* determine the number of bits */
                  ReadCont(Register, 1);

		if((*Register & BIT0) == BIT0)
		{
			*Register = (*Register >> 1) & 0x07;	/* mask the first 5 bits */
			*Register = 8 -*Register;
			buf[RXTXstate - 1] &= 0xFF << *Register;
		}								/* if */


		*Register = Reset;				/* reset the FIFO after last byte has been read out */
		DirectCommand(Register);

		i_reg = 0xFF;					/* signal to the recieve funnction that this are the last bytes */
	}   

	else if(*Register & 0x60)
	{
        buf[RXTXstate] = FIFO;
		ReadCont(&buf[RXTXstate], 9);
		RXTXstate = RXTXstate + 9;

		if(irqPORT & irqPIN)
		{
			*Register = IRQStatus;
			ReadSingle(Register, 1);
			irqCLR;

			if(*Register == 0x40)
			{
				*Register = FIFOStatus;
				ReadSingle(Register, 1);
				*Register = 0x0F & (*Register + 0x01);//indicates how many bytes are loaded in FIFO were not read out yet
				buf[RXTXstate] = FIFO;

				ReadCont(&buf[RXTXstate], *Register);//read out the left bytes
				RXTXstate = RXTXstate + *Register;

				*Register = TXLenghtByte2;					/* determine if there are broken bytes */
				ReadSingle(Register, 1);					/* determine the number of bits */

				if((*Register & BIT0) == BIT0)
				{
					*Register = (*Register >> 1) & 0x07;	/* mask the first 5 bits */
					*Register = 8 -*Register;
					buf[RXTXstate - 1] &= 0xFF << *Register;
				}

				i_reg = 0xFF;			/* signal to the recieve funnction that this are the last bytes */
				*Register = Reset;		/* reset the FIFO after last byte has been read out */
				DirectCommand(Register);
			}
			else if(*Register == 0x50)
				i_reg = 0x02;
		}

		else
		{
			IrqReset();
			if(Register[0] == 0x00) //receive end
			i_reg = 0xFF;
		}
	}

	else if((*Register & BIT4) == BIT4)//CRC error
	{
		if((*Register & BIT5) == BIT5)
		{
			i_reg = 0x01;	/* RX active */
			RXErrorFlag = 0x02;
		}
		else
			i_reg = 0x02;
	}

	else if((*Register & BIT2) == BIT2)//Byte framing or EOF error
	{
		if((*Register & BIT5) == BIT5)
		{
			i_reg = 0x01;	/* RX active */
			RXErrorFlag = 0x02;
		}
		else
			i_reg = 0x02;
	}

	else if(*Register == BIT0)							/* No response interrupt */
		i_reg = 0x00;
	
	else
	{						/* Interrupt register not properly set */
		i_reg = 0x02;

		*Register = StopDecoders;	/* reset the FIFO after TX */
		DirectCommand(Register);

		*Register = Reset;
		DirectCommand(Register);

		IrqReset();
     	
		irqCLR;
	}
}


//-------------------external interrupt--------------------------------------
#pragma vector = PORT2_VECTOR
__interrupt void Port_B (void)		/* interrupt handler */
{
	unsigned char Register[4];
					
	do
	{
		irqCLR;						/* PORT2 interrupt flag clear */
		Register[0] = IRQStatus;
		Register[1] = IRQMask;
		ReadCont(Register, 2);
		if(*Register == 0xA0)
			__low_power_mode_off_on_exit();
             
		InterruptHandlerReader(&Register[0]);				
	}
	while((irqPORT & irqPIN) == irqPIN);
}

//----------------parallel interface initialize------------------------------
void PARset(void)
{
	EN_Set;
	TRFDirOUT;			/* P4 output */
	TRFFunc;
	TRFWrite = 0x00;	/* P4 set to 0 - choose parallel inteface for the TRF796x */

	clkOFF;
	clkPOUTset;			/* DATA_CLK on P1.2 */

	irqPINset;
	irqEDGEset;			/* rising edge interrupt */
}						

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久天堂av综合合色蜜桃网| 亚洲精品乱码久久久久久久久 | 日韩无一区二区| 在线播放一区二区三区| 欧美精品九九99久久| 91精品国产丝袜白色高跟鞋| 欧美一区午夜视频在线观看| 91精品国产乱码| 久久久亚洲精品一区二区三区| 久久久久国产精品麻豆ai换脸 | 日本一区二区三区免费乱视频 | 国产日韩精品久久久| 亚洲欧美在线高清| 亚洲国产日韩a在线播放性色| 午夜精品久久久久影视| 久久9热精品视频| 不卡影院免费观看| 97se亚洲国产综合自在线| 欧美日韩在线播放三区四区| 日韩欧美在线影院| 中文一区二区完整视频在线观看| 亚洲摸摸操操av| 青青草视频一区| zzijzzij亚洲日本少妇熟睡| 欧美三级在线播放| 国产亚洲美州欧州综合国| 国产精品妹子av| 日韩中文字幕不卡| 成人av在线资源网站| 91精品国产福利| 亚洲色图欧洲色图婷婷| 精品在线免费观看| 在线看日本不卡| 国产午夜一区二区三区| 伊人开心综合网| 国产成人欧美日韩在线电影| 欧美日韩国产综合一区二区三区 | 国产一区二区在线看| 色香蕉久久蜜桃| wwwwxxxxx欧美| 亚洲成a人片在线不卡一二三区| 丰满亚洲少妇av| 欧美一二三区精品| 亚洲成人免费电影| 99精品国产热久久91蜜凸| 日韩欧美二区三区| 亚洲成va人在线观看| www.欧美亚洲| 国产性做久久久久久| 久热成人在线视频| 色综合久久中文字幕| 国产欧美一区二区精品仙草咪| 视频在线观看国产精品| 91久久精品一区二区| 欧美激情一区在线观看| 国产精品资源在线| 欧美精品久久99| 亚洲午夜视频在线| 在线观看一区二区精品视频| 国产精品麻豆久久久| 国产精品一区不卡| 国产日韩欧美电影| 丁香亚洲综合激情啪啪综合| 日韩欧美国产精品| 激情都市一区二区| 日韩免费福利电影在线观看| 日韩精品五月天| 91麻豆精品国产自产在线| 亚洲电影欧美电影有声小说| 欧美日韩中文精品| 一区二区三区四区国产精品| 99久久er热在这里只有精品15| 国产视频一区二区在线| 国产毛片精品一区| 久久久久久久电影| 成人午夜电影网站| 久久久国产一区二区三区四区小说 | 日韩视频免费观看高清完整版在线观看 | 免费成人你懂的| 日韩丝袜美女视频| 日本三级亚洲精品| 日韩一级大片在线| 国产在线视频一区二区| 久久久久久久久久看片| 成人短视频下载| 中文字幕一区二区三区不卡| 成人激情动漫在线观看| 亚洲欧美电影院| 91精品国产欧美一区二区成人| 另类综合日韩欧美亚洲| 久久精品视频一区| 色网综合在线观看| 日av在线不卡| 日韩视频国产视频| 成人综合婷婷国产精品久久蜜臀 | 国产日韩精品一区二区三区在线| 成人污视频在线观看| 成人欧美一区二区三区白人| 欧美视频一区在线观看| 久久91精品国产91久久小草| 国产午夜亚洲精品不卡| 91福利视频久久久久| 看电影不卡的网站| 中文字幕综合网| 欧美tk—视频vk| 在线免费视频一区二区| 狠狠色综合播放一区二区| 综合欧美亚洲日本| 日韩亚洲欧美综合| 99精品国产视频| 精品一区二区免费看| 一区二区在线看| 中文乱码免费一区二区| 制服丝袜成人动漫| 一本久道久久综合中文字幕| 久久er精品视频| 亚洲综合色区另类av| 久久人人爽人人爽| 在线综合视频播放| 一本色道综合亚洲| 国模一区二区三区白浆| 亚洲小说欧美激情另类| 国产精品久久久久毛片软件| 欧美一二三在线| 欧美群妇大交群中文字幕| 不卡的av网站| 国产精品538一区二区在线| 蜜桃精品在线观看| 亚洲国产精品自拍| 亚洲视频一区在线观看| 久久久久久久综合| 欧美一级一区二区| 欧美三级视频在线播放| 99re66热这里只有精品3直播 | 亚洲444eee在线观看| 中文字幕日本不卡| 91精品蜜臀在线一区尤物| 成人视屏免费看| 国产一区二区伦理片| 免费一级片91| 免费视频最近日韩| 国产一区二区视频在线| 丁香网亚洲国际| thepron国产精品| 欧美在线观看视频一区二区 | 欧美高清一级片在线观看| 中文字幕精品一区二区精品绿巨人| 国产欧美视频在线观看| 中文字幕在线观看一区| 亚洲高清视频在线| 久久电影国产免费久久电影| 国产不卡视频在线观看| 色偷偷久久一区二区三区| 欧美日韩二区三区| 久久久久久免费网| 亚洲一区二区精品久久av| 久久精品国产亚洲5555| 成人免费毛片片v| 欧美日韩免费视频| 国产亚洲欧洲一区高清在线观看| 亚洲欧美一区二区三区孕妇| 丝袜诱惑亚洲看片| 成人一道本在线| 欧美伊人久久大香线蕉综合69| 欧美不卡一区二区三区四区| 一色屋精品亚洲香蕉网站| 五月婷婷综合网| 成人中文字幕电影| 欧美一级欧美一级在线播放| 久久久久久**毛片大全| 亚洲成a人片在线观看中文| 国产高清不卡二三区| 色噜噜狠狠一区二区三区果冻| 日韩欧美国产三级电影视频| 亚洲精选免费视频| 国内精品久久久久影院一蜜桃| 99热国产精品| 欧美成人一区二区三区在线观看| 亚洲精品视频自拍| 国产成人免费9x9x人网站视频| 欧美蜜桃一区二区三区 | 欧美三级资源在线| 国产精品伦理在线| 国产一区二区在线影院| 制服丝袜中文字幕一区| 亚洲欧美激情在线| 国产suv精品一区二区三区| 日韩欧美国产高清| 午夜日韩在线观看| 一本久久综合亚洲鲁鲁五月天 | 精品国产伦一区二区三区观看方式 | 午夜精品久久久久久久99樱桃| 国产mv日韩mv欧美| 久久夜色精品一区| 精品一区二区影视| 欧美一区二区在线观看| 亚洲国产精品一区二区久久恐怖片| 97久久超碰国产精品| 欧美韩日一区二区三区四区| 极品尤物av久久免费看|