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

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

?? at45db161d.c

?? 基于ARM7處理器的中斷與串口在ucos下切換的演示程序
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               
**
**--------------File Info-------------------------------------------------------------------------------
*/

/********************************************************************************************************************
** 函數(shù)名稱: void SPI_Delay()						Name:	  void SD_SPIDelay()
** 功能描述: SPI總線延時							Function: SPI Bus delay 
** 輸   入: INT8U value: 延時值,不超過255		    Input:	  INT8U value : delay value,do not beyond 255
** 輸   出: 無										Output:	  NULL
*********************************************************************************************************************/
#include  "config.h"

void SPI_Delay(INT8U value)
{
    INT8U i;

    for (i = 0; i < value; i++)
        SPI_SendByte(0xFF);						 	/* 發(fā)送0xFF clock out 0xFF */
}

/*******************************************************************************************************************
** 函數(shù)名稱: void SPI_Clk400k()					Name:	  void SPI_Clk400k()
** 功能描述: 設(shè)置SPI的時鐘小于400kHZ			Function: set the clock of SPI less than 400kHZ
** 輸   入: 無									Input:	  NULL
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void SPI_Clk400k(void)
{
	SPI_SPCCR = 128;    						/* 設(shè)置SPI時鐘分頻值為128  Set the value of dividing frequency to 128 */
}


/*******************************************************************************************************************
** 函數(shù)名稱: void SPI_ClkToMax()				Name:	  void SPI_ClkToMax()
** 功能描述: 設(shè)置SPI的clock到最大值				Function: set the clock of SPI to maximum
** 輸   入: 無									Input:	  NULL
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void SPI_ClkToMax(void)
{
	SPI_SPCCR = 8;								/* 設(shè)置SPI時鐘分頻值為8  Set the value of dividing frequency to 8 */
}


/*******************************************************************************************************************
** 函數(shù)名稱: void SPI_SendByte()				Name:	  void SPI_SendByte()
** 功能描述: 通過SPI接口發(fā)送一個字節(jié)			Function: send a byte by SPI interface
** 輸   入: INT8U byte: 發(fā)送的字節(jié)				Input:	  INT8U byte: the byte that will be send
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void SPI_SendByte(INT8U byte)
{
	INT8U temp;

	SPI_SPDR = byte;							/* 發(fā)送數(shù)據(jù)放入SPI數(shù)據(jù)寄存器 */
   
	while(0 == (SPI_SPSR & 0x80));				/* 等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢 */
												/* wait for SPIF being set, that is, wait for finishing of data being send */
 	temp = SPI_SPDR;
}


/*******************************************************************************************************************
** 函數(shù)名稱: INT8U SPI_RecByte()				Name:	  INT8U SPI_RecByte()
** 功能描述: 從SPI接口接收一個字節(jié)				Function: receive a byte from SPI interface
** 輸   入: 無									Input:	  NULL
** 輸   出: 收到的字節(jié)							Output:	  the byte that be received
********************************************************************************************************************/
INT8U SPI_RecByte(void)
{
	SPI_SPDR = 0xFF;
   
 	while(0 == (SPI_SPSR & 0x80));				/* 等待SPIF置位,即等待收到數(shù)據(jù) */
												/* wait for SPIF being set, that is, wait for being received data */
	return(SPI_SPDR); 							/* 讀取收到的字節(jié) read the byte received */
}



/*******************************************************************************************************************
** 函數(shù)名稱: void SPI_CS_Assert()				Name:	  void SPI_CS_Assert()
** 功能描述: 片選SPI從機						Function: select the SPI slave 
** 輸   入: 無									Input:	  NULL
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void SPI_CS_Assert(void)
{
	SPI_CS_CLR();			   					/* 片選SPI從機  select the SPI slave */  
}


/*******************************************************************************************************************
** 函數(shù)名稱: void SPI_CS_Deassert()				Name:	  void SPI_CS_Deassert()
** 功能描述: 不片選SPI從機						Function: not select the SPI slave 
** 輸   入: 無									Input:	  NULL
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void SPI_CS_Deassert(void)
{
	SPI_CS_SET();			    				/* 不片選SPI從機  not select the SPI slave */
}


