青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

milkyway的窩

最初想法的誕生地

 

wince中斷問題

我現在遇到的問題是不知道如何編寫硬件觸發中斷處理程序
環境為wince.net x86,代碼如下希望您給予關注
//?D??′|àí2?·?
HANDLE g_hevInterrupt;;
HANDLE g_htIST;
DWORD g_dwSysInt;
DWORD SetupInterrupt ( void );
DWORD WINAPI ThreadIST ( LPVOID lpvParam );
DWORD SetupInterrupt( void )
{
BOOL fRetVal;
DWORD dwIrq = 7(這是硬件設置的中斷號)
DWORD dwThreadID;
// Create an event
//
g_hevInterrupt = CreateEvent(NULL, FALSE, FALSE, NULL);
if(!g_hevInterrupt) return 10;
// Have the OAL Translate the IRQ to a system irq
//
fRetVal = KernelIoControl( IOCTL_HAL_TRANSLATE_IRQ,
&dwIrq,
sizeof( dwIrq ),
&g_dwSysInt,
sizeof( g_dwSysInt ),
NULL );
if( !fRetVal )return 11;
// Create a thread that waits for signaling
//
g_htIST = CreateThread(NULL,// CE Has No Security
0, // No Stack Size
ThreadIST,// Interrupt Thread
NULL,// No Parameters
CREATE_SUSPENDED,// Create Suspended until we are done
&dwThreadID // Thread Id
);
if( !g_htIST )return 12;
// Set the thread priority to real time
//
int m_nISTPriority = 7;
if(!CeSetThreadPriority( g_htIST, m_nISTPriority))
return 13;
// Initialize the interrupt
//
if ( !InterruptInitialize(g_dwSysInt,g_hevInterrupt,NULL,0) )return 14;
ResumeThread( g_htIST );
return 0;
}

DWORD WINAPI ThreadIST( LPVOID lpvParam )
{
DWORD dwStatus;
// Always chec the running flag
//
BOOL g_fRun = TRUE;
while( g_fRun )
{
dwStatus = WaitForSingleObject(g_hevInterrupt, INFINITE);
// Make sure we have the object
//
if( dwStatus == WAIT_OBJECT_0 )
{
// Handle Interrupt Here
//
::MessageBox (NULL, _T("2aê?!"), _T("?ˉ??ìáê?"), MB_ICONQUESTION);
// Finish the interrupt
//
InterruptDone( g_dwSysInt );
}
}
return 0;
}
不知道為什么不能觸發

驅網網上商城-開發板,開發資料光盤
[樓 主] Posted:2004-12-31 13:21| 頂端
wxl_50685330





級別: 論壇版主
精華: 0
發帖: 2263
威望: 182 點
積分: 1793 分
貢獻值: 0 點
注冊時間:2002-11-19
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



你的7(硬件號)號中斷的isr里面要返回你申請的sysintr才行
高速無限下載文件,請申請vip會員

根據地的兄弟們,團結就是力量
[1 樓] Posted:2004-12-31 15:41| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]你的7(硬件號)號中斷的isr里面要返回你申請的sysintr才行 [/quote]
我是剛剛入行 ,很感謝你的回帖,你的意思我不太懂?請明示

高速無限下載文件,請申請vip會員
[2 樓] Posted:2004-12-31 16:13| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



dellgao兄弟,怎么沒有看到你的中斷處理程序isr?是你自己寫的嗎?只有在你的isr中返回你前面定義的g_dwSysInt值,你的WaitForSingleObject函數才會被釋放。
高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[3 樓] Posted:2004-12-31 16:38| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]dellgao兄弟,怎么沒有看到你的中斷處理程序isr?是你自己寫的嗎?只有在你的isr中返回你前面定義的g_dwSysInt值,你的WaitForSingleObject函數才會被釋放。 [/quote]
你說的中斷服務程序,DWORD WINAPI ThreadIST ( LPVOID lpvParam );這個函數不是嗎?你寫過給一段源碼好嗎我參考一下,多謝了

驅網網上商城-開發板,開發資料光盤
[4 樓] Posted:2004-12-31 16:50| 頂端
liumengtao





級別: 驅動牛犢
精華: 0
發帖: 16
威望: 4 點
積分: 34 分
貢獻值: 0 點
注冊時間:2003-03-02
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



