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

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

?? spi.c

?? SPI通訊協議的實現
?? C
字號:
#define SPI
#include "config.h"
/*
*********************************************************************************************************
** 函數名稱 :SPI0_Init()
** 函數功能 :SPI0接口初始化                            
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void SPI0_Init(void)
{
     uint8 cFlag;
	 
   	 PINSEL0 = (PINSEL0 & (~(0xFF << 8))) | (0x55 << 8) ;       // 設置管腳連接SPI  
     IO1DIR = IO1DIR | ARM7_SPI_INT ;                           // 設置中斷管腳方向
	 IO1SET = ARM7_SPI_INT;                                     // 關ARM7到ARM9的SPI中斷
	 SPCR  = (0 << 3) |				                            // CPHA = 0, 數據在SCK的第一個時鐘沿采樣
 			 (1 << 4) |				                            // CPOL = 1, SCK 為低有效
 			 (0 << 5) |				                            // MSTR = 0, SPI處于從模式
 			 (0 << 6) |				                            // LSBF = 0, SPI 數據傳輸MSB(位7)在先
 			 (1 << 7);				                            // SPIE = 0, SPI 中斷被禁止		                               
     IRQEnable();	                                            // 使能IRQ中斷
	 VICIntSelect = 0x00000000;		                            // 設置所有的通道為IRQ中斷
	 VICVectCntl0 = 0x20 | SPI0;		                        // SPI0分配到IRQ slot0
	 VICVectAddr0 = (uint32)IRQ_SPI0;	                        // 設置SPI0向量地址
	 VICIntEnable = VICIntEnable | (1 << SPI0);	                // 使能SPI0中斷	
	 cFlag = SPI_SPSR;                                          // 讀取狀態寄存器清除狀態標志
	 SPI_SPINT = 1;	                                            // 清除中斷標志
	 gbSPITxbusy = false;                                       // SPI0接收狀態  
	 gnSPIRxTotal = 0;                                          // SPI0接收數據長度清零
	 gnSPIRxCount = 0;                                          // SPI0接收數據計數器清零
	 
}
/*
*********************************************************************************************************
** 函數名稱 :IRQ_SPI0()
** 函數功能 :SPI0接收中斷
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void __irq IRQ_SPI0(void)				
{   
    uint8 cSPIFlag,cSPIData;
	
	SPI_SPINT = 1;                       // 清除SPI0中斷標志
    gcSPIComm = 0;                       // SPI0通訊超時計數
	if(!gbSPITxbusy)  // SPI0接收狀態
	{
	    if(gnSPIRxCount >= MAXBUFFERLEN-1)    // 長度合法性判斷		
		    gnSPIRxCount = 0;	              // 長度不合法清零
	
	    cSPIFlag = SPI_SPSR;                  // 讀取狀態字清除標志
	    SPIRxBuf[gnSPIRxCount++] = SPI_SPDR;  // 讀取SPI0數據寄存器
	    
	    if(SPIRxBuf[0]!=SPI_BOOT)            // 接收幀引導字節
			gnSPIRxCount = 0;                // 引導字節不合法清零
		if(gnSPIRxCount==2&&SPIRxBuf[1]!=CF_START)   // 接收幀前導字節
			gnSPIRxCount = 0;                        // 前導字節不合法清零
		if((SPIRxBuf[0]==0xab)&&(SPIRxBuf[1]==0x0f)) // 引導和前導都正確
		{
   	        if(gnSPIRxCount==4)   
	        {
	           gnSPIRxTotal = SPIRxBuf[3] << 8;
	           gnSPIRxTotal += SPIRxBuf[2];
               gnSPIRxTotal += 4;		
	        }
	        if(gnSPIRxCount==gnSPIRxTotal)
	        {
	           gbSPIFrameOK = true;   
	           gnSPIRxCount = 0;
            }
		}
	}
	else           // SPI0發送狀態
	{
	    cSPIFlag = SPI_SPSR;             // 讀取狀態字清除標志
	    cSPIData = SPI_SPDR;             // 讀取數據清除數據寄存器
		if(gnSPITxCount < gnSPITxTotal)
			SPI_SPDR = SPITxBuf[gnSPITxCount++];
		else
		{  
		    if(gnSPITxCount==4)
				
	           gbSPITxbusy = false;      // 置SPI0為接收狀態
		} 
	}
	VICVectAddr = 0x00;				     // 向量中斷結束
}
/*
*********************************************************************************************************
** 函數名稱 :SPI_Send()
** 函數功能 :SPI0中斷發送
** 入口參數 :nTxLen:發送數據長度
** 出口參數 :無
*********************************************************************************************************
*/
void SPI_Send(uint16 nTxLen)
{
    uint8 cSPIFlag;

    gnSPITxTotal = nTxLen+4;    // 發送總字節數
	gnSPITxCount = 1;
	SPITxBuf[0] = SPI_BOOT;      // 幀引導
	SPITxBuf[1] = CF_START;      // 幀前導
	memcpy(&SPITxBuf[2],(uint8 *)&nTxLen,2); 
	cSPIFlag = SPI_SPSR;      
	SPI_SPDR = SPITxBuf[0];    // 發送第一個字節
	IO1CLR = ARM7_SPI_INT;     // 觸發ARM9中斷
	IO1SET = ARM7_SPI_INT;
	gbSPITxbusy = true;        // SPI0發送狀態
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影免费在线播放| 亚洲尤物在线视频观看| 无码av中文一区二区三区桃花岛| av一区二区三区在线| 成人欧美一区二区三区1314| 国产福利不卡视频| 中文字幕不卡在线| av一区二区三区在线| 日韩高清国产一区在线| 欧美一区二区精品| 视频一区二区三区中文字幕| 91精品国产91久久久久久一区二区| 国产suv精品一区二区6| 国产精品福利电影一区二区三区四区| 波多野结衣在线aⅴ中文字幕不卡| 日韩成人伦理电影在线观看| 亚洲欧美日韩中文字幕一区二区三区| 91福利在线看| 天堂蜜桃91精品| 亚洲日韩欧美一区二区在线| 欧美精品一二三| 久久精品国产99国产| 中文字幕不卡的av| 精品国产自在久精品国产| 国产高清精品久久久久| 男人操女人的视频在线观看欧美 | www.欧美亚洲| 国内成人自拍视频| 国产精品美女久久福利网站| 日本丶国产丶欧美色综合| 成人免费毛片嘿嘿连载视频| 亚洲无人区一区| 日韩精品一区二区三区在线观看| 豆国产96在线|亚洲| 精品一区二区免费在线观看| 亚洲欧美日韩在线| 亚洲天堂中文字幕| 国产精品传媒视频| 日韩美女视频一区二区| 国产精品久久久久一区二区三区共| 久久天天做天天爱综合色| 91视视频在线观看入口直接观看www | 秋霞影院一区二区| 三级欧美韩日大片在线看| 亚洲成在线观看| 国产日韩在线不卡| 欧美三级电影在线看| 黄页视频在线91| 国产一区二区三区香蕉 | 五月婷婷色综合| 色妞www精品视频| 裸体健美xxxx欧美裸体表演| 亚洲欧美aⅴ...| 亚洲黄色片在线观看| 欧美国产一区在线| 中文字幕一区二区三区在线播放| 中文字幕日韩欧美一区二区三区| 亚洲视频精选在线| 夜色激情一区二区| 中文字幕亚洲视频| 亚洲自拍偷拍综合| 天堂一区二区在线| 国产九九视频一区二区三区| 日日夜夜免费精品| 激情都市一区二区| 成a人片亚洲日本久久| 色综合天天综合网国产成人综合天| 精品综合久久久久久8888| 国产精品一区专区| 99久久精品免费| 成人精品国产福利| 欧美一a一片一级一片| 色又黄又爽网站www久久| 欧美巨大另类极品videosbest| 日韩欧美高清dvd碟片| 国产精品美女久久久久久久久| 夜夜精品浪潮av一区二区三区| 日精品一区二区三区| 国产精品资源网| 日本韩国视频一区二区| 日韩欧美激情在线| 亚洲日本va午夜在线电影| 日本强好片久久久久久aaa| 国产传媒久久文化传媒| 色88888久久久久久影院野外 | 亚洲第一成年网| 国产乱色国产精品免费视频| 日本福利一区二区| 久久这里只有精品视频网| 亚洲人成伊人成综合网小说| 久久精品国产99国产| 91在线码无精品| 精品少妇一区二区三区视频免付费 | 色视频欧美一区二区三区| 日韩精品一区二区三区在线| 亚洲欧洲综合另类| 国产综合色视频| 欧美体内she精高潮| 久久精品这里都是精品| 欧美极品xxx| 奇米影视7777精品一区二区| 不卡一区二区中文字幕| 日韩欧美中文字幕一区| 久久久久青草大香线综合精品| 国产欧美一二三区| 全国精品久久少妇| 欧美丝袜第三区| 中文字幕欧美一区| 国产美女精品人人做人人爽| 欧美丰满高潮xxxx喷水动漫| 亚洲同性同志一二三专区| 国产精品99久久久久久似苏梦涵| 欧美理论片在线| 亚洲一区二区四区蜜桃| 97久久精品人人做人人爽| 久久久国产精华| 国模少妇一区二区三区| 欧美精品久久99久久在免费线| 亚洲黄色在线视频| 91丨porny丨最新| 国产精品久久久久久久久动漫 | 蜜桃久久久久久| 欧美视频自拍偷拍| 一区二区三区四区亚洲| av在线不卡免费看| 中文字幕制服丝袜一区二区三区 | 国产精品久久久99| 国产精品 日产精品 欧美精品| 日韩欧美一区在线| 日本女人一区二区三区| 3d动漫精品啪啪| 国产欧美一区二区精品性色超碰| 久久99国产精品尤物| 精品欧美一区二区三区精品久久| 亚洲福利视频一区| 欧美人牲a欧美精品| 国产日韩欧美a| 国产成人aaaa| 国产精品你懂的在线| 国产成人久久精品77777最新版本| 2014亚洲片线观看视频免费| 久久99精品国产麻豆婷婷| 精品少妇一区二区三区日产乱码| 久久精品72免费观看| 2021中文字幕一区亚洲| 国产麻豆精品一区二区| 国产日产欧美一区| 波波电影院一区二区三区| 亚洲男人的天堂一区二区| 欧美亚洲自拍偷拍| 日韩电影网1区2区| 欧美mv和日韩mv国产网站| 国产成人自拍网| 亚洲色图视频免费播放| 欧美视频一区在线观看| 日韩黄色免费网站| 2017欧美狠狠色| 91麻豆免费视频| 舔着乳尖日韩一区| 精品捆绑美女sm三区| 成人午夜免费av| 一区二区三区四区蜜桃| 91 com成人网| 国产成人综合视频| 一区二区三区在线免费视频 | 精品久久一区二区| 成人精品国产免费网站| 亚洲妇女屁股眼交7| 精品国产免费一区二区三区四区 | 9i在线看片成人免费| 一区二区三区波多野结衣在线观看 | 国产成人免费视频网站| 亚洲视频精选在线| 欧美一级在线免费| 成人av片在线观看| 日韩成人免费电影| 国产精品久久久久一区二区三区共| 欧美日韩性生活| 国产精品乡下勾搭老头1| 一级精品视频在线观看宜春院| 欧美大肚乱孕交hd孕妇| 97久久人人超碰| 国产制服丝袜一区| 亚洲超碰精品一区二区| 欧美经典一区二区| 777色狠狠一区二区三区| 成人午夜视频网站| 麻豆成人免费电影| 亚洲综合一区在线| 久久久久久久久久看片| 欧美日韩你懂得| 成人少妇影院yyyy| 久久精品国产网站| 洋洋av久久久久久久一区| 久久久久久久电影| 91精品福利在线一区二区三区| 91色porny蝌蚪| 国产成人丝袜美腿| 日韩福利电影在线观看| 一区二区三区色|