wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区
標題:
MSP430F全系列Flash存儲器通用程序庫
[打印本頁]
作者:
51hei單片
時間:
2016-3-14 20:10
標題:
MSP430F全系列Flash存儲器通用程序庫
本程序是《MSP430系列單片機系統工程設計與實踐》書里面的源碼,(包含工程文件(例4.1.6))完整例程下載:
http://www.izizhuan.cn/bbs/dpj-46245-1.html
關于本程序的詳細解說大家可以點擊上圖下載電子書
這個Flash存儲器庫文件的調用方法可先下載完整代碼然后找到(例4.1.6)這一節,里面有調用方法
Flash.c文件:
/*
MSP430F全系列Flash存儲器通用程序庫
說明:該程序庫包含了內部Flash存儲器常用的讀寫功能,還包含了常用數據
格式變量的保存、讀取函數。除了字節讀寫之外,還可以很方便的向
FlashROM里寫入和讀出整型、浮點數、長整型格式的數據。
由于Flash存儲器不能單字節擦除或改寫,因此寫入任何字節都需
要先備份整個數據區再整塊擦除,之后恢復其他未改變數據。本程序利
用兩個Flash存儲區(InfoA和InfoB)互相備份信息,優點是備份過程不
占用RAM,能在RAM小于256字節的單片機上運行;缺點是速度慢,且浪費
了1/2的存儲容量。適合小批量數據且不關心寫入速度的場合,如菜單
保存設置參數等。另外注意Flash壽命只有10萬次左右,不要頻繁調用
寫函數。寫Flash時,電源電壓必須高于2.7V。
本程序庫中所有的讀寫函數對外已經屏蔽了Flash特征,存儲地址
空間從0開始到127。如果實際用到的數據量很少,可修改MAXNUM定義,
以節省執行時間。如果需要保存的數據量大于128,可修改存儲區首地址
和備份區首地址的定義,指向程序Flash區中程序代碼和中斷向量表未
占用的空白區塊,能獲得512字節的存儲容量。
要使用該庫函數,需要將本文件(Flash.c)添加進工程,并在需要
調用函數的文件開頭處包含"Flash.h"。
(C)西安電子科技大學 測控技術與儀器教研中心 編寫:謝楷 2008/02/04
*/
//
//
// MSP430F4XX
// +---------------+
// | |
// | XOUT|-----
// | | 32.768KHz Watch Crystal
// | XIN|-----
// | |
// +---------------+
#include "MSP430x42x.h"
#define MAXNUM 32 /*存儲的總數據量(字節),最大128*/
/*由于每個數據都需要備份,總數據量越小速度越快,不要留太多余量*/
/*后面存儲、讀取函數可用的存儲地址空間為0~(MAXNUM-1)*/
#define FLASH_SAVEADDR (0x1080) /*Flash數據存儲區首地址(InfoB)*/
#define FLASH_COPYADDR (0x1000) /*Flash備份存儲區首地址(InfoA)*/
union LongChar //長整字節 復合結構
{ unsigned long int Long;
struct ByteL4
{ unsigned char BHH;
unsigned char BHL;
unsigned char BLH;
unsigned char BLL;
}Bytes;
};
union FloatChar //浮點字節 復合結構
{ float Float;
struct ByteF4
{ unsigned char BHH;
unsigned char BHL;
unsigned char BLH;
unsigned char BLL;
}Bytes;
};
unsigned char FLASH_PSR;
#define DISABLE_INT; FLASH_PSR=__get_SR_register();_DINT();
#define RESTORE_INT; if(FLASH_PSR & GIE) _EINT();
/****************************************************************************
* 名 稱:Flash_Init()
* 功 能:對Flash時鐘進行初始化設置
* 入口參數:無
* 出口參數:無
* 說 明: 如需使用后面的讀寫函數,在程序開始必須先調用該初始化函數
配置Flash時鐘必須在257~476KHz之間!!
****************************************************************************/
void Flash_Init(void)
{
FCTL2 = FWKEY + FSSEL_2 + FN1; // 默認 SMCLK/3 =349KHz
}
/* Flash時鐘必須在257~476KHz之間, */
/* 分頻系數= 32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1 */
// Flash時鐘選擇:
/* FSSEL_0 Flash clock select: 0 - ACLK */
/* FSSEL_1 Flash clock select: 1 - MCLK */
/* FSSEL_2 Flash clock select: 2 - SMCLK */
/****************************************************************************
* 名 稱:Flash_Busy()
* 功 能:Flash忙等待
* 入口參數:無
* 出口參數:無
* 說 明: 若Flash忙則等待,直到Flash操作完成(空閑)才返回。
****************************************************************************/
void Flash_Busy()
{
while((FCTL3 & BUSY) == BUSY){_NOP();} //Busy
}
/****************************************************************************
* 名 稱:Flash_Erase()
* 功 能:擦除Flash的一個數據塊
* 入口參數:Addr:被擦除數據塊的首地址
* 出口參數:無
****************************************************************************/
void Flash_Erase(unsigned int Addr)
{ unsigned char *Flash_ptr;
Flash_ptr=(unsigned char *)Addr;
FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY; // Clear Lock bit
DISABLE_INT;
*Flash_ptr = 0; // Dummy write to erase Flash segment B
Flash_Busy(); //Busy
RESTORE_INT;
FCTL1 = FWKEY; // Lock
FCTL3 = FWKEY+LOCK; // Set Lock bit
}
/****************************************************************************
* 名 稱:Flash_CopyA2B()
* 功 能:將數據區的內容拷貝到備份區
* 入口參數:無
* 出口參數:無
****************************************************************************/
void Flash_CopyA2B()
{
unsigned char *Flash_ptrA; // Segment A pointer
unsigned char *Flash_ptrB; // Segment B pointer
unsigned int i;
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR; // Initialize Flash segment A pointer
Flash_ptrB = (unsigned char *) FLASH_COPYADDR; // Initialize Flash segment B pointer
Flash_Erase(FLASH_COPYADDR);
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
for (i=0; i<MAXNUM; i++)
{
DISABLE_INT;
*Flash_ptrB++ = *Flash_ptrA++; // copy value segment A to segment B
Flash_Busy(); //Busy
RESTORE_INT;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
/****************************************************************************
* 名 稱:Flash_WriteChar()
* 功 能:向Flash中寫入一個字節(Char型變量)
* 入口參數:Addr:存放數據的地址
Data:待寫入的數據
* 出口參數:無
* 范 例:Flash_WriteChar(0,123);將常數123寫入0單元
Flash_WriteChar(1,a);將整型變量a寫入1單元
****************************************************************************/
void Flash_WriteChar (unsigned int Addr,unsigned char Data)
{
unsigned char *Flash_ptrA; // Segment A pointer
unsigned char *Flash_ptrB; // Segment B pointer
unsigned int i;
Flash_CopyA2B(); //Flash內的數據先保存起來
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrB = (unsigned char *) FLASH_COPYADDR;// Initialize Flash segment B pointer
Flash_Erase(FLASH_SAVEADDR);
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
for (i=0; i<MAXNUM; i++)
{
DISABLE_INT;
if(i==Addr)
{
*Flash_ptrA++ =Data; // Save Data
Flash_Busy(); //Busy
Flash_ptrB++;
}
else
{
*Flash_ptrA++ = *Flash_ptrB++; // 恢復Flash內的其他數據
Flash_Busy(); //Busy
}
RESTORE_INT;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
/****************************************************************************
* 名 稱:Flash_ReadChar()
* 功 能:從Flash中讀取一個字節
* 入口參數:Addr:存放數據的地址
* 出口參數:讀回的數據
****************************************************************************/
unsigned char Flash_ReadChar (unsigned int Addr)
{ unsigned char Data;
unsigned char *Flash_ptrA; // Segment A pointer
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR; // Initialize Flash segment A pointer
Data=*(Flash_ptrA+Addr);
return(Data);
}
/****************************************************************************
* 名 稱:Flash_WriteWord()
* 功 能:向Flash寫入一個整型變量
* 入口參數:Addr:被寫入FlashROM單元的地址
Data:待寫入的整型變量(2字節數據)
* 出口參數:無
* 說 明: 該函數保存數據將占用Addr和Addr+1兩個存儲單元
* 范 例:Flash_WriteWord(2,1234);將常數1233寫入2~3單元
Flash_WriteWord(4,a);將整型變量a寫入4~5單元
****************************************************************************/
void Flash_WriteWord (unsigned int Addr,unsigned int Data)
{
unsigned char *Flash_ptrA; // Segment A pointer
unsigned char *Flash_ptrB; // Segment B pointer
unsigned int i;
Flash_CopyA2B(); //Flash內的數據先保存起來
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrB = (unsigned char *) FLASH_COPYADDR;// Initialize Flash segment B pointer
Flash_Erase(FLASH_SAVEADDR);
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
for (i=0; i<MAXNUM; i++)
{
DISABLE_INT;
if(i==Addr)
{
*Flash_ptrA++ =Data/256; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =Data%256; // Save Data
Flash_Busy(); //Busy
Flash_ptrB+=2;
}
else
{
*Flash_ptrA++ = *Flash_ptrB++; // 恢復Flash內的其他數據
Flash_Busy(); //Busy
}
RESTORE_INT;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
/****************************************************************************
* 名 稱:Flash_ReadWord()
* 功 能:從FlashROM讀回一個整型變量
* 入口參數:Addr:待讀出變量FlashROM單元的起始地址(存入的地址)
* 出口參數:讀回的整型變量值
****************************************************************************/
unsigned int Flash_ReadWord (unsigned int Addr)
{ unsigned int Data;
unsigned char *Flash_ptrA; // Segment A pointer
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Data=*(Flash_ptrA+Addr)*256+*(Flash_ptrA+Addr+1);
return(Data);
}
/****************************************************************************
* 名 稱:Flash_WriteLong()
* 功 能:向FlashROM寫入一個長整型變量
* 入口參數:Addr:被寫入FlashROM單元的地址
Data:待寫入的長整型變量(4字節數據)
* 出口參數:無
* 說 明: 該函數保存數據將占用Addr到Addr+3 共4個存儲單元
* 范 例:Flash_WriteLong(7,123456);將長整型數123456寫入7~10單元
Flash_WriteLong(11,a);將長整型變量a寫入11~14單元
****************************************************************************/
void Flash_WriteLong (unsigned int Addr,unsigned long int Data)
{
union LongChar LData;
unsigned char *Flash_ptrA; // Segment A pointer
unsigned char *Flash_ptrB; // Segment B pointer
unsigned int i;
LData.Long=Data;
Flash_CopyA2B(); //Flash內的數據先保存起來
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrB = (unsigned char *) FLASH_COPYADDR;// Initialize Flash segment B pointer
Flash_Erase(FLASH_SAVEADDR);
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
for (i=0; i<MAXNUM; i++)
{
DISABLE_INT;
if(i==Addr)
{
*Flash_ptrA++ =LData.Bytes.BHH; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =LData.Bytes.BHL; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =LData.Bytes.BLH; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =LData.Bytes.BLL; // Save Data
Flash_Busy(); //Busy
Flash_ptrB+=4;
}
else
{
*Flash_ptrA++ = *Flash_ptrB++; // 恢復Flash內的其他數據
Flash_Busy(); //Busy
}
RESTORE_INT;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
/****************************************************************************
* 名 稱:Flash_ReadLong()
* 功 能:從FlashROM讀回一個長整型變量
* 入口參數:Addr:待讀出變量所在FlashROM單元的起始地址(存入的地址)
* 出口參數:讀回的長整型變量值
****************************************************************************/
unsigned long int Flash_ReadLong (unsigned int Addr)
{
unsigned char *Flash_ptrA; // Segment A pointer
union LongChar Data;
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrA+=Addr;
Data.Bytes.BHH=*Flash_ptrA++;
Data.Bytes.BHL=*Flash_ptrA++;
Data.Bytes.BLH=*Flash_ptrA++;
Data.Bytes.BLL=*Flash_ptrA++;
return(Data.Long);
}
/****************************************************************************
* 名 稱:Flash_WriteFloat()
* 功 能:向FlashROM寫入一個浮點型變量
* 入口參數:Addr:被寫入FlashROM單元的地址
Data:待寫入的浮點型變量(4字節數據)
* 出口參數:無
* 說 明: 該函數保存數據將占用Addr到Addr+3 共4個存儲單元
* 范 例:Flash_WriteFloat(15,3.14159);將浮點數3.14159寫入15~18單元
Flash_WriteFloat(19,a);將浮點變量a寫入19~22單元
****************************************************************************/
void Flash_WriteFloat (unsigned int Addr,float Data)
{
union FloatChar FData;
unsigned char *Flash_ptrA; // Segment A pointer
unsigned char *Flash_ptrB; // Segment B pointer
unsigned int i;
FData.Float=Data;
Flash_CopyA2B(); //Flash內的數據先保存起來
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrB = (unsigned char *) FLASH_COPYADDR;// Initialize Flash segment B pointer
Flash_Erase(FLASH_SAVEADDR);
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
for (i=0; i<MAXNUM; i++)
{
DISABLE_INT;
if(i==Addr)
{
*Flash_ptrA++ =FData.Bytes.BHH; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =FData.Bytes.BHL; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =FData.Bytes.BLH; // Save Data
Flash_Busy(); //Busy
*Flash_ptrA++ =FData.Bytes.BLL; // Save Data
Flash_Busy(); //Busy
Flash_ptrB+=4;
}
else
{
*Flash_ptrA++ = *Flash_ptrB++; // 恢復Flash內的其他數據
Flash_Busy(); //Busy
}
RESTORE_INT;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Set LOCK bit
}
/****************************************************************************
* 名 稱:Flash_ReadFloat()
* 功 能:從FlashROM讀回一個浮點型變量
* 入口參數:Addr:待讀出變量所在FlashROM單元的起始地址(存入的地址)
* 出口參數:讀回的浮點型變量值
****************************************************************************/
float Flash_ReadFloat (unsigned int Addr)
{
unsigned char *Flash_ptrA; // Segment A pointer
union FloatChar Data;
Flash_ptrA = (unsigned char *) FLASH_SAVEADDR;// Initialize Flash segment A pointer
Flash_ptrA+=Addr;
Data.Bytes.BHH=*Flash_ptrA++;
Data.Bytes.BHL=*Flash_ptrA++;
Data.Bytes.BLH=*Flash_ptrA++;
Data.Bytes.BLL=*Flash_ptrA++;
return(Data.Float);
}
//==============================================================================================
復制代碼
Flash.h文件:
extern void Flash_Init (void);
extern void Flash_WriteChar (unsigned int Addr,unsigned char Data);
extern unsigned char Flash_ReadChar (unsigned int Addr);
extern void Flash_WriteWord (unsigned int Addr,unsigned int Data);
extern unsigned int Flash_ReadWord (unsigned int Addr);
extern void Flash_WriteLong (unsigned int Addr,unsigned long Data);
extern unsigned long Flash_ReadLong (unsigned int Addr);
extern void Flash_WriteFloat (unsigned int Addr,float Data);
extern float Flash_ReadFloat (unsigned int Addr);
復制代碼
作者:
落筆
時間:
2019-6-24 18:14
求大神指點一下,我往信息存儲器中寫數據可以按我設定的地址中寫,但是我往主存儲器中寫數據時,我設置的起始地址時bank3的首地址038000H,為啥調試的時候顯示的寫在了08000H為首地址的Bank0區中呢?
歡迎光臨 (http://www.izizhuan.cn/bbs/)
Powered by Discuz! X3.1
动漫h在线观看
|
香蕉久久夜色精品国产使用方法
|
中文字幕第8页
|
午夜久久黄色
|
亚洲制服中文
|
精品久久久久久久一区二区蜜臀
|
99久久99久久久精品齐齐
|
国产一区二区中文字幕
|
天天做夜夜做人人爱精品
|
国产精品一二三在
|
66视频精品
|
亚洲精品影片
|
欧美videossex
|
国产美女特级嫩嫩嫩bbb片
|
juy有坂深雪中文字幕
|
在线观看 中文字幕
|
99久久免费看精品国产一区
|
成人av一级片
|
日本在线观看不卡
|
91亚洲精品在线观看
|
欧美不卡视频一区发布
|
日韩欧美一二区
|
日韩欧美aaa
|
中文在线一区二区
|
欧美精美视频
|
久久青草免费
|
后进极品白嫩翘臀在线播放
|
亚洲人性生活视频
|
9l视频自拍蝌蚪9l视频
|
亚洲欧美天堂网
|
国产高清精品软件丝瓜软件
|
久久精品第一页
|
欧美另类z0zx974
|
国产欧美一区二
|
精品国产一区三区
|
91免费网站视频
|
国产伦一区二区三区色一情
|
欧美在线国产精品
|
不卡av电影在线观看
|
亚洲福利视频二区
|
黄色片一区二区三区
|
亚洲免费av一区
|
女人被男人躁得好爽免费视频
|
久久国产精品精品国产色婷婷
|
日本一区二区不卡
|
孩xxxx性bbbb欧美
|
久久偷看各类女兵18女厕嘘嘘
|
亚洲精品国产精品久久清纯直播
|
欧美日韩一二三
|
精品久久久国产
|
一区二区三区四区视频精品免费
|
久久综合九色综合97婷婷
|
经典三级在线一区
|
日韩av一区二区在线影视
|
亚洲精品资源
|
伊人情人综合网
|
91亚洲国产成人久久精品
|
极品尤物一区
|
极品一区美女高清
|
人与人69性欧美三人交
|
色噜噜在线播放
|
午夜精品一二三区
|
亚洲av无码专区在线
|
一区二区www
|
一级全黄裸体免费视频
|
中文字幕一区二区三区四区欧美
|
日韩手机在线观看
|
国产又粗又爽视频
|
天天射天天干天天
|
一本色道久久综合无码人妻
|
亚洲永久精品视频
|
精品人妻伦一区二区三区久久
|
国产免费的av
|
不卡的日韩av
|
在线观看亚洲电影
|
色wwwwww
|
一区二区三区在线|网站
|
亚洲国产欧美另类
|
美女露胸一区二区三区
|
好男人官网在线观看
|
熟妇高潮一区二区高潮
|
国产成人免费看一级大黄
|
精品国产av一区二区
|
一区二区www
|
蜜桃91麻豆精品一二三区
|
亚洲天堂影院在线观看
|
欧美xxx在线
|
日本h视频在线观看
|
狠狠色噜噜狠狠狠狠888奇米
|
亚州福利视频
|
一不卡在线视频
|
毛片在线不卡
|
欧美电影网址
|
a级日韩大片
|
日韩av片子
|
国产欧美日本
|
国产91精品精华液一区二区三区
|
久久9999久久免费精品国产
|
99久热在线精品996热是什么
|
中文字幕 人妻熟女
|
人妻偷人精品一区二区三区
|
欧美超强性xxxxx
|
天天色天天看
|
精品乱码一区二区三四区视频
|
成人一区二区三区
|
最新国产精品久久精品
|
色综合久久综合网
|
日韩av一区在线
|
久久91亚洲精品中文字幕
|
国产精品吴梦梦
|
久久精精品视频
|
国产精品免费看久久久无码
|
婷婷六月天在线
|
av男人的天堂av
|
成人写真福利网
|
成人免费一区二区三区
|
成年网站在线免费观看
|
91小视频在线播放
|
xxxxx99
|
国语对白永久免费
|
欧美一区二区三区成人片在线
|
国产人成免费视频
|
日本成在线观看
|
性欧美高清come
|
日韩一二三区在线观看
|
亚洲欧美色图
|
国产91精品一区二区
|
亚洲一区二区av在线
|
精品日韩成人av
|
91av成人在线
|
日韩黄色影视
|
红桃视频 国产
|
日本老熟俱乐部h0930
|
国产三级自拍视频
|
www.激情网.com
|
国偷自拍第113页
|
国精品产品一区
|
中文字幕在线免费播放
|
青青草视频在线免费直播
|
日日夜夜精品视频
|
亚洲日产国产精品
|
久久综合色鬼综合色
|
欧洲亚洲精品在线
|
久久久精品美女
|
国产另类自拍
|
天堂社区在线视频
|
久久免费视频播放
|
露脸国产精品自产在线播
|
在线看三级网站视频
|
色综合天天色
|
亚洲激情午夜
|
国产精品家庭影院
|
亚洲精品美女在线观看
|
91精品国产自产在线观看永久
|
四虎免费在线观看视频
|
小毛片在线观看
|
一二三区中文字幕
|
在线观看成人网
|
一区二区三区四区日本视频
|
91精品久久久久久久久久不卡
|
成人一区在线观看
|
777xxx欧美
|
国产精品情侣自拍
|
欧美成人xxxxx
|
久久在线视频精品
|
国产亚洲精品久久久久久青梅
|
成人精品一区
|
国产一区国产二区国产三区
|
av在线一区二区
|
精品久久久久久久久久久院品网
|
国产日韩在线播放
|
免费观看成人网
|
久久国产黄色片
|
天天天天天天操
|
亚洲成人人体
|
日本美女视频一区二区
|
在线观看免费视频综合
|
国产999在线
|
日本三区在线观看
|
日韩手机在线视频
|
激情乱色小说视频
|
视频二区欧美毛片免费观看
|
国产一区二区剧情av在线
|
在线不卡中文字幕
|
精品国产不卡
|
亚洲女则毛耸耸bbw
|
在线观看一区二区三区四区
|
国产男男gay体育生网站
|
日本夜爽爽一二区
|
99久久人爽人人添人人澡
|
国产精品123
|
亚洲精品视频二区
|
日韩精品成人一区二区在线观看
|
久久久久久久毛片
|
高清在线观看免费韩剧
|
天堂а√在线最新版中文在线
|
国产农村妇女毛片精品久久莱园子
|
精品久久久久久久久中文字幕
|
日本精品视频网站
|
拔插拔插华人永久免费
|
xxxx18国产
|
国产精品 欧美在线
|
成年人福利视频
|
免费在线观看黄色小视频
|
欧美成人观看免费全部完小说
|
欧美卡一卡二
|
免播放器亚洲
|
欧美丰满一区二区免费视频
|
亚洲综合精品一区二区
|
亚洲永久无码7777kkk
|
欧美日韩亚洲国内综合网
|
天堂在线中文网官网
|
男女性色大片免费观看一区二区
|
在线播放一区二区三区
|
蜜桃视频在线观看成人
|
欧美在线视频第一页
|
免费人成网ww777kkk手机
|
成人黄色免费电影
|
精品国内片67194
|
日本在线免费中文字幕
|
亚洲欧洲日韩精品在线
|
成人性生交大片免费看中文
|
永久免费毛片在线播放不卡
|
日韩精品一区二区在线视频
|
无码人妻精品一区二区50
|
最新国产在线
|
海角社区69精品视频
|
欧美亚洲一区二区在线
|
精品在线视频一区二区
|
欧美精品色哟哟
|
交视频在线观看国产
|
日韩欧美网址
|
色狠狠一区二区
|
免费国产一区二区
|
日本精品一区在线
|
国模吧一区二区三区
|
成人黄色片视频
|
污视频网站免费观看
|
在线观看爽视频
|
久久综合中文字幕
|
热99在线视频
|
国产福利短视频
|
先锋在线亚洲
|
911久久香蕉国产线看观看
|
欧美日韩在线亚洲一区蜜芽
|
亚洲精品9999
|
国产视频第一页
|
欧美18av
|
中文字幕一区二区三区乱码在线
|
国产日韩专区在线
|
国产一级av毛片
|
91啦中文在线
|
精品一区二区三区免费观看
|
久久亚洲精品国产亚洲老地址
|
日本一本在线视频
|
成人18免费
|
精品成人在线
|
国产午夜精品一区理论片飘花
|
91精品成人久久
|
天堂久久精品忘忧草
|
最新在线观看av网站
|
强制捆绑调教一区二区
|
欧美激情一区二区三区在线视频观看
|
日韩小视频在线
|
a天堂视频在线观看
|
五十度飞在线播放
|
久久久xxx
|
欧美黑人性视频
|
久久久国产一级片
|
国产在线观看黄
|
懂色av一区二区三区蜜臀
|
国产精品久久综合av爱欲tv
|
国产成人啪精品午夜在线观看
|
性直播体位视频在线观看
|
国产午夜精品美女毛片视频
|
亚洲直播在线一区
|
中文字幕在线观看国产
|
欧美爱爱视频
|
色综合久久88色综合天天免费
|
色爽爽爽爽爽爽爽爽
|
亚洲区精品久久一区二区三区
|
国产亚洲欧美日韩在线观看一区二区
|
国产伦精品一区二区三区在线
|
中文字幕在线视频第一页
|
yy6080久久伦理一区二区
|
欧美午夜丰满在线18影院
|
老司机午夜网站
|
高清国产免费
|
国产日韩欧美高清免费
|
欧美激情中文字幕乱码免费
|
www青青草原
|
涩涩视频在线播放
|
五月综合激情网
|
亚洲午夜精品久久久久久人妖
|
就爱干草视频
|
日韩在线卡一卡二
|
国产精品高清网站
|
男操女视频网站
|
波多野结衣在线一区二区
|
日韩一卡二卡三卡
|
www.美色吧.com
|
高清美女视频一区
|
成人免费一区二区三区在线观看
|
最新欧美日韩亚洲
|
碰草在线视频
|
狠狠色狠狠色综合
|
国产伦精品一区二区三区视频免费
|
午夜久久久久久久久久
|
成人羞羞网站入口
|
九九热精品视频国产
|
亚洲偷欧美偷国内偷
|
老牛国内精品亚洲成av人片
|
国产成人精品www牛牛影视
|
成人欧美一区二区三区在线
|
成人综合在线视频
|
成人一区二区三区四区
|
国产综合视频在线
|
五月天亚洲色图
|
日韩av在线影院
|
永久免费看片直接
|
日本黄色免费在线
|
欧美日韩亚洲另类
|
久久久久久久高清
|
国产黄色片在线观看
|
国产精品视频一区二区三区不卡
|
精品麻豆av
|
91视频黄色
|
精品午夜一区二区三区在线观看
|
成人免费在线视频网站
|
亚洲精品久久久久久动漫器材一区
|
国产精品久久久久久超碰
|
国产剧情久久久
|
97人妻精品一区二区三区
|
国产视频一视频二
|
天天色棕合合合合合合合
|
欧美日韩在线播放视频
|
欧美成人免费在线观看
|
日本中文字幕免费
|
亚洲欧美日本国产
|
在线视频精品一
|
久久精品欧美一区二区
|
波多野结衣在线一区二区
|
中文精品99久久国产香蕉
|
九九视频在线免费观看
|
深夜福利一区
|
精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久
|
久久影院午夜片一区
|
在线一区高清
|
绯色av一区
|
国产精品久久久久久久久免费丝袜
|
日本精品久久久久久久久久
|
丝袜足控免费网站xx网站
|
亚洲国产激情av
|
涩涩网站在线看
|
美女精品导航
|
日韩视频一区在线观看
|
国产精品久久久久久久精
|
亚洲三级av
|
国产精品久久777777
|
天天干天天操天天做
|
免费在线看黄
|
日韩亚洲电影在线
|
欧美激情一区二区视频
|
精品国产乱子伦一区二区
|
欧美精品国产精品日韩精品
|
国产成a人亚洲精v品无码
|
亚洲人成人一区二区三区
|
国产精品日韩欧美一区二区三区
|
涩涩屋黄网站
|
中文字幕巨乱亚洲
|
欧美在线aaa
|
国产在线观看www
|
影音先锋欧美精品
|
一本到在线视频
|
久久精品官网
|
伊人情人网综合
|
深夜福利在线观看直播
|
91高清视频免费看
|
刘亦菲国产毛片bd
|
精品一级毛片
|
亚洲最大福利视频网
|
看成年女人免费午夜视频
|
亚洲人成伊人成综合网小说
|
亚洲免费观看在线
|
欧美电影院免费观看
|
97久久精品视频
|
久久久久亚洲精品一区二区三区
|
久久久久久99久久久精品网站
|
欧美特级aaa
|
日韩成人免费av
|
国外成人免费在线播放
|
男人插曲女人的视频
|
久久久99久久
|
欧美久久久久久久久久久
|
第一区第二区在线
|
国产精品嫩草影院久久久
|
波霸ol色综合网
|
色综合久久99
|
丰满少妇乱子伦精品看片
|
亚洲女人av
|