ISR跟IST不是一回事,ISR負責獲取硬件中斷,再返回系統中斷號給IST以觸發WaitForSingleObject,ISR源碼直接在幫助里找到,改改就行了。
驅網網上商城-開發板,開發資料光盤
[5 樓] Posted:2005-01-01 01:06| 頂端
午夜母豬魔





級別: 驅動牛犢
精華: 0
發帖: 16
威望: 2 點
積分: 19 分
貢獻值: 0 點
注冊時間:2004-11-18
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



給你講講關于硬件中斷轉換為系統中斷的流程你可能就清楚了:(因為我使用的是arm所以抗smdk2410為例。你可以根據你自己的平臺來調整)
1。要使用中斷必須先注冊中斷。具體位置在:
D:\WINCE420\PLATFORM\SMDK2410\INC\oalintr.h參照wince自帶的中斷注冊即可。
2。將硬件中斷變為系統中斷
D:\WINCE420\PLATFORM\SMDK2410\KERNEL\HAL\ARM\armint.c 其中函數OEMInterruptHandler是實現硬件中斷轉換為系統中斷的函數。可以參展別的中斷產生的方法寫你自己的中斷。
3。中斷與事件的綁定(以串口的為例,你要根據自己的需要寫自己的東西。但是使用的函數是一樣的):
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。
4。以上就是是中斷處理的具體流程。你可以參考使用。如果有不對的地方請大家補充;

驅網網上商城-開發板,開發資料光盤
[6 樓] Posted:2005-01-02 10:00| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



To dellgao: 不要著急,其實你離成功只差那么一小步了:)))
我仔細看了一下你給出的代碼,還差那么一點點。就是沒有把你的硬件中斷(7號)和你的ISR相關聯。你想想,對于你給出的代碼,即使你的硬件已經產生了中斷,系統也無法通知你的線程,因為系統怎么會知道你的IST和7號中斷有關?所以你還需要做的就是把7號中斷與一個ISR相關聯,當產生7號中斷時,系統會調用這個ISR。這個ISR由你自己來寫,一般情況下,ISR只是完成簡單的處理工作,主要工作還是由IST來完成。ISR的主要任務:
(1)判斷這個中斷(對于共享中斷)是不是由你的硬件產生,如果
不是則直接返回SYSINTR_CHAIN;
(2)如果是由你的硬件產生,但不需要再由你的IST做進一步處理,那么返回SYSINTR_NOP就可以了;
(3)如果是由你的硬件產生,而且還需要由你的IST做進一步處理,那么要返回g_dwSysInt (這個值是你前面在SetupInterrupt( void )中得到的),返回g_dwSysInt之后,內核會激活與g_dwSysInt關聯的事件,這樣你的IST中的wait函數就會被釋放了。


總結一下:
(1)你需要自己的寫這個中斷的處理函數即ISR,ISR的代碼可以參照前面給出的主要任務來寫,也可以參考pb里面的例子;
(2)在你的SetupInterrupt函數中調用LoadIntChainHandler函數把你的硬件中斷(7號)同你寫的ISR關聯起來。

這樣,就可以了,你試試吧,Good Luck.
:P :P :P

高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[7 樓] Posted:2005-01-04 10:28| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]給你講講關于硬件中斷轉換為系統中斷的流程你可能就清楚了:(因為我使用的是arm所以抗smdk2410為例。你可以根據你自己的平臺來調整)
1。要使用中斷必須先注冊中斷。具體位置在:
D:WINCE420PLATFORMSMDK2410INCoalintr.h參照wince自帶的中斷注冊即可。
2。將硬件中斷變為系統中斷
D:WINCE420PLATFORMSMDK2410KERNELHALARMarmint.c 其中函數OEMInterruptHandler是實現硬件中斷轉換為系統中斷的函數。可以參展別的中斷產生的方法寫你自己的中斷。
3。中斷與事件的綁定(以串口的為例,你要根據自己的需要寫自己的東西。但是使用的函數是一樣的):
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。
4。以上就是是中斷處理的具體流程。你可以參考使用。如果有不對的地方請大家補充; [/quote]
"D:WINCE420PLATFORMSMDK2410INCoalintr.h參照wince自帶的中斷注冊即可。
"我找了半天沒有找到,請指教?謝謝我是新手

