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

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

?? 2401a.c

?? 射頻識別利用nrf 2401芯片實現收發功能
?? C
字號:
#include "msp430x12x2.h"
#include "timer.h"
#include  "flash.h"
/*pin connection description
CE   P1.3		out
CS   P1.2		out
DR1	 P1.0		in	  *****
CLK1 P2.4		out       *****
DATA P2.3		inout,  defaut is out     *****
POWER P3.4              out
*/
struct RFConfig
{
unsigned char n;
unsigned char buf[15];
};
struct RFConfig RxTxConf =
{
15,
0xd0, 0xd0,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x66, 0x88, 0x88, 0x66,
0x83, 0x6f, 0x64
};
//設置包長為26個字節,第2通道接收地址為
//1通道當為接收時地址設為0x8866
//接收地址為32bit長,使能crc,16位
//只有接收通道1工作,ShockBurst模式,1 Mbps,16M晶陣
//輸出功率0dBm
//工作頻段2.45G,默認為發射模式

void intPORT()
{
	P1DIR = 0xfe;       //*********	
	P1SEL = 0x00;
	P1OUT = 0x00;
	
	P2DIR = 0xff;	
	P2SEL = 0x00;
	P2OUT = 0x00;
	
	P3DIR = 0xff;	
	P3SEL = 0x00;
        P3OUT = 0x00;
}
void powerUP2401A()
{
        P3OUT = 0x10;
        //power up,wait 3ms
        delayNms(4);
}
void powerOFF2401A()
{
        P3OUT = 0x00;
}
void setCE()
{
	P1OUT = P1OUT | 0x08;
}
void clrCE()
{
	P1OUT = P1OUT & 0xf7;
}
void setCS()
{
	P1OUT = P1OUT | 0x04;
}
void clrCS()
{
	P1OUT = P1OUT & 0xfb;
}
void setCLK1()
{
	P2OUT = P2OUT | 0x10;
}
void clrCLK1()
{
	P2OUT = P2OUT & 0xef;
}
void setDATA()
{
	P2OUT = P2OUT | 0x08;
}
void clrDATA()
{
	P2OUT = P2OUT & 0xf7;
}
void ReadDR1(unsigned char *state)
{
	if((P1IN & 0x01))
		*state = 1;
	else
		*state = 0;	
}
void ReadData(unsigned char *state)
{
	if((P2IN & 0x08))
		*state = 1;
	else
		*state = 0;	
}
void Nrf2401Send8bit(unsigned char data)
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		clrCLK1();
		if(data & 0x80)
			setDATA();
		else
			clrDATA();
		//Delay100us(1);
                //j++;
                //j++;
		setCLK1();
		//Delay100us(1);	
		data = data<<1;		
	}
	clrCLK1();
}
void Nrf2401Read8bit(unsigned char *data)
{
	unsigned char i,dat,buf;
	buf = 0;
	clrCLK1();
	for(i=0;i<8;i++)
	{
		setCLK1();
		//Delay100us(1);	
		buf = buf << 1;
		ReadData(&dat);
		if(dat == 1)
			buf = buf | 0x01;
		clrCLK1();
		//Delay100us(1);	
	}
	*data = buf;
}

void SetRxMode(void)
{
	setCS();
//	Delay100us(2000);
        delay300us();
        Nrf2401Send8bit(RxTxConf.buf[RxTxConf.n - 1] | 0x01);
	clrCS();
}
void SetTxMode(void)
{
	setCS();
//	Delay100us(2000);
        delay300us();
        Nrf2401Send8bit(RxTxConf.buf[RxTxConf.n - 1]);
	clrCS();
}

void Nrf2401Config( )
{
	unsigned char i;
       // unsigned char *Flash_ptr;
	//使能配置
	setCS();
//	Delay100us(2000);
        delay300us();
        //從flash中讀取功率系數
       *Flash_ptr = (unsigned char *) 0x1000;
        i = *Flash_ptr++;
        RxTxConf.buf[8] = i;
        i = *Flash_ptr++;
        RxTxConf.buf[9] = i;
        i = *Flash_ptr++;
        RxTxConf.buf[10] = i;
        i = *Flash_ptr++;
        RxTxConf.buf[11] = i;
        i = *Flash_ptr++;
        RxTxConf.buf[13] = 0x6c | (i & 0x3);
       //發送配置數據
	for(i=0;i<RxTxConf.n;i++)
	{
		Nrf2401Send8bit(RxTxConf.buf[i]);
	}
	//結束配置
	clrCS();
}

