《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 利用RCM2200實現以太網與異步串口的通信

利用RCM2200實現以太網與異步串口的通信

2008-04-14
作者:譚姝 宋茂忠

摘? 要:本文研究基于RCM2200嵌入式系統對網絡和串口" title="串口">串口的編程技術。介紹了RCM2200微控制器核心模塊以及Dynamic C軟件開發環境,講述了如何利用Dynamic C語言通過RCM2200核心模塊實現UDP報文和異步串口數據的互相轉換。DynamicC是與RCM2200配套使用的軟件開發語言,它擁有豐富的庫函數以便程序員編程時調用,結果表明,運用該語言能實現基于RCM2200以太網與異步串口之間的成功通信。
關鍵詞:嵌入式系統;RCM2200;UDP報文;串口通信


1 引言
??? 目前,嵌入式技術已經廣泛滲入并應用到各領域,涉及到多種傳統及現代技術,形成了前所未有的多學科、多領域的交叉與融合。由Z-World公司推出的RCM2200[1]是一款低成本的嵌入式微控制器核心模塊,它采用Dynamic C?[2]這一專門為Z-World產品創建的集成的C 編譯器、編輯器、鏈接器、裝載器和調試器,便于實現快速開發應用,加快產品投放到市場。
??? UDP協議[3][4]是比較著名的傳輸層協議之一,它與TCP協議一樣是基于IP協議的,但與TCP不同的是它不需要協議層提供質量保證,因此,在需要實時數據傳輸的情況下應用比較廣泛。并且,因為不提供質量保證,服務器沒有必要一直處于等待狀態,從而大大減輕了服務器的負擔。在某些情況下,還可以根據需要給UDP報文加上一些質量保證控制,有很大的靈活度。
??? 在不遠的將來,將設備與網絡相連將成為一種趨勢。在諸如GPS串口數據網絡收發以及某些語音傳輸、實時監控等多種場合,實現以太網與異步串口數據之間的通信是非常必要的。本文介紹了一種基于RCM2200嵌入式微控制器核心模塊利用UDP報文實現網絡與串口互通的方法,可以迅速實現將串口與網絡相連接。
2?系統原理及功能
??? RCM2200采用Rabbit半導體公司推出的高性能8位器件-Rabbit2000型微處理器;帶RJ-45插口的內置10Base-T端口簡化了網絡連接,便于開發帶以太網接口的監控、通訊設備;配備有4個串行口,方便擴展聯接;擁有26根并行的I/O引線以及16根可設置的I/O引線,無須擴展即可完成一般的I/O任務;擁有256K Flash,128K SRAM, 用于代碼存儲和數據存儲;時間、日期、看門狗、定時器等一應俱全;且其采用雙列直插式引腳,尺寸僅為59 x 41 x 22 mm。這種結構促進了嵌入式系統的快速開發,并可實現集成的以太網連接。
??? RCM2200系統的基本框架結構如圖1所示。

?

?

圖1? RCM2200系統結構