/*******************************************************************************************************************
** 函數(shù)名稱: void DataFlash_HardWareInit()				Name:	  void SD_HardWareInit()
** 功能描述: 初始化訪問SD卡的硬件條件			Function: initialize the hardware condiction that access sd card
** 輸   入: 無									Input:	  NULL
** 輸   出: 無									Output:	  NULL
********************************************************************************************************************/
void DataFlash_HardWareInit(void)
{ 
	
	
	SPI_INIT();									/* 初始化SPI接口      initialize SPI interface */	

	SPI_RESET_GPIO();
	SPI_WP_GPIO();
	SPI_CS_GPIO();

	SPI_RESET_OUT();

	SPI_CS_OUT();

	SPI_WP_OUT();

    SPI_RESET_CLR();

    delay(1);

	SPI_RESET_SET();

	SPI_WP_SET();
		   
   	SPI_CS_SET();								/* CS置高	  				  set CS to high voltage */

 	SPI_Clk400k();								/* 設(shè)置SPI頻率小于等于400kHZ  set frequency of SPI below 400kHZ */
   
 	SPI_SPCR = (0x01 << 4) + (0x01 << 5);		/* 設(shè)置SPI接口模式,MSTR = 1,CPOL = 1,CPHA = 0,LSBF=0 */
}		

unsigned char DataFlash_ReadStatus(void)
{
    unsigned char temp;

	SPI_WP_SET();
	SPI_CS_CLR();

	SPI_SendByte(0xD7);

	
    temp = SPI_RecByte();
	

	SPI_CS_SET();

	return temp;
}

//判斷FLASH是否正忙,忙為1,準(zhǔn)備好為0
unsigned char DataFlash_isBusy(void)
{ 

    unsigned char temp;

	
	SPI_CS_CLR();

	SPI_SendByte(0xD7);	

	temp = SPI_RecByte();

	SPI_CS_SET();

	if (temp & 0x80)
	{
        return 0;
	}
	else
	{
        return 1;
	}
}

//頁擦除512
void Block_Erase(unsigned long Dst)
{
	SPI_CS_CLR();			/* enable device */
	SPI_SendByte(BLOCK_ERASE);		/* send WREN command */
	
	SPI_SendByte((char)(Dst>>3));
    SPI_SendByte((char)(Dst<<5));
    SPI_SendByte(0x00);
	SPI_CS_SET();
}

//編程一個頁512
void Block_Program(unsigned char * dat,unsigned int num,unsigned int startpage,unsigned int startaddr)
{
    int i;
	
	SPI_CS_CLR();
	SPI_SendByte(MM_PAGE_PROG_THROUGH_B2);
	SPI_SendByte((char)(startpage>>6));
	SPI_SendByte((char)((startpage <<2)|(startaddr >>8)));
	SPI_SendByte((char)(startaddr));
	for(i=0;i<num;i++)
	{
       SPI_SendByte((unsigned char)*(dat+i));
	}
	SPI_CS_SET();

}