驅網網上商城-開發板,開發資料光盤
[8 樓] Posted:2005-01-04 10:47| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



其實,arm和x86架構的平臺,中斷處理的實現方法的有一定的差別。在WINCE420\\PUBLIC\\COMMON\\OAK\\CSP\\I486\\INC的oalintr.h中定義了OEM所使用的用于irq和sysintr轉換的函數,不過這些函數只能用于OAL層。在\\WINCE420\\PUBLIC\\COMMON\\OAK\\INC中的nkintr.h中有sysintr的定義,你可以看看。
其實,你可以按照我前面的方法試試,可以解決你的問題。你只需寫一個isr并把這個isr和你的硬件中斷相關聯即可。

驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[9 樓] Posted:2005-01-04 11:24| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



PB中提供了許多驅動的源代碼,你的isr可以參考GIISR.dll來寫,它的源代碼位于WINCE420\\PUBLIC\\COMMON\\OAK\\DRIVERS\\GIISR。
高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[10 樓] Posted:2005-01-04 12:09| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]PB中提供了許多驅動的源代碼,你的isr可以參考GIISR.dll來寫,它的源代碼位于WINCE420\PUBLIC\COMMON\OAK\DRIVERS\GIISR。 [/quote]
這幾天忙乎了一大陣子,還是迷茫,我是在EVC環境開發,不是在PB里面做,而且我是對計數器板開發,廠家沒有提供驅動,
我的程序要實現的目的如下:
1、硬件環境是一個基于x86的PC104三寸嵌入式板卡
2、pc104的IO卡帶有3個計數器
軟件要實現的功能就是:
對計數器進行編程,每當計數器完畢時候就觸發一個中斷
以上就是所要羅嗦的,希望您能給個建議,謝謝!

高速無限下載文件,請申請vip會員
[11 樓] Posted:2005-01-07 15:59| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



兄弟,如果我沒說錯的話,你的驅動是用來進行數據采集的?
其實,這個驅動的框架已經出來了(就是你最初寫的那些),現在關鍵的問題是isr,你可以看看我前面給你建議,按照那個做肯定可以的。

驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[12 樓] Posted:2005-01-07 16:22| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]兄弟,如果我沒說錯的話,你的驅動是用來進行數據采集的?
其實,這個驅動的框架已經出來了(就是你最初寫的那些),現在關鍵的問題是isr,你可以看看我前面給你建議,按照那個做肯定可以的。 [/quote]
我不是做采集的是分頻用的,我看了你說的例程,有些迷糊

高速無限下載文件,請申請vip會員
[13 樓] Posted:2005-01-07 16:50| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



不管是分頻還是數據采集,你的驅動肯定是用來響應外部(定時)中斷的。現在的問題是,在你的驅動中,由誰來響應你的外部中斷呢?肯定不是ist,因為ist只是用來對中斷進行進一步的處理,它是不能和硬件中斷直接聯系在一起的。直接相應硬件中斷的是isr,你需要寫這個中斷服務例程,并把這個例程(isr)同你的硬件中斷關聯起來,這樣當中斷產生的時候,系統就會先調用你的isr,進而執行你的ist線程。如果你還是不太清楚,你就看看pb下面關于installable isr方面的文檔吧。
驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[14 樓] Posted:2005-01-10 08:40| 頂端
lrx666





級別: 驅動太牛
精華: 0
發帖: 10286
威望: 1 點
積分: 9 分
貢獻值: 0 點
注冊時間:2001-08-17
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



好,也學了點東西
高速無限下載文件,請申請vip會員
[15 樓] Posted:2005-09-22 14:37| 頂端
zhyi



級別: 驅動牛犢
精華: 0
發帖: 4
威望: 5 點
積分: 40 分
貢獻值: 0 點
注冊時間:2006-03-22
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



在六樓的帖子中,
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。

我想請教一下,這個SerialEventHandle是否就是ISR,要自己寫要求。我能否在這個ISR中實現兩個中斷,如果可以到IST中如何處理?另外,這上面是如何讓ISR與中斷相關聯的,沒看明白。

驅網網上商城-開發板,開發資料光盤
[16 樓] Posted:2006-04-20 23:18| 頂端
soarstar





