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

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

?? main.c

?? arm經典實驗源程序 (四) 4
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:			Chenxibing
** Modified date:		2005-02-03
** Version:
** Descriptions:        SSP作SPI主機,SPI作從機,通信實驗。
**                      如果數據傳輸正確,LED1閃爍,否則LED2點亮。
********************************************************************************************************/
#include  "config.h" 

#define   SLAVE_CS       1 << 29      	// P0.29口為SPI為從機的選擇控制引腳
#define   LED1           1 << 18     	// P1.18控制LED1
#define   LED2           1 << 19     	// P1.19控制LED2

volatile uint8 	RcvData;				// 接收到的數據
volatile uint8 	RcvFlag;				// 接收到新數據標志

/*
*********************************************************************************************************
** 函數名稱:SPI_IRQ()
** 函數功能:SPI中斷服務函數
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void __irq SPI_IRQ(void)
{
	uint32 tmp;
	
    tmp = SPSR;							// SPI讀取數據寄存器之前,必須先讀SPSR寄存器,清零SPIF位。
    RcvData = SPDR;                    	// 接收數據
    RcvFlag = 0x01;						// 接收到新數據
    SPINT  = 0x01;                     	// 清除標志位
    
    VICVectAddr = 0x00;
} 


/*
*********************************************************************************************************
** 函數名稱:DelayNS()
** 函數功能:長軟件延時
** 入口參數:dly	延時參數,值越大,延時越久
** 出口參數:無
*********************************************************************************************************
*/
void  DelayNS(uint32  dly)
{  
    uint32  i;

    for(; dly>0; dly--) 
        for(i=0; i<50000; i++);
}

/*
*********************************************************************************************************
** 函數名稱 :SPI_Init()
** 函數功能 :初始化SPI接口,設置為從機。
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void  SPI_Init(void)
{  
	S0PCR  = (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 = 1, SPI 中斷被使能
}

/*
*********************************************************************************************************
** 函數名稱 :SSP_Init()
** 函數功能 :將SSP控制器初始化SPI接口,設置為主機。
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void  SSP_Init(void)
{
    SSPCR0 = (0x01 << 8) |              // SCR  設置SPI時鐘分頻
             (0x00 << 7) |              // CPHA 時鐘輸出相位,僅SPI模式有效 
             (0x01 << 6) |              // CPOL 時鐘輸出極性,僅SPI模式有效
             (0x00 << 4) |              // FRF  幀格式 00=SPI,01=SSI,10=Microwire,11=保留
             (0x07 << 0);               // DSS  數據長度,0000-0010=保留,0011=4位,0111=8位,1111=16位

    SSPCR1 = (0x00 << 3) |              // SOD  從機輸出禁能,1=禁止,0=允許
             (0x00 << 2) |              // MS   主從選擇,0=主機,1=從機
             (0x01 << 1) |              // SSE  SSP使能,1=允許SSP與其它設備通信
             (0x00 << 0);               // LBM  回寫模式
             
    SSPCPSR = 0x92;                     // PCLK分頻值
   // SSPIMSC = 0x07;                     // 中斷屏蔽寄存器
    SSPICR  = 0x03;                     // 中斷清除寄存器   
}

/*
*********************************************************************************************************
* 函數名稱:SSP_SendData()
* 函數功能:SSP接口向SPI總線發送數據。
* 入口參數:data        待發送的數據
* 出口參數:返回值為讀取的數據
*********************************************************************************************************
*/

uint8  SSP_SendData(uint8 data)
{  
    IO0CLR = SLAVE_CS;			        // 選擇從機   
    SSPDR = data;
    while( (SSPSR & 0x01) == 0 );	    // 等待TFE置位,即發送FIFO空   
    //IO0SET = SLAVE_CS;				// 不能在此拉高片選,否則出現從機中止				
    return(SSPDR);
}