//讀一個頁512
void Block_Read(unsigned char *dat,unsigned int num,unsigned int startpage,unsigned int startaddr)
{
    int i;

	SPI_CS_CLR();
	SPI_SendByte(0x03);
	SPI_SendByte((char)(startpage>>6));
	SPI_SendByte((char)((startpage <<2)|(startaddr >>8)));
	SPI_SendByte((char)(startaddr));
	for (i=0;i<num;i++)
	{
       *(dat+i)=SPI_RecByte();
	}
	SPI_CS_SET();

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美高清| 亚洲午夜免费福利视频| 日本韩国视频一区二区| 精品午夜久久福利影院| 天堂久久一区二区三区| 午夜日韩在线电影| 性做久久久久久免费观看| 一区二区欧美国产| 亚洲一区二区三区美女| 亚洲成a人v欧美综合天堂下载 | 91麻豆免费看片| 91亚洲精华国产精华精华液| 91丨九色丨国产丨porny| 99国内精品久久| 91同城在线观看| 欧美三级欧美一级| 日韩欧美区一区二| 精品国产青草久久久久福利| 日韩欧美一级特黄在线播放| 5月丁香婷婷综合| xnxx国产精品| 一区免费观看视频| 亚洲成av人片www| 香蕉久久一区二区不卡无毒影院 | 91视频精品在这里| 91日韩在线专区| 欧美日韩国产三级| 精品国产91乱码一区二区三区 | 成人免费小视频| 污片在线观看一区二区| 狠狠色2019综合网| 国产成人亚洲综合a∨婷婷 | 亚洲男帅同性gay1069| 欧美成人免费网站| 在线播放视频一区| 久久久精品综合| 一区二区成人在线| 国产精品一区二区男女羞羞无遮挡| 成人av电影在线观看| 日本高清视频一区二区| 日本道精品一区二区三区| 欧美日韩电影在线播放| 国产精品视频一二| 蜜臀av一区二区在线免费观看| 波多野结衣精品在线| 欧美一区二区高清| 亚洲黄色录像片| 国产91色综合久久免费分享| 91精品一区二区三区久久久久久| 国产精品视频线看| 国产一区在线观看视频| 欧美日韩国产乱码电影| 国产精品毛片无遮挡高清| 免费人成网站在线观看欧美高清| 91女人视频在线观看| 国产午夜精品理论片a级大结局 | 精品日韩欧美在线| 亚洲成人免费视| 91免费小视频| 国产精品久久久久毛片软件| 国产一区二区三区电影在线观看| 色琪琪一区二区三区亚洲区| 国产欧美日韩久久| 日韩av电影天堂| 欧美久久久久久久久中文字幕| 亚洲欧洲成人自拍| www.在线欧美| 欧美激情中文字幕| 国产高清在线精品| 久久久久久9999| 国产美女在线观看一区| 亚洲精品一区二区三区蜜桃下载 | 亚洲成av人**亚洲成av**| 色综合婷婷久久| 欧美国产成人在线| 成人av电影在线| 国产精品福利影院| 97精品久久久久中文字幕| 国产精品欧美久久久久一区二区| 岛国精品在线播放| 国产精品麻豆欧美日韩ww| 国产成人午夜高潮毛片| 国产日韩在线不卡| 国产一区二区中文字幕| 国产色爱av资源综合区| 高清在线不卡av| 亚洲欧洲精品一区二区三区| 色综合天天性综合| 亚洲丰满少妇videoshd| 欧美日韩三级在线| 免费在线观看成人| 国产日韩精品一区| 99久久久久免费精品国产| 亚洲美女视频在线| 欧美日韩中文字幕一区| 亚洲成a天堂v人片| 精品美女被调教视频大全网站| 精品一区精品二区高清| 中文字幕高清一区| 色综合天天综合色综合av| 亚洲成av人片一区二区梦乃| 精品国产一二三区| 国产一二精品视频| 亚洲欧美日韩国产手机在线| 色偷偷一区二区三区| 亚洲va欧美va人人爽午夜| 欧美一区二区三区在| 久久国产剧场电影| 亚洲欧洲日韩一区二区三区| 欧美日韩精品三区| 久久97超碰色| 亚洲激情图片一区| 久久综合给合久久狠狠狠97色69| 99视频精品免费视频| 日产欧产美韩系列久久99| 国产精品欧美久久久久无广告| 欧美日韩激情在线| 成人亚洲一区二区一| 日本亚洲最大的色成网站www| 欧美国产一区二区| 7777精品久久久大香线蕉 | 亚洲美女屁股眼交| 久久免费的精品国产v∧| 91麻豆蜜桃一区二区三区| 麻豆精品视频在线| 亚洲欧美日韩国产手机在线 | 在线播放/欧美激情| 成人av一区二区三区| 久久精品久久99精品久久| 一区二区在线免费观看| 精品电影一区二区| 欧美日免费三级在线| gogo大胆日本视频一区| 蜜臀91精品一区二区三区| 亚洲国产精品ⅴa在线观看| 色呦呦国产精品| 午夜在线成人av| 中文字幕一区二区三区乱码在线| 欧美一区二区三区视频在线 | 欧美老肥妇做.爰bbww视频| 不卡的av中国片| 国产91丝袜在线播放0| 国产综合成人久久大片91| 亚洲成人自拍偷拍| 亚洲免费观看高清在线观看| 国产精品视频九色porn| 国产欧美日韩精品在线| 欧美精品一区二区三区在线播放| 欧美一区二区三区在线观看 | 亚洲国产精品一区二区久久| 一区二区三区自拍| 亚洲美女免费在线| 夜夜精品视频一区二区| 亚洲精品国产无套在线观| 欧美国产乱子伦| 中文字幕在线不卡国产视频| 欧美高清在线一区二区| 国产精品福利一区二区三区| 亚洲三级久久久| 亚洲一区二区三区四区的| 亚洲v日本v欧美v久久精品| 午夜成人在线视频| 免费在线看一区| 韩国成人精品a∨在线观看| 国产精品一区在线观看乱码| 成人性视频免费网站| 北岛玲一区二区三区四区| 91亚洲精品乱码久久久久久蜜桃| 色婷婷av一区二区三区软件| 在线免费亚洲电影| 在线播放亚洲一区| 久久久精品综合| 亚洲欧美日韩国产一区二区三区| 亚洲一区中文日韩| 日韩电影在线一区二区| 精品夜夜嗨av一区二区三区| 国产另类ts人妖一区二区| 99久久亚洲一区二区三区青草| 色婷婷亚洲精品| 日韩午夜中文字幕| 国产精品丝袜久久久久久app| 一区二区三区蜜桃| 另类小说色综合网站| 成人的网站免费观看| 欧美色视频在线| 久久精品一二三| 亚洲国产cao| 国产高清不卡二三区| 欧美日韩日本视频| 国产日韩欧美麻豆| 日韩黄色小视频| 成人动漫精品一区二区| 91精品国产综合久久福利| 国产精品久久久久久妇女6080| 亚洲国产一区二区在线播放| 国产九九视频一区二区三区| 在线观看国产精品网站| 欧美极品aⅴ影院| 国产精品网站在线| 久久精品国产一区二区|