級別: 驅動小牛
精華: 0
發帖: 102
威望: 117 點
積分: 0 分
貢獻值: 0 點
注冊時間:2005-03-14
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



SerialEventHandle就是ISR啊
你說的“ISR中實現兩個中斷”是什么意思?
是不是指的是多源中斷?
多源中斷一般在IST中有個判斷
返回的邏輯中斷號都是不一樣的
所以不會在同一個ISR中處理!

驅網網上商城-開發板,開發資料光盤
[17 樓] Posted:2006-04-21 10:25| 頂端
zhyi



級別: 驅動牛犢
精華: 0
發帖: 4
威望: 5 點
積分: 40 分
貢獻值: 0 點
注冊時間:2006-03-22
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



QUOTE:
引用第17樓soarstar2006-04-21 10:25發表的“”:
SerialEventHandle就是ISR啊
你說的“ISR中實現兩個中斷”是什么意思?
是不是指的是多源中斷?
多源中斷一般在IST中有個判斷
返回的邏輯中斷號都是不一樣的
.......


? ? 我的意思是如果用一個驅動程序來實現兩個中斷線,怎么處理?
? 兩個中斷線肯定對應兩個不同的邏輯中斷,上面的SerialEventHandle就是ISR,那么ISR能否返回兩個不同的邏輯中斷,然后不同的邏輯中斷調用不同的IST,來完成不同的中斷內容?
? 或者可以用ISR返回一個邏輯中斷,然后調用一個IST,那么在IST中如何區分?返回哪一個邏輯中斷呢,畢竟兩個中斷線對應的邏輯中斷不同,迷惑中。。。

posted on 2007-02-02 09:25 milkyway 閱讀(2780) 評論(0)  編輯 收藏 引用 所屬分類: wince(別人的文章技巧總結)

導航

統計

公告

隨筆皆原創,文章乃轉載. 歡迎留言!

常用鏈接

留言簿(37)

隨筆分類(104)

隨筆檔案(101)

文章分類(51)

文章檔案(53)