/*
*********************************************************************************************************
** 函數名稱:main()
** 函數功能:SPI從機演示實驗。 
*********************************************************************************************************
*/
int main (void)
{  
    uint8  rcv_data; 
    uint8  i; 
	
    PINSEL0 = 0x00005500;			            // 設置SPI0管腳連接
    PINSEL1 = 0x000002A8;                       // 設置SSP管腳連接
    PINSEL2 = PINSEL2 & (~0x08);				// P1[25:16]連接GPIO
    IO0DIR  = SLAVE_CS;							// 從機片選
    IO0SET  = SLAVE_CS;							// 先設置從機片選無效
    IO1DIR  = LED1 | LED2;						// LED控制口
    IO1SET  = LED1 | LED2;

	IRQEnable();								// IRQ中斷使能
	
    SPI_Init();					                // 初始化SPI接口
    SSP_Init();                                 // 初始化SSP接口
    
    VICIntSelect = 0x00000000;          		// 設置所有中斷為IRQ
    VICVectCntl0 = (0x20 | 10);         		// SPI中斷為最高優先級
    VICVectAddr0 = (int32)SPI_IRQ;        		// 設置中斷向量地址
    VICIntEnable = (1 << 10);           		// 允許SPI中斷

    while(1)	
    {  
        for(i = 0; i < 8; i++)
        {
 			RcvFlag = 0;						// 清除接收到新數據標志
            rcv_data = SSP_SendData(i);  		// 發送數據
            DelayNS(100);	                    // 延時
           	if(RcvFlag != 0)                    // 如果接收到新數據
       	    {
       	    	if(RcvData == i)
       	   	 	{	/* 接收的數據是否與發送的數據相同,LED1閃爍 */
        			IO1SET = LED2;				// 接收正確的時候LED2熄滅
       	     		IO1CLR = LED1;
       	     		DelayNS(10);
       	     		IO1SET = LED1;
       	    	}
       	    		/* 數據錯誤,LED1一直點亮 */
       	    	else IO1CLR = LED2;
       	    }
        } // end for
    } // end while
 
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线免费观看| 一区二区三区在线免费观看| 亚洲女厕所小便bbb| 日本成人在线不卡视频| eeuss鲁片一区二区三区在线看 | 视频在线观看91| 不卡免费追剧大全电视剧网站| 欧美一区二区女人| 亚洲一区av在线| 99久久婷婷国产综合精品 | 精一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 99精品偷自拍| 国产精品九色蝌蚪自拍| 国产原创一区二区| www国产成人免费观看视频 深夜成人网| 亚洲色图欧美偷拍| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 色婷婷av一区二区三区之一色屋| 国产视频一区在线播放| 精彩视频一区二区| 久久只精品国产| 国产精品乡下勾搭老头1| 精品国产不卡一区二区三区| 美女网站色91| 精品国产一区二区三区忘忧草| 日韩av一区二| 欧美大度的电影原声| 美女视频免费一区| 日韩美女视频一区二区在线观看| 日本aⅴ免费视频一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲午夜电影网| 欧美日本一区二区三区四区| 日韩精品五月天| 欧美一级在线观看| 国产最新精品免费| 日本一区免费视频| 91亚洲精品乱码久久久久久蜜桃 | 中文字幕一区二区三区不卡在线 | 欧美xxxxx牲另类人与| 激情图片小说一区| 亚洲国产精品传媒在线观看| www.日本不卡| 亚洲va中文字幕| 日韩精品在线看片z| 国产一区二区免费在线| 国产精品萝li| 欧美少妇xxx| 久久99精品国产.久久久久久| 久久久不卡网国产精品二区| 9色porny自拍视频一区二区| 亚洲国产综合91精品麻豆 | 欧美色电影在线| 精品综合久久久久久8888| 国产精品久久久久久一区二区三区| 91小宝寻花一区二区三区| 亚洲国产欧美日韩另类综合 | 日韩欧美成人一区二区| 福利91精品一区二区三区| 亚洲精品国产第一综合99久久| 4438x成人网最大色成网站| 紧缚奴在线一区二区三区| 国产精品日日摸夜夜摸av| 777午夜精品视频在线播放| 粉嫩在线一区二区三区视频| 亚洲大片一区二区三区| 国产偷国产偷亚洲高清人白洁| 色先锋久久av资源部| 久久精品国内一区二区三区| 亚洲色欲色欲www| 欧美成人一区二区三区片免费| 97aⅴ精品视频一二三区| 久久福利视频一区二区| 一区二区三区欧美视频| 国产欧美一区二区精品忘忧草| 欧美性大战久久久| k8久久久一区二区三区 | 色999日韩国产欧美一区二区| 日韩av电影免费观看高清完整版 | 亚洲欧洲三级电影| 日韩一区二区三区观看| 在线免费观看成人短视频| 国产成人在线看| 日韩精品电影在线| 一区二区三区自拍| 国产精品美日韩| 精品国产一区久久| 欧美日本一区二区在线观看| 99久久er热在这里只有精品66| 精品一二三四区| 日韩成人av影视| 亚洲午夜在线视频| 亚洲精品日日夜夜| 亚洲欧洲色图综合| 国产精品卡一卡二卡三| 久久久久久久久久久久久久久99 | 国产电影一区二区三区| 美女精品自拍一二三四| 婷婷综合在线观看| 天天综合天天综合色| 亚洲综合清纯丝袜自拍| 亚洲情趣在线观看| 18成人在线观看| 亚洲色图制服丝袜| 亚洲欧美区自拍先锋| 综合电影一区二区三区| 国产精品久久毛片a| 国产日韩欧美精品一区| 国产亚洲1区2区3区| 久久久久久一级片| 国产欧美在线观看一区| 国产精品美女久久福利网站| 国产欧美一区二区在线观看| 国产欧美一区二区三区在线看蜜臀 | 亚洲精品免费看| 日韩一区欧美一区| 亚洲精品精品亚洲| 亚洲国产日韩a在线播放性色| 午夜欧美在线一二页| 日韩 欧美一区二区三区| 爽好多水快深点欧美视频| 奇米影视7777精品一区二区| 免费成人在线视频观看| 国产精品资源站在线| 成人免费视频播放| 色婷婷av一区| 欧美一级欧美三级| 久久精品人人做人人综合| 中文字幕av在线一区二区三区| 亚洲色图欧美激情| 日韩经典中文字幕一区| 国产精品456露脸| 91在线无精精品入口| 欧美日韩一区二区在线观看视频 | 91久久久免费一区二区| 欧美日韩国产精品成人| 久久美女艺术照精彩视频福利播放 | 国产日韩亚洲欧美综合| 亚洲美女免费在线| 午夜精品爽啪视频| 麻豆中文一区二区| 99国产精品久久久久久久久久 | 欧美性受极品xxxx喷水| 538在线一区二区精品国产| 国产午夜一区二区三区| 亚洲午夜电影网| 成人在线一区二区三区| 欧美日韩日日骚| 国产欧美日韩另类视频免费观看| 亚洲网友自拍偷拍| 国产白丝网站精品污在线入口| 在线免费观看日韩欧美| 久久久久久久久久久99999| 怡红院av一区二区三区| 国产综合色视频| 欧美日韩国产片| 欧美激情中文不卡| 日本91福利区| 日本精品一级二级| 久久精品亚洲乱码伦伦中文| 香蕉av福利精品导航| 成人永久看片免费视频天堂| 欧美一区二区久久| 一区二区三区四区av| 成人免费视频网站在线观看| 欧美zozozo| 日韩国产在线观看| 欧美调教femdomvk| 中文字幕综合网| 国产一区二区91| 日韩精品一区二区三区四区| 亚洲国产精品一区二区久久恐怖片| 国产成人小视频| 欧美成人精品1314www| 午夜精品福利一区二区三区蜜桃| 国产盗摄视频一区二区三区| 精品国产不卡一区二区三区| 日韩影视精彩在线| 欧美日韩一二三区| 一级女性全黄久久生活片免费| 成人激情小说网站| 国产日韩欧美综合一区| 韩国成人精品a∨在线观看| 日韩欧美亚洲一区二区| 五月天国产精品| 3atv一区二区三区| 五月天久久比比资源色| 欧美影片第一页| 亚洲成av人综合在线观看| 在线观看欧美黄色| 一区二区三区四区蜜桃| 色哟哟国产精品| 一区二区三区四区亚洲| 在线中文字幕一区二区| 亚洲一区在线观看网站| 欧美日韩一区在线观看| 天天综合色天天| 欧美刺激午夜性久久久久久久| 美国毛片一区二区三区|