void Nrf2401TX(unsigned char * data,unsigned char *adr)
{
	unsigned char i;
	setCE();
//	Delay100us(2000);
        delay300us();
        //發送地址
	for(i=0; i<4; i++)
	{
		Nrf2401Send8bit(adr[i]);
	}
	//發送數據
	for(i=0; i<26; i++)
	{
		Nrf2401Send8bit(data[i]);
	}
	clrCE();
}
//接受定長的數據,長度在初始化時確定
//接收之前需要事先設定接收模式
void Nrf2401RX(unsigned char * data)
{
	unsigned char i,state;
        unsigned int count;
	i=0;
	//設置data為輸入腳
	//P2DIR = P2DIR & 0xf7;
        P2DIR = 0xf7;
	setCE();
//	Delay100us(2000);
        delay300us();
        //等待有效數據到來
	do{
                count ++;
		ReadDR1(&state);
                delayNms(100);
                if(count == 3000)
                  return;
	}while(state == 0x00);
	//讀取數據(數據個數必須是字節的整數倍)	
	do{
		Nrf2401Read8bit(&data[i]);
		i++;
		ReadDR1(&state);
	}while(state == 0x01);
	//重新設置data為輸出腳
	//P2DIR = P2DIR | 0x08;
        P2DIR = 0xff;
	clrCE();
}
//接受定長的數據,長度在初始化時確定
//接收之前需要事先設定接收模式
unsigned char Nrf2401RXDelay(unsigned char * data)
{
	unsigned char i,state;
        unsigned int count;
	i=0;
        count = 0;
	//設置data為輸入腳
	//P2DIR = P2DIR & 0xf7;
        P2DIR = 0xf7;
	setCE();
//	Delay100us(2000);
        delay300us();

        //等待有效數據到來
	do{
                count++;
		ReadDR1(&state);
                delayNms(1);
                if(count == 100)
                  return(0);
	}while(state == 0x00);
	//讀取數據(數據個數必須是字節的整數倍)	
	do{
		Nrf2401Read8bit(&data[i]);
		i++;
		ReadDR1(&state);
	}while(state == 0x01);

	//重新設置data為輸出腳
	//P2DIR = P2DIR | 0x08;
        P2DIR = 0xff;
	clrCE();
        return(1);
}
//測試主程序
void testRF()
{
	unsigned char adr[4]={0x66,0x88,0x88,0x66};		//要讀取的卡號
	unsigned char tdata[26];	//發送到卡的數據
//	unsigned char rdataPC[20];	
	unsigned char i;
	Nrf2401Config();
        for(i=0; i<26; i++)
        {
           tdata[i] = i;
        }
        //循環發送數據
	while(1)
	{
           Nrf2401TX(tdata,adr);
            for(i=0; i<26; i++)
            {
               tdata[i] = tdata[i] + 26;
            }

//           SetRxMode();
//           Nrf2401RX(tdata);
          delayNms(20);
            P3OUT = P3OUT ^ 0x20;
        }
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
4438成人网| 国产精品电影一区二区| 久久综合网色—综合色88| 国产精品国产成人国产三级 | 久久99精品视频| 成人av网址在线| 欧美r级在线观看| 午夜久久久久久久久| aaa欧美大片| 国产午夜精品久久久久久免费视| 天堂蜜桃91精品| 欧美日韩一区中文字幕| 中文字幕一区二区三中文字幕| 韩国欧美国产1区| 日韩一区二区三| 亚洲国产精品精华液网站| 91蝌蚪porny九色| 中文字幕一区二区三区视频| 高清不卡一二三区| 久久久综合精品| 国产精华液一区二区三区| 精品国产一区二区三区忘忧草| 麻豆国产欧美日韩综合精品二区| 欧美日韩精品系列| 亚洲bt欧美bt精品777| 欧美日韩国产综合久久| 亚洲最大的成人av| 色激情天天射综合网| 18欧美乱大交hd1984| 成人av电影免费在线播放| 国产精品久久久久影院亚瑟| 成人国产精品视频| 亚洲色图一区二区三区| 在线一区二区观看| 日韩主播视频在线| 91麻豆精品国产91久久久 | 国产精品美女久久久久久久久| 国产真实乱偷精品视频免| 久久蜜臀精品av| 国产91精品露脸国语对白| 国产精品午夜春色av| 91视频国产观看| 午夜精品久久久久久久久久| 日韩一区二区三区四区| 国产精品一区在线| 亚洲色图欧美激情| 91国偷自产一区二区开放时间 | 欧美日韩精品一区二区三区四区 | 成人性生交大片免费看中文| 中文字幕av资源一区| 色婷婷综合久色| 亚洲成人三级小说| 久久综合九色综合久久久精品综合 | 精久久久久久久久久久| 欧美国产日韩a欧美在线观看| 99国产精品久久久久久久久久久| 一区二区日韩av| 日韩三级中文字幕| 成人激情电影免费在线观看| 亚洲电影第三页| 国产亚洲午夜高清国产拍精品| 99国产精品久久久久久久久久久 | 亚洲久草在线视频| 制服丝袜中文字幕亚洲| 国产毛片一区二区| 亚洲一区二区四区蜜桃| 久久综合色播五月| 欧美三级在线视频| 高清国产午夜精品久久久久久| 一级特黄大欧美久久久| 精品国产露脸精彩对白| 欧美自拍丝袜亚洲| 国产成人在线色| 亚洲一区二区在线免费看| 久久久高清一区二区三区| 欧美色图激情小说| 国产69精品久久久久毛片| 五月综合激情网| 1024成人网色www| 日韩免费性生活视频播放| 在线亚洲高清视频| 成人永久免费视频| 国产在线视频一区二区| 亚洲国产欧美日韩另类综合| 欧美激情艳妇裸体舞| 欧美顶级少妇做爰| 色综合网色综合| 福利一区二区在线观看| 久久精品99国产精品日本| 亚洲免费成人av| 国产精品欧美极品| 亚洲精品一区二区精华| 制服丝袜在线91| 欧美视频一区在线| 色综合天天狠狠| 成人黄色av网站在线| 国产精品99久久久久久久vr | 91麻豆精品国产91久久久更新时间 | 99re8在线精品视频免费播放| 黑人巨大精品欧美黑白配亚洲| 亚洲1区2区3区视频| 一区二区三区久久久| 亚洲欧美色一区| 亚洲日本中文字幕区| 国产精品高清亚洲| 中文字幕的久久| 中文字幕va一区二区三区| 欧美国产日韩亚洲一区| 亚洲国产精品黑人久久久| 国产午夜亚洲精品不卡| 欧美激情一二三区| 国产精品欧美久久久久一区二区 | 日韩精品电影一区亚洲| 午夜精品久久久久久久久久久| 亚洲影视资源网| 亚瑟在线精品视频| 亚洲动漫第一页| 日韩高清在线不卡| 老司机精品视频一区二区三区| 免费精品视频在线| 国产精品一品视频| 不卡视频免费播放| 日本大香伊一区二区三区| 欧美美女一区二区在线观看| 91精品国产美女浴室洗澡无遮挡| 欧美日韩国产一区二区三区地区| 欧美裸体一区二区三区| 日韩精品中文字幕在线一区| 26uuu亚洲| 国产精品高潮呻吟久久| 亚洲精品中文在线影院| 婷婷中文字幕综合| 激情久久久久久久久久久久久久久久| 国产资源在线一区| 91丝袜美腿高跟国产极品老师 | 色偷偷88欧美精品久久久| 欧美日韩一区中文字幕| 精品免费国产一区二区三区四区| 国产无遮挡一区二区三区毛片日本| 国产精品日日摸夜夜摸av| 亚洲成人一区二区在线观看| 久久99精品一区二区三区| 成人av电影在线网| 欧美区视频在线观看| 久久精品一区四区| 亚洲永久精品国产| 韩国视频一区二区| 一本色道久久综合狠狠躁的推荐| 91麻豆精品国产自产在线 | 久草精品在线观看| av一区二区三区黑人| 欧美唯美清纯偷拍| 久久精品人人做人人爽人人| 亚洲一区二区三区小说| 国产一区二区不卡在线 | 亚洲综合一二区| 国产精品一区二区在线观看不卡| 欧美在线视频全部完| 2023国产精品| 亚洲丶国产丶欧美一区二区三区| 国产乱人伦精品一区二区在线观看 | 白白色亚洲国产精品| 日韩情涩欧美日韩视频| 亚洲精品va在线观看| 国产不卡视频在线观看| 日韩精品在线网站| 亚洲黄色免费网站| 国产成人av网站| 精品欧美黑人一区二区三区| 亚洲一区在线观看免费 | 精品处破学生在线二十三| 亚洲资源中文字幕| 99久久99久久精品国产片果冻| 欧美刺激脚交jootjob| 亚洲地区一二三色| 94-欧美-setu| 国产日韩v精品一区二区| 久久国产生活片100| 3atv在线一区二区三区| 一区二区三区中文字幕| 99r国产精品| 久久无码av三级| 精品一区二区av| 日韩女优电影在线观看| 免费人成精品欧美精品| 欧美日韩在线一区二区| 亚洲欧洲制服丝袜| 99久久久免费精品国产一区二区| 久久精品综合网| 国产乱码精品1区2区3区| 亚洲精品在线一区二区| 国产一区二区视频在线| 久久综合色综合88| 国产精品一区二区无线| 欧美大尺度电影在线| 激情综合色综合久久综合| 欧美xxxx老人做受| 国产美女娇喘av呻吟久久| 久久久久国产精品麻豆ai换脸| 国产精品一区在线观看乱码|