??? RCM2200采用Dynamic C?語言進行軟件開發,與標準C語言相比,Dynamic C的改進和差異在于使得在功能強大的嵌入式系統上進行實時編程變得非常容易。 語言的擴展包括多任務和優先多任務的構造,當供電失敗時,能夠保護寫入變量, 能夠寫入到中斷程序中去。標準C函數庫,特定板的外圍驅動,芯片外圍設備,以及其他的性能以源代碼的形式包含在Dynamic C中。完全支持匯編語言,在對時間要求較高的應用中,匯編代碼可以方便的與C代碼混用。
??? 在該開發系統中將RCM2200的以太網接口與當地局域網相連,選擇一個串口與計算機的串口相連。由以太網發送UDP報文給RCM2200微控制器核心模塊經過處理后通過串口發送給計算機,由計算機串口發送數據給RCM2200微控制器核心模塊經過處理后通過其上的網絡口發送UDP報文給以太網,從而實現基于RCM2200以太網和串口之間的通信。
3?UDP協議的實現
??? UDP協議是比較著名的傳輸層協議之一,它使用IP作為網絡層協議,為應用程序發送和接收數據報。但是,它提供無連接服務,是不可靠傳輸。因此,UDP報文主要用于需要實時數據傳輸的情況,一次傳輸少量的數據。在某些對實時性要求很高的場合,利用UDP報文進行數據傳輸是非常必要的,但往往要采用一些可靠性方案,以防止有漏傳、誤傳的現象發生。
3.1 客戶機/服務器程序設計模式
??? 客戶機/服務器的程序設計模式在網絡程序設計中被大量的應用。這種設計模式將整個系統分為兩大部分——服務器部分和客戶機部分??蛻魴C向服務器提出請求,服務器對請求作相應的處理將結果返回給客戶機。
??? 根據不同的實際情況,客戶機/服務器的通信存在對稱和非對稱兩種方式。在對稱的方式下,通信的每一方都可能扮演主從角色;在非對稱的方式下,一方不可改變的認為是主機,而另一方則是從機。無論是對稱的或是非對稱的,當服務被提供時必然存在客戶進程和服務進程?;赨DP協議的通信既可采用對稱方式也可采用非對稱方式。
3.2?數據報套接字
??? 套接字" title="套接字">套接字(socket)是通信的基石,是支持TCP/IP協議的網絡通信的基本操作單元。它是網絡通信過程中端點的抽象表示,包含進行網絡通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議端口,遠地" title="遠地">遠地主機的IP地址,遠地進程的協議端口。
??? UDP協議支持數據報套接字。這種套接字可以采用客戶/服務器模式,以全雙工方式工作,接收發送可以同時進行,但并不保證數據傳輸的可靠性、有序性和無重復性,需要由程序員負責管理數據報的排序和可靠性。
3.3? 使用Dynamic C實現UDP報文的傳輸
??? Dynamic C提供了許多支持TCP/IP協議的庫函數。其中,DCRTCP.LIB是最主要的函數庫。
下面將簡要介紹UDP協議下的基本通信流程。
3.3.1? 調用本地初始化函數
void sock_init(void)
??? 該函數將使用默認配置初始化本地信息包驅動器以及DCRTCP.LIB函數庫。該函數必須在其他網絡庫函數被使用前進行調用。
3.3.2? 打開數據報套接字
int udp_open( *s, lport, remote_IP, port, *data_handler ())
其中的參數解釋如下:
s : 指向UDP套接字的指針;
lport : 本地協議端口;
remote_IP : 可接受的遠地主機IP地址,如果該項為-1,則支持廣播通信;
port : 可接受的遠地進程協議端口,如果該項為-1,則為廣播數據報;
data_handler() : 如果接收到數據則調用該函數;
該函數的返回值,如果成功返回非零,否則返回零值。
3.3.3? 接收遠地主機發送的數據報
int udp_recv( *s, *buf_recv, recv_len)
??? 當套接字初始化后用該函數掃描接收緩沖區,,察看是否有數據報到達。其中,buf_recv : 指向用于存放已到達數據報的數組的指針;recv_len : 存放數據報的數組的大小。如果接收到數據報則返回數據報的長度;否則返回-1。
3.3.4? 發送數據報給遠地主機
?int udp_send( *s, *buf_send, send_len )
?調用該函數發送數據報給遠地主機。如果成功返回該數據報的長度,否則返回-1。
?buf_send : 指向待發送數據報的指針;
send_len : 待發送數據報的長度。
3.3.5? 網絡信息處理函數
int tcp_tick( *s )
??? 該函數將察看網絡連接狀態,檢查數據報的到達情況,處理新到數據報并重傳丟失的數據報。若出現網絡連接被復位及套接字已關閉的情況或參量s為NULL,則返回值為零;否則返回非零值。
3.3.6? 關閉套接字
void sock_close( *s )
??? 當數據傳送工作完成或傳送過程中發生錯誤時,可調用該函數關閉套接字
4?串口通信的實現
4.1? RS232電平與TTL電平的轉換
??? PC機的串行接口" title="串行接口">串行接口是符合EIA RS-232C規范的外部總線標準接口,而RCM2200配備有四個串行接口,都是采用TTL電平,因此兩者之間必須進行電平轉換。以RCM2200的串行口C(位于核心模塊的J4插槽上)為例,電平轉換如圖2所示。