wince牛人

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品欧美在线| 亚洲区第一页| 欧美国产一区二区三区激情无套| 国产精品视频精品| 日韩西西人体444www| 亚洲三级电影全部在线观看高清| 久久久久久**毛片大全| 久久国产乱子精品免费女| 国产欧美一区二区三区在线老狼 | 日韩亚洲国产精品| 久热re这里精品视频在线6| 麻豆视频一区二区| 亚洲成人在线网| 欧美成人dvd在线视频| 亚洲高清视频的网址| 亚洲国产日韩综合一区| 牛牛影视久久网| 亚洲人成在线观看一区二区| 这里只有精品电影| 国产精品美女主播在线观看纯欲| 亚洲欧美另类在线观看| 久久久噜久噜久久综合| 亚洲高清资源综合久久精品| 欧美激情综合在线| 一区二区三区不卡视频在线观看 | 久久亚洲一区二区三区四区| 在线精品视频一区二区| 欧美成人免费va影院高清| 亚洲美女尤物影院| 性伦欧美刺激片在线观看| 国产综合久久久久影院| 蜜臀91精品一区二区三区| 日韩亚洲国产精品| 欧美亚洲视频| 黄色成人av| 欧美顶级少妇做爰| 亚洲一区二区三区精品动漫| 久久免费偷拍视频| 亚洲人成在线观看网站高清| 国产精品欧美在线| 久久中文字幕一区| 中日韩美女免费视频网站在线观看 | 欧美一区午夜精品| 亚洲第一狼人社区| 午夜精品福利在线| 一区一区视频| 国产精品高清免费在线观看| 久久精品一区二区三区四区 | 亚洲女爱视频在线| 精品白丝av| 欧美天天影院| 久久久久一区二区| 99综合在线| 欧美刺激性大交免费视频| 亚洲欧美久久久久一区二区三区| 国产一区 二区 三区一级| 亚洲国产成人tv| 亚洲专区欧美专区| 亚洲国产综合视频在线观看| 国产精品免费看| 欧美成人一区二区在线| 老司机久久99久久精品播放免费| 亚洲一区二区三区高清不卡| 在线成人www免费观看视频| 国产精品久在线观看| 欧美精品久久久久久久久久| 久久精品一二三区| 亚洲欧美三级在线| 99精品视频一区| 亚洲国产美女| 欧美大片一区二区| 久久久www成人免费无遮挡大片 | 9l视频自拍蝌蚪9l视频成人| 精东粉嫩av免费一区二区三区| 国产精品久久久对白| 欧美福利在线观看| 久久中文字幕一区| 久久久999成人| 午夜精品视频| 亚洲影院色在线观看免费| 亚洲剧情一区二区| 亚洲国产精品高清久久久| 麻豆免费精品视频| 久久久久九九九九| 久久国产精品免费一区| 亚洲综合不卡| 亚洲一区二区三区高清| 一区二区冒白浆视频| 日韩午夜av电影| 亚洲激情在线激情| 亚洲欧洲日产国产综合网| 亚洲国产成人精品女人久久久| 国语自产偷拍精品视频偷| 国产老肥熟一区二区三区| 国产精品看片你懂得| 国产精品国产精品国产专区不蜜| 欧美区日韩区| 欧美日韩午夜| 国产精品v欧美精品v日韩| 欧美日韩免费区域视频在线观看| 欧美精品电影| 欧美日韩精品是欧美日韩精品| 欧美精品一二三| 欧美日韩免费网站| 欧美午夜精品理论片a级大开眼界| 欧美日韩精品久久| 欧美三级电影大全| 国产精品一区免费视频| 国产精品视频在线观看| 国产日韩在线播放| 曰本成人黄色| 亚洲欧洲在线一区| 99re6热在线精品视频播放速度| 99在线|亚洲一区二区| 亚洲一区二区三区777| 精品999日本| 亚洲品质自拍| 亚洲一区欧美| 久久精品国产综合| 久久综合电影一区| 欧美顶级大胆免费视频| 亚洲国内在线| 中文网丁香综合网| 久久成人精品无人区| 免费看黄裸体一级大秀欧美| 欧美日韩视频在线第一区| 国产欧美一区二区精品婷婷| 在线播放日韩专区| 一区二区三区四区五区精品视频 | 国内一区二区三区在线视频| 亚洲国产精品精华液2区45| 99在线观看免费视频精品观看| 亚洲在线视频网站| 久久久久网址| 亚洲国产视频一区| 亚洲伦理在线免费看| 亚洲无亚洲人成网站77777| 午夜亚洲福利| 欧美大片在线看| 一区二区三区日韩欧美精品| 欧美一区二区视频观看视频| 欧美阿v一级看视频| 欧美视频在线观看免费网址| 国产真实久久| 日韩一区二区精品| 久久久久欧美| 日韩视频一区二区三区| 欧美综合国产| 欧美日韩一区二区高清| 国产主播精品在线| 一本色道久久综合| 媚黑女一区二区| 亚洲一区国产精品| 欧美电影资源| 红桃视频一区| 午夜精品一区二区三区四区| 亚洲丰满在线| 欧美一区二区三区精品| 欧美日韩免费看| 91久久黄色| 久久高清免费观看| 日韩午夜剧场| 欧美成人免费全部观看天天性色| 国产亚洲精品久久久| 亚洲午夜激情| 亚洲精品1区2区| 久久亚洲影院| 国产亚洲欧美另类中文 | 国产亚洲精品自拍| 中日韩视频在线观看| 欧美国产日韩精品| 欧美一区二区三区免费大片| 欧美午夜精品一区| 夜夜嗨av一区二区三区中文字幕| 欧美成人第一页| 久久丁香综合五月国产三级网站| 国产精品久久网站| 中日韩午夜理伦电影免费| 亚洲第一视频网站| 久久久免费精品视频| 国内精品久久久久久久影视麻豆| 午夜精品成人在线| 一区二区三区四区国产精品| 欧美好吊妞视频| 亚洲国产精品va在线观看黑人| 久久九九全国免费精品观看| 亚洲综合不卡| 国产精品美女主播在线观看纯欲| 一区二区欧美亚洲| 亚洲三级观看| 欧美精品三级在线观看| 亚洲精一区二区三区| 欧美黄色精品| 欧美成人免费视频| 亚洲黄色免费电影| 欧美激情无毛| 欧美另类女人| 一区二区三区日韩欧美| 一本色道久久88精品综合| 欧美日韩综合网|