?

?

圖2? RS232與TTL電平轉換圖


4.2? 使用Dynamic C實現串口數據的傳輸
??? Dynamic C提供了一些與計算機串行口進行通信的函數可供用戶程序調用,下面簡要介紹其中的一部分。
4.2.1? 打開串行接口
int serXopen( bard )
bard : 長整型,每秒鐘傳送的比特數。
??? 該函數用于打開RCM2200的串行接口,由于RCM2200核心模塊擁有四個串行口,故X可根據需要取為A\B\C\D其中一個。在調用該函數之前,還必須先定義串行口的輸入輸出緩沖區大小,通常情況下設定為2n-1,否則就采用默認值31,但在編譯時會給出警告。該函數的返回值:成功則為1,否則為0。
4.2.2? 讀取PC機串行口數據
int serXgetc()?????? /* X = A|B|C|D */
??? 程序可以調用該函數查詢串行口是否有字符來到,如果有,返回該字符值;否則,返回值-1。
4.2.3? 發送數據到PC機串行口
?int serXputs( *s )
?int serXwrite( s, length )? /* X = A|B|C|D */
??? 這兩個函數均可用于發送字符串給計算機的串行口,返回成功發送的字符數。
s : 待發送字符串的首地址;
length : 待發送字符串的長度。
4.2.4? 關閉串行口
void serXclose()???? /* X = A|B|C|D */
該函數用于關閉已經打開的串行口。
5?實現以太網與串口之間的通信
5.1?定義網絡以及串口初始化數據
??? 在程序的開頭,必須使用#define定義一些初始化數據,比如:RCM2200所使用的本地IP地址以及端口,與之通信的遠地IP地址以及端口以及串口輸入輸出緩沖區的大小等等。
5.2 主程序" title="主程序">主程序
??? 在主程序中調用PC機串口發送字符串給RCM2200經過處理后再由RCM2200發送UDP報文給以太網以及RCM2200接收以太網發送來的UDP報文后再送給計算機的串行口兩個子程序。
main()
{????? sock_init(); //初始化網絡庫函數:?? //打開串行口及網絡套接字for(;;;)
?????? tcp_tick(NULL);//察看套接字狀態
?????? init_comm();//網絡發報文串口接收
?????? comm_init();//串口發數據網絡接收?? }
5.3網絡發報文串口接收
??? 子程序init_comm() 使用庫函數udp_recv查詢RCM2200以太網接口是否有UDP報文來到,如果沒有則返回主程序,否則將UDP報文存放到buf_init數組中,然后調用serCputs(buf_init)通過RCM2200的串行口C發送到計算機的串行口。值得一提的是,當RCM2200接收到了一次報文之后,它將自動關閉接收報文的套接字,因此,如果還想接受下一次發送的報文,必須再次調用函數udp_open打開該套接字。
5.4串口發字符串網絡接收
??? 子程序 comm_init()調用函數serCgetc()用于查詢計算機的串行口是否有數據到來,如果沒有則返回主程序,否則將接收到的字符存儲到buf_comm數組中,直到檢測到結束符到來,將字符串以UDP報文的形式通過函數udp_send發送給以太網。如果發送成功,則返回主程序等待下一次數據的到來,否則關閉該套接字后重新打開再返回主程序等待。
5.5程序調試結果
??? 在該程序的調試過程中,利用Visual C++語言編寫了一個接收和發送UDP報文的程序用于以太網的計算機上,另外還使用了從網上下載的串口調試幫助軟件,結果表明,該程序能實現基于RCM2200以太網與異步串口之間的成功通信。
結論
??? RCM2200是為了促進嵌入式系統的快速開發和實現集成的以太網連接而設計的。集成的以太網口允許用戶通過使用經濟的網絡軟件進行瞬間的本地連接或全球范圍的連接。另外,RCM2200還提供了四個串行口用于和其他設備的串行口進行數據交換。
??? RCM2200使用Dynamic C軟件開發環境,支持C語言、匯編語言,擁有豐富的庫函數可供用戶調用,并具有單步編譯、斷點設置、單步執行、代碼分解、監視表達式等優秀性能。
??? 使用Dynamic C接收和發送UDP報文時,由于網絡對該報文的傳輸不提供質量保證,在每完成一次操作后,必須及時檢查套接字的狀態,避免發生誤傳、漏傳以及套接字關閉等現象。在發送和接收串口數據時,要注意使RCM2200的串口數據傳輸波特率與PC機保持一致,這樣,才能保證正確傳輸。
參考文獻
【1】Z-World, Inc.? RabbitCore RCM2200 User’s Manual? 2001年
【2】Z-World, Inc.? Dynamic C premier User’s Manual 1999年
【3】Z-World, Inc.? Dynamic C TCP/IP software User’s Manual? 2001年
【4】謝希仁.計算機網絡.第三版.大連: 大連理工大學出版社,2000.200~201.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          韩国女主播一区二区三区| 国产精品视频男人的天堂| 欧美日韩精品伦理作品在线免费观看| 欧美午夜在线观看| 欧美日韩在线综合| 在线视频一区观看| 国户精品久久久久久久久久久不卡| 国产精品综合视频| 亚洲国产精品一区| 亚洲国产精品悠悠久久琪琪| 精品成人国产在线观看男人呻吟| 日韩一区二区免费看| 久久久久国产精品麻豆ai换脸| 国产精品极品美女粉嫩高清在线| 欧美日韩在线观看一区二区三区| 欧美成人精品影院| 欧美日韩国产高清视频| 先锋a资源在线看亚洲| 欧美日韩一区二区免费在线观看| 欧美裸体一区二区三区| 日韩亚洲综合在线| 欧美一级午夜免费电影| 亚洲日本一区二区三区| 欧美性淫爽ww久久久久无| 国产欧美精品va在线观看| 国产中文一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 欧美性猛交一区二区三区精品| 国产网站欧美日韩免费精品在线观看| 国产麻豆精品久久一二三| 狠狠色狠狠色综合人人| 亚洲午夜性刺激影院| 玖玖国产精品视频| 国产精品成人免费精品自在线观看| 国产主播精品在线| 欧美日本韩国在线| 欧美日韩一区二区欧美激情| 欧美大片免费看| 亚洲视频1区2区| 91久久精品网| 亚洲人线精品午夜| 亚洲香蕉网站| 国产精品一区免费观看| 亚洲精品视频一区二区三区| 久久精品一区蜜桃臀影院| 久久精品国产免费看久久精品| 欧美日韩1区2区3区| 亚洲欧洲一区二区在线观看| 久久福利电影| 日韩视频永久免费观看| 午夜精品免费| 亚洲人成在线观看网站高清| 亚洲成人在线视频网站| 欧美日韩国产999| 国产午夜精品理论片a级探花| 国产精品一区二区在线观看网站| 欧美1区2区视频| 亚洲美女91| 欧美精品自拍| 亚洲国产日韩综合一区| 国产手机视频精品| 国产日韩欧美一区二区三区四区| 欧美一区二区三区在线播放| 亚洲第一偷拍| 国产主播喷水一区二区| 国产一区二区三区电影在线观看| 樱桃国产成人精品视频| 亚洲人成人77777线观看| 免费成人av在线看| 免费久久久一本精品久久区| 99国产精品私拍| 久久一区二区三区四区| 欧美成人精品在线| 亚洲国产精品va| 在线免费观看日本欧美| 在线免费高清一区二区三区| 久久婷婷蜜乳一本欲蜜臀| 国产视频精品网| 国产精品高清免费在线观看| 午夜亚洲影视| 欧美日韩大片一区二区三区| 欧美亚洲视频一区二区| 一区二区三区欧美在线| 国产偷自视频区视频一区二区| 亚洲女女做受ⅹxx高潮| 在线观看精品一区| 欧美日韩国产色视频| 欧美性做爰毛片| 亚洲第一主播视频| 亚洲第一视频网站| 亚洲精品欧美精品| 国产欧美一区二区三区久久人妖| 亚洲国产精品成人精品| 欧美亚洲一级| 欧美午夜一区二区三区免费大片| 亚洲高清成人| 欧美日韩精品免费在线观看视频| 国自产拍偷拍福利精品免费一| 欧美a级一区二区| 国产午夜精品在线| 亚洲直播在线一区| 欧美国产精品日韩| 亚洲精品一区二区三区四区高清| 久久综合狠狠综合久久激情| 欧美a级大片| 国产伦精品一区二区三区| 亚洲精品视频免费在线观看| 欧美精品午夜视频| 日韩视频一区二区在线观看| 国产精品乱看| 国产精品腿扒开做爽爽爽挤奶网站| 免费不卡亚洲欧美| 亚洲特色特黄| 欧美精选一区| 国产精品久久久久久久7电影| 欧美日韩调教| 国产午夜精品在线观看| 欧美女同在线视频| 免费成人黄色片| 亚洲国产精品精华液2区45| 欧美日韩1区2区3区| 欧美日韩精品一区二区三区四区| 国内欧美视频一区二区| 性一交一乱一区二区洋洋av| 亚洲国产成人精品久久久国产成人一区| 久久久久久九九九九| 激情综合中文娱乐网| 性色av一区二区三区红粉影视| 午夜视频在线观看一区二区| 一区在线观看视频| 国产精品私拍pans大尺度在线| 免费毛片一区二区三区久久久| 亚洲国产精品一区二区www在线| 国产婷婷成人久久av免费高清| 国产精品海角社区在线观看| 久久免费视频观看| 国产视频一区在线| 欧美成人免费全部观看天天性色| 一区在线免费观看| 欧美久久久久中文字幕| 欧美在线观看天堂一区二区三区| 欧美一区2区视频在线观看| 久久久久综合一区二区三区| 一区视频在线播放| 欧美日韩午夜在线| 国产精品九九久久久久久久| 久久精品72免费观看| 欧美精品97| 欧美日韩二区三区| 欧美精品在欧美一区二区少妇| 欧美资源在线观看| 久久久亚洲国产天美传媒修理工| 国产精品一区二区三区久久久| 蜜臀久久99精品久久久画质超高清| 亚洲日本成人网| 韩国v欧美v日本v亚洲v| 欧美国产视频一区二区| 国产欧美在线看| 亚洲黄色在线| 欧美视频免费看| 美女久久一区| 久久精品天堂| 欧美日韩一二三区| 国产亚洲欧美aaaa| 一区二区三区精品视频在线观看| 亚洲精品国产精品国自产观看浪潮| 亚洲一区美女视频在线观看免费| 老司机午夜免费精品视频| 韩国av一区二区| 欧美精品入口| 欧美国产免费| 亚洲福利精品| 亚洲精品中文字幕女同| 亚洲视频自拍偷拍| 欧美色欧美亚洲高清在线视频| 国产精品视频男人的天堂| 国产偷国产偷亚洲高清97cao| 日韩网站在线看片你懂的| 噜噜噜在线观看免费视频日韩| 欧美日韩在线一区二区| 亚洲美女免费视频| 久久亚洲综合色一区二区三区| 在线日韩欧美视频| 久久久亚洲欧洲日产国码αv| 国产日韩欧美精品综合| 国产深夜精品| 91久久久精品| 欧美天堂亚洲电影院在线播放| 欧美日韩视频| 国产一区二区精品丝袜| 欧美日韩专区| 亚洲精品美女免费| 亚洲理论在线| 久久久久www| 亚洲天堂av在线免费观看| 亚洲欧洲日本一区二区三区| 国产精品久久91| 国产精品性做久久久久久| 欧美一级淫片播放口| 欧美视频在线免费看| 欧美午夜免费影院| 欧美在线啊v| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产伦精品一区二区三区在线观看| 国产精品国产自产拍高清av| 国产精品另类一区| 亚洲欧洲午夜| 亚洲欧美综合一区| 久久理论片午夜琪琪电影网| 亚洲日本va午夜在线影院| 日韩午夜视频在线观看| 亚洲视频精选在线| 亚洲一区二区视频在线观看| 亚洲字幕在线观看| 久久久久久夜精品精品免费| 欧美日韩成人一区| 亚洲精品一二三区| 久久久久久久综合| 在线成人激情视频| 亚洲国产欧美一区二区三区同亚洲| 欧美诱惑福利视频| 尤妮丝一区二区裸体视频| 免费毛片一区二区三区久久久| 新狼窝色av性久久久久久| 性8sex亚洲区入口| 国产在线成人| 亚洲日本免费电影| 午夜精品影院在线观看| 亚洲综合日韩在线| 国产日韩精品一区二区三区在线| 136国产福利精品导航网址应用| 欧美色播在线播放| 国产日韩欧美在线看| 国产精品一二三| 亚洲国产一区在线观看| 免费欧美在线视频| 国内成+人亚洲+欧美+综合在线| 欧美日韩一区二区在线观看视频| 宅男在线国产精品| 亚洲高清资源综合久久精品| 久久精品72免费观看| 国产精品麻豆成人av电影艾秋| 麻豆精品一区二区av白丝在线| 亚洲永久在线| 亚洲电影第三页| 国产精品国产三级国产普通话三级| 激情懂色av一区av二区av| 欧美不卡高清| 国产九九精品| 欧美极品在线播放| 精品成人一区二区三区| 亚洲综合第一页| 欧美喷潮久久久xxxxx| 日韩视频中午一区| 久久午夜视频| 欧美日韩一区二区在线观看视频| 国产夜色精品一区二区av| 国产精品视频免费观看www| 精品999网站| 欧美精品国产| 91久久夜色精品国产网站| 国产一区二区三区电影在线观看| 欧美日韩在线播放三区| 欧美日韩国产精品一区二区亚洲| 国产精品成人va在线观看| 欧美在线不卡| 国产老肥熟一区二区三区| 亚洲国产99精品国自产| 91久久久久久| 欧美成人dvd在线视频| 亚洲日本理论电影| 国产在线播放一区二区三区| 国产日韩精品在线播放| 久久综合久久综合这里只有精品| 亚洲成人在线视频网站| 国产亚洲aⅴaaaaaa毛片| 亚洲精品一区二区网址| 在线视频日韩| 亚洲一区精品视频| 国产视频在线观看一区二区| 亚洲欧美日韩系列| 午夜国产精品影院在线观看| 久久久国产精品一区二区三区| 国产情人节一区| 国内成人精品视频| 午夜国产精品视频免费体验区| 久久九九全国免费精品观看| 免费成人黄色| 日韩写真视频在线观看| 午夜精品亚洲一区二区三区嫩草| 久久精品国产精品亚洲综合| 久久综合九九| 久久另类ts人妖一区二区| 欧美成人精品一区二区三区| 国产精品成人一区二区艾草| 国产精品视频成人| 一区二区免费看| 日韩视频―中文字幕| 在线看国产日韩| 国产一区二三区| 亚洲视频在线观看免费| 久久精品动漫| 国产日产精品一区二区三区四区的观看方式| 欧美在线视频免费观看| 国产精品丝袜白浆摸在线| 国产亚洲精品高潮| 欧美午夜精品久久久久久孕妇| 久久久青草青青国产亚洲免观| 久久www免费人成看片高清| 国产精品久久久久久久久婷婷| 快she精品国产999| 国产精品毛片a∨一区二区三区|国| 狠狠色狠狠色综合日日91app| 国产精品久久久久久久浪潮网站| 免费在线成人| 欧美高清自拍一区| 欧美激情综合亚洲一二区| 欧美在线播放高清精品| 亚洲欧洲精品一区二区三区不卡| 欧美视频网址| 国产精品一卡二卡| 亚洲在线一区二区三区| 国产美女一区二区| 欧美成人精品| 欧美一区二区久久久| 欧美亚洲自偷自偷| 国产精品高潮久久| 欧美三级精品|