• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于單片機(jī)的藍(lán)牙醫(yī)療設(shè)備網(wǎng)關(guān)的軟件設(shè)計(jì)

    2022-06-24 07:38:06祝小蜜溫琦霖
    電子制作 2022年10期
    關(guān)鍵詞:波特率網(wǎng)關(guān)中斷

    祝小蜜,溫琦霖

    (廣州商學(xué)院,廣東廣州,511363)

    0 引言

    近年來,我國老齡化越來越嚴(yán)重,高血壓、糖尿病等慢性疾病越來越多,再加上現(xiàn)在不健康的飲食和生活方式使得各種疾病越來越常見。遠(yuǎn)程的家庭醫(yī)生在社會(huì)上需求越來越大。同時(shí),現(xiàn)在市場(chǎng)上出現(xiàn)了一些常見的家庭用的藍(lán)牙醫(yī)療設(shè)備,如血壓計(jì)、血糖儀、電子聽診器等?;谶h(yuǎn)程家庭醫(yī)生的構(gòu)想,可以做一套基于現(xiàn)有設(shè)備的遠(yuǎn)程家庭醫(yī)生系統(tǒng)。常見的藍(lán)牙設(shè)備網(wǎng)關(guān)都采用帶系統(tǒng)的嵌入式,軟件開發(fā)難度相對(duì)較大,本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于單片機(jī)的藍(lán)牙網(wǎng)關(guān)的軟件,設(shè)計(jì)不需要考慮藍(lán)牙協(xié)議、WIFI協(xié)議和4G通信協(xié)議的底層,可以快速的構(gòu)建藍(lán)牙數(shù)據(jù)到云端的通信,將這些常用的藍(lán)牙醫(yī)療設(shè)備的數(shù)據(jù)上傳至云服務(wù)器,為實(shí)現(xiàn)遠(yuǎn)程醫(yī)療打通了設(shè)備到云端的數(shù)據(jù)通信路徑。

    藍(lán)牙網(wǎng)關(guān)的作用示意圖如圖1所示。

    圖1 藍(lán)牙網(wǎng)關(guān)作用示意圖

    1 硬件平臺(tái)

    本設(shè)計(jì)的網(wǎng)關(guān)功能是實(shí)現(xiàn)與四臺(tái)藍(lán)牙醫(yī)療設(shè)備的藍(lán)牙自動(dòng)連接和數(shù)據(jù)傳輸,實(shí)現(xiàn)網(wǎng)關(guān)通過WIFI模塊或4G模塊與云服務(wù)器雙向通信。另外考慮到可推廣性和可用性,設(shè)計(jì)WIFI賬戶和密碼、服務(wù)器IP和端口號(hào)等信息的修改功能,和設(shè)備連接狀態(tài)的指示等,這部分功能用按鍵和顯示屏實(shí)現(xiàn)。同時(shí)設(shè)計(jì)掉電記憶功能,用于掉電保存每個(gè)用戶修改后的WIFI的名稱、密碼和服務(wù)器的IP地址、端口號(hào),保證本設(shè)計(jì)的網(wǎng)關(guān)修改過上述信息后,掉電再開機(jī)時(shí),網(wǎng)關(guān)能連接上WIFI和服務(wù)器。

    本設(shè)計(jì)的硬件框圖如圖2所示。其中主控單片機(jī)型號(hào)是STM32F103RCT6,串口擴(kuò)展電路使用WK2114芯片,藍(lán)牙模塊1、2、3使用低功耗藍(lán)牙模塊HLK-B40,用于連接血糖儀和兩個(gè)血壓儀藍(lán)牙,模塊4使用經(jīng)典藍(lán)牙模塊HC-05,用于連接聽診器,WIFI模塊使用ESP-12E,4G模塊使用銀爾達(dá)公司生產(chǎn)的Core-Air724 AT固件版本,按鍵使用三個(gè)普通的獨(dú)立按鍵,顯示屏使用常見的1.44寸IIC總線的TFT-LCD顯示屏,掉電記憶使用EEPROM,型號(hào)是AT24C02 。

    圖2 硬件平臺(tái)系統(tǒng)框圖

    2 軟件設(shè)計(jì)

    ■ 2.1 軟件整體功能設(shè)計(jì)

    整個(gè)軟件功能是首先進(jìn)行初始化,使網(wǎng)關(guān)能夠同時(shí)與4個(gè)藍(lán)牙模塊和WIFI模塊或4G模塊建立通信并使WIFI模塊或4G模塊能連接到服務(wù)器。初始化時(shí)要從AT24C02中讀取待聯(lián)網(wǎng)的WIFI的名稱、密碼和服務(wù)器的IP地址、端口號(hào)。初始化后網(wǎng)關(guān)處于空閑狀態(tài)下,該狀態(tài)網(wǎng)關(guān)服務(wù)器發(fā)送心跳包,服務(wù)器會(huì)回復(fù)心跳。當(dāng)服務(wù)器下發(fā)上傳數(shù)據(jù)的命令時(shí),網(wǎng)關(guān)退出空閑狀態(tài),此時(shí)如果對(duì)應(yīng)的藍(lán)牙設(shè)備有數(shù)據(jù)產(chǎn)生則給服務(wù)器上傳數(shù)據(jù),每0.5秒上傳一次數(shù)據(jù)包,每次上傳后服務(wù)器都會(huì)發(fā)送確認(rèn)數(shù)據(jù)包。當(dāng)服務(wù)器發(fā)送停止上傳命令時(shí),網(wǎng)關(guān)再次進(jìn)入空閑狀態(tài)??臻e狀態(tài)下即使接收到藍(lán)牙設(shè)備發(fā)送的數(shù)據(jù),也不會(huì)將數(shù)據(jù)上傳到服務(wù)器。當(dāng)網(wǎng)關(guān)在3秒內(nèi)收不到服務(wù)器的心跳或確認(rèn)信號(hào),或者初始化階段WIFI模塊不能聯(lián)網(wǎng),則認(rèn)為當(dāng)前WIFI模塊與服務(wù)器之間的連接中斷,此時(shí)啟動(dòng)4G模塊初始化,使4G模塊替代WIFI模塊與服務(wù)器之間建立連接并繼續(xù)實(shí)現(xiàn)數(shù)據(jù)上傳。如果4G模塊斷網(wǎng)了,則提醒用戶聯(lián)網(wǎng)失敗請(qǐng)重啟。另外顯示屏上可實(shí)時(shí)查看與藍(lán)牙設(shè)備以及服務(wù)器的連接狀態(tài),通過按鍵可以進(jìn)入修改界面,并修改WIFI賬戶和密碼以及服務(wù)器的IP地址和端口號(hào),并將修改后的值在AT24C02中保存起來。

    軟件整體分為初始化、用戶交互、與服務(wù)器之間的心跳和命令處理、數(shù)據(jù)上傳和利用外部中斷接收藍(lán)牙數(shù)據(jù)等幾個(gè)模塊,其中用戶交互包括按鍵檢測(cè)和處理、連接狀態(tài)檢測(cè)和顯示。

    注意,本文對(duì)于STM32單片機(jī)的外設(shè)的使用、按鍵、顯示、IIC時(shí)序、EEPROM使用等常用的設(shè)計(jì)不展開說明,主要說明幾個(gè)模塊的配置過程以及整體代碼的邏輯設(shè)計(jì)。

    圖3 整體軟件框架和流程

    ■ 2.2 初始化設(shè)計(jì)

    初始化分為兩個(gè)部分,一部分是單片機(jī)本身的外設(shè)的初始化,包括對(duì)IO口,串口,定時(shí)器,外部中斷的初始化;另一部分是指對(duì)功能模塊的初始化,目的是做好底層調(diào)用函數(shù)和使相應(yīng)的模塊能正常工作,包括顯示屏和EEPROM用的IIC總線,WK2114串口擴(kuò)展芯片的使用,各個(gè)藍(lán)牙模塊、WIFI模塊、4G模塊的AT指令配置等。

    2.2.1 單片機(jī)外設(shè)初始化

    單片機(jī)本身外設(shè)的初始化具體步驟不展開說明,只說明設(shè)置時(shí)要考慮的參數(shù)。對(duì)于定時(shí)器來說,系統(tǒng)用到了0.5秒計(jì)時(shí)、5秒計(jì)時(shí)等多個(gè)計(jì)時(shí),對(duì)于多個(gè)計(jì)時(shí),并不需要很多個(gè)定時(shí)器,只需要取所有計(jì)時(shí)的最大公約數(shù)的時(shí)間作為定時(shí)器中斷時(shí)間,同時(shí)記錄進(jìn)中斷次數(shù),然后可以用進(jìn)中斷次數(shù)來判斷多個(gè)計(jì)時(shí)時(shí)間是否達(dá)到。所以定時(shí)器中斷周期設(shè)置為0.5秒,中斷次數(shù)10次即為5秒。串口初始化的目的是建立單片機(jī)與各個(gè)模塊之間的串口通信,之后才能設(shè)置模塊的功能并接收數(shù)據(jù)。本系統(tǒng)一共使用了單片機(jī)的三個(gè)串口,分別連接擴(kuò)展芯片的主串口、WIFI模塊和4G模塊的串口??紤]到數(shù)據(jù)傳輸速度至少要滿足電子聽診器12KB/s的傳輸速度,結(jié)合三種串口模塊能達(dá)到的串口最大速度,這三個(gè)串口的速度都設(shè)置為460800,這樣既能滿足設(shè)計(jì)需要,又不至于速度太高引起傳輸出錯(cuò)率增加。外部中斷是為了從WK2114上讀取藍(lán)牙設(shè)備傳來的數(shù)據(jù)。為了不丟失數(shù)據(jù),讀取數(shù)據(jù)需要盡快反應(yīng),所以使用中斷的方式從WK2114的FIFO中讀數(shù)據(jù),并把該中斷優(yōu)先級(jí)設(shè)置為最高。

    2.2.2 串口擴(kuò)展芯片初始化

    WK2114串口擴(kuò)展芯片初始化時(shí)先拉低RST引腳10ms,實(shí)現(xiàn)對(duì)WK2114串口擴(kuò)展芯片的復(fù)位,然后再拉高進(jìn)入到工作狀態(tài)。然后進(jìn)行主串口波特率的自動(dòng)匹配,方法是給主串口發(fā)送匹配碼0x55,WK2114 可以自動(dòng)測(cè)得此時(shí)MCU的波特率并把主接口UART的波特率鎖定,以后就以此波特率進(jìn)行通信;如果主接口需要再次更換波特率,需要對(duì)芯片硬件復(fù)位,然后再次進(jìn)行波特率測(cè)試和鎖定。匹配成功后,對(duì)每個(gè)子串口進(jìn)行初始化,包括使能子串口的時(shí)鐘、軟件復(fù)位子串口、使能子串口總中斷、使能子串口接收觸點(diǎn)中斷和超時(shí)中斷、初始化FIFO和設(shè)置固定中斷觸點(diǎn)、使能子串口的發(fā)送和接收使能,設(shè)置子串口波特率等。本設(shè)計(jì)使用外部中斷來處理各個(gè)子串口之間的數(shù)據(jù)接收。

    使能了WK2112的子串口中斷來讀取FIFO中的數(shù)據(jù),每個(gè)子串口的中斷方式都設(shè)置為64觸點(diǎn)中斷和超時(shí)中斷,即當(dāng)任意一個(gè)子串口的FIFO中有64個(gè)字節(jié)數(shù)據(jù)或者在接收數(shù)據(jù)過程中有連續(xù)4個(gè)字節(jié)的時(shí)間內(nèi)沒有收到數(shù)據(jù),則觸發(fā)中斷。

    為了保證子串口同時(shí)收到的數(shù)據(jù)都能被主串口及時(shí)讀出,那么主串口的傳輸速度要大于所有子串口的數(shù)據(jù)接收速度之和。本設(shè)計(jì)只有經(jīng)典藍(lán)牙模塊產(chǎn)生的數(shù)據(jù)速度快,要預(yù)留大于16KB/是的速度,所以對(duì)應(yīng)經(jīng)典藍(lán)牙模塊的子串口波特率設(shè)置為460800,其他三個(gè)藍(lán)牙產(chǎn)生數(shù)據(jù)的速度要小很多,所以另外三個(gè)子串口波特率設(shè)置為115200。

    2.2.3 經(jīng)典藍(lán)牙模塊初始化

    首先讓模塊的復(fù)位引腳在高電平狀態(tài)下,連續(xù)拉低兩次50ms,讓藍(lán)牙模塊進(jìn)入到AT指令模式。然后通過以下AT指令和步驟進(jìn)行配置:

    AT+UART=460800,0,0:修改模塊的串口波特率;

    AT+ROLE=1:設(shè)置為主機(jī)模式;

    AT+BIND=藍(lán)牙地址:綁定藍(lán)牙地址NAP:UAP:LAP(十六進(jìn)制)綁定指令只有在指定藍(lán)牙地址連接模式時(shí)有效;

    AT+LINK =藍(lán)牙地址:連接從機(jī)的配對(duì)地址;

    AT+RESET:重啟模塊。

    之后將藍(lán)牙RST引腳拉低,將保存這些AT指令配置并將進(jìn)入到運(yùn)行模式。

    2.2.4 低功耗藍(lán)牙模塊初始化

    當(dāng)MCU每次復(fù)位時(shí),通過對(duì)藍(lán)牙模塊復(fù)位引腳的重新配置,復(fù)位引腳在高電平狀態(tài)下拉低電平一秒鐘,讓藍(lán)牙模塊進(jìn)入到AT指令模式。然后通過以下AT指令和步驟進(jìn)行配置:

    AT+BAND=115200:修改模塊的串口波特率;

    AT+UUIDS=0000FFF000001000800000805F9B34 FB:藍(lán)牙模塊透?jìng)鞣?wù)默認(rèn)值UUIDS;

    AT+UUIDR=0000FFF400001000800000805F9B34 FB:透?jìng)鞣?wù)中的Read特征默認(rèn)值UUIDR;

    AT+UUIDW=0000FFF100001000800000805F9B34 FB:透?jìng)鞣?wù)中的Write特征默認(rèn)值UUIDW;

    AT+ROLE=2:設(shè)置為主機(jī)模式;

    AT+PINCODE=000000:設(shè)置配對(duì)碼;

    AT+PEERMAC=藍(lán)牙的MAC地址:連接從機(jī)的配對(duì)地址;

    AT+REBOOT=1:重啟模塊。

    之后模塊將按照這些AT指令的配置并進(jìn)入到運(yùn)行模式。

    2.2.5 WiFi模塊初始化

    WiFi模塊的初始化通過對(duì)復(fù)位引腳進(jìn)行拉低250ms后拉高,實(shí)現(xiàn)WiFi模塊的復(fù)位,進(jìn)入到AT指令模式。然后通過以下AT指令和步驟進(jìn)行配置:

    AT+CWMODE=3:模塊設(shè)置為softAP + station 模式;

    AT+RST:重啟設(shè)備;

    AT+UART_DEF=115200,8,1,0,1:設(shè)置串口波特率,并開啟串口流控制;

    AT+CWJAP_CUR="WiFi名稱","WiFi密碼":配置模塊連接的WiFi名稱和密碼;

    AT+CIFSR:查詢本地的IP地址;

    AT+CIPMUX=0:設(shè)置多連接模式;

    AT+CIPMODE=1:設(shè)置傳輸模式為透?jìng)髂J?,僅支持TCP單連接情況;

    AT+CIPSTART="TCP","IP地址",端口號(hào):建立TCP連接;

    AT+CIPSEND:在透?jìng)髂J綍r(shí),開始發(fā)送數(shù)據(jù)。

    當(dāng)WiFi連接網(wǎng)絡(luò)失敗時(shí),會(huì)啟動(dòng)4G模塊的初始化,保證設(shè)備的聯(lián)網(wǎng)成功。

    2.2.6 4G模塊初始化

    復(fù)位引腳在低電平狀態(tài)下進(jìn)行拉高1100ms后再拉低,完成4G模塊的復(fù)位,當(dāng)復(fù)位完成時(shí),會(huì)接收到模塊發(fā)送的“SMS READY”,表示復(fù)位完成。然后通過以下AT指令和步驟進(jìn)行配置:

    AT+CPIN?:查詢卡是否插好,直到接收到回應(yīng),否則嘗試重啟模塊;

    AT+CSQ:查詢卡的信息質(zhì)量;

    AT+CREG?:網(wǎng)絡(luò)注冊(cè)狀態(tài);

    AT+CGATT?:附著GPRS網(wǎng)絡(luò);

    AT+CIPMODE=1:設(shè)置為透?jìng)髂J剑?/p>

    AT+CIPMUX=0:IP設(shè)置為單鏈接模式;

    AT+CSTT="CMNET","","":選擇卡的類型APN,這里使用的是中國移動(dòng);

    AT+CIICR:激活后獲取IP地址;

    AT+CIFSR:查詢IP地址;

    AT+CIPSCONT:保存TCP的IP地址參數(shù);

    AT+CIPSTART="TCP","IP地址",端口號(hào):創(chuàng)建TCP連接。

    以上每個(gè)步驟單片機(jī)都要收到對(duì)應(yīng)的回復(fù)才會(huì)進(jìn)行下一步。當(dāng)接收到服務(wù)器下發(fā)的”CONNECT”,表示連接服務(wù)器完成。當(dāng)4G初始化失敗時(shí),顯示屏上提示連接不成功請(qǐng)重啟。

    ■ 2.3 用戶交互設(shè)計(jì)

    用戶交互包括顯示屏和按鍵。顯示屏有兩個(gè)顯示界面,一個(gè)界面是顯示網(wǎng)關(guān)與藍(lán)牙以及與服務(wù)器之間的連接狀態(tài),與各藍(lán)牙模塊的連接狀態(tài)由藍(lán)牙模塊的狀態(tài)輸出引腳的狀態(tài)判斷,與服務(wù)器之間的連接狀態(tài)由是否收到服務(wù)器的心跳信號(hào)或數(shù)據(jù)接收信號(hào)判斷;另一個(gè)界面顯示修改WIFI用戶名和密碼以及服務(wù)器IP地址和端口號(hào)的過程。

    用戶輸入使用了三個(gè)獨(dú)立按鍵,分別是KEY1、KEY2、KEY3。KEY1用于進(jìn)入修改狀態(tài)和切換修改的位數(shù)。設(shè)定家庭WIFI的用戶名和密碼都是8位的數(shù)字和小寫字母,而服務(wù)器的IP地址最大是255.255.255.255共12位數(shù)字,端口號(hào)最大是65535共5位數(shù)字,則總共需要修改的數(shù)字和字母位數(shù)是33位。系統(tǒng)正常工作時(shí)是顯示網(wǎng)關(guān)連接狀態(tài)的界面,當(dāng)按鍵KEY1第一次按下時(shí)畫面切換到信息修改界面,并處于第一個(gè)字符待修改的狀態(tài),界面上該位顯示為紅色,其他位置顯示為藍(lán)色,之后每次按下KEY1時(shí),待修改位都會(huì)切換到下一個(gè)并顯紅色,一直到第33個(gè)位置之后再按下一次就推出修改界面,回到連接狀態(tài)顯示界面,并且把修改之后的字符存入到EEPROM中。KEY2、KEY3用于待修改位的字符的加減,字符在0-9和a到z之間循環(huán)。

    ■ 2.4 定時(shí)器邏輯設(shè)計(jì)

    定時(shí)器初始化時(shí)設(shè)置為每0.5秒中斷一次,用于提供0.5秒的時(shí)基和5秒、100秒、200秒的計(jì)時(shí),其中0.5秒用于區(qū)分為階段1和階段2,兩個(gè)階段交替的處理數(shù)據(jù);5秒計(jì)時(shí)用于空閑狀態(tài)時(shí)每個(gè)5秒發(fā)送一次心跳包;100秒用于開始WIFI模塊初始化的計(jì)時(shí),如果WIFI在100秒內(nèi)初始化成功,就不再計(jì)這個(gè)時(shí)間了,如果計(jì)時(shí)超過100秒就認(rèn)為WIFI模塊聯(lián)網(wǎng)初始化不成功,這時(shí)要開啟4G模塊的初始化;200秒用于整個(gè)初始化階段的計(jì)時(shí),如果超過這個(gè)時(shí)間還沒有初始化成功,則認(rèn)為本網(wǎng)關(guān)連接不上網(wǎng)絡(luò),在顯示屏上提醒用戶重啟本網(wǎng)關(guān),如果初始化成功了,就會(huì)退出初始化狀態(tài),也就不再計(jì)時(shí)了。本文的流程圖都比較長(zhǎng),用偽代碼表達(dá)程序邏輯效果更好。定時(shí)器中斷服務(wù)函數(shù)的邏輯設(shè)計(jì)用偽代碼表示如下所示。

    ■ 2.5 與服務(wù)器之間的心跳和命令處理

    本網(wǎng)關(guān)根據(jù)服務(wù)器下發(fā)的命令處于空閑和非空閑兩種狀態(tài),空閑狀態(tài)不會(huì)上傳藍(lán)牙模塊收到的數(shù)據(jù),只上傳心跳包,非空閑狀態(tài)時(shí),如果藍(lán)牙設(shè)備有數(shù)據(jù)發(fā)送過來,就把數(shù)據(jù)上傳給服務(wù)器。系統(tǒng)上電默認(rèn)為空閑狀態(tài),此時(shí)每隔5秒給服務(wù)器發(fā)送心跳包??臻e狀態(tài)下如果收到開始上傳的命令,則系統(tǒng)進(jìn)入非空閑狀態(tài),非空閑狀態(tài)下,如果收到停止上傳的命令,則進(jìn)入空閑狀態(tài)。

    不管在任何狀態(tài)下,任何數(shù)據(jù)包在網(wǎng)關(guān)和服務(wù)器的通信都是要回發(fā)確認(rèn)數(shù)據(jù)包的。如果網(wǎng)關(guān)發(fā)出任何數(shù)據(jù)的3秒內(nèi)收不到正確的服務(wù)器回發(fā)數(shù)據(jù),則認(rèn)為網(wǎng)關(guān)和服務(wù)器之間斷開連接了,此時(shí)如果是使用WIFI模塊跟服務(wù)器通信,則需要啟動(dòng)4G模塊的初始化,使4G模塊替代WIFI模塊與服務(wù)器之間建立連接并繼續(xù)實(shí)現(xiàn)數(shù)據(jù)上傳,如果是使用4G模塊在通信,則提示用戶聯(lián)網(wǎng)失敗,請(qǐng)重啟。

    單片機(jī)計(jì)時(shí)都是使用的定時(shí)器,關(guān)于計(jì)時(shí)的邏輯是和定時(shí)器中斷函數(shù)一起實(shí)現(xiàn)的。與WIFI或4G模塊之間傳輸數(shù)據(jù)使用各自連接的串口。服務(wù)器下發(fā)的心跳回復(fù)、命令、接收數(shù)據(jù)回復(fù)都是固定長(zhǎng)度為31的數(shù)據(jù)字節(jié),只是其中的有效字節(jié)不同。判斷是否收到正確的回復(fù),通過串口接收中斷是否接收到31個(gè)的字節(jié)的數(shù)據(jù)且有效字節(jié)匹配。程序流程如下所示。

    ■ 2.6 藍(lán)牙設(shè)備數(shù)據(jù)的接收

    本設(shè)計(jì)采用WK2114串口拓展芯片,實(shí)現(xiàn)將一路異步串口拓展為 4 路 UART,用于連接四個(gè)藍(lán)牙模塊。WK2114是UART接口的4 通道 UART 器件,WK2114將一個(gè)標(biāo)準(zhǔn)異步串口擴(kuò)展成為4個(gè)增強(qiáng)功能串口。

    擴(kuò)展的子通道的UART具備如下功能特點(diǎn):每個(gè)子通道UART的波特率、字長(zhǎng)、校驗(yàn)格式可以獨(dú)立設(shè)置,最高可以提供2Mbps 的通信速率,每個(gè)子通道具備收、發(fā)獨(dú)立的256 級(jí)FIFO,F(xiàn)IFO的中斷可按用戶需求進(jìn)行編程觸發(fā)點(diǎn)且具備超時(shí)中斷功能。FIFO功能非常必要。當(dāng)大量數(shù)據(jù)連續(xù)傳輸時(shí),需要單片機(jī)每0.5秒處理數(shù)據(jù)幀格式并配置串口DMA等,這需要一段時(shí)間,這段時(shí)間內(nèi)新的要傳輸?shù)臄?shù)據(jù)就可以暫存在FIFO緩沖區(qū),等待下一個(gè)周期的處理。

    藍(lán)牙模塊都連接在串口擴(kuò)展芯片WK2114的四個(gè)子串口通道上,初始化完成后,當(dāng)任一個(gè)藍(lán)牙設(shè)備發(fā)送數(shù)據(jù)都會(huì)存在對(duì)應(yīng)子串口的FIFO中,當(dāng)滿足FIFO的觸點(diǎn)或超時(shí)中斷條件時(shí),都會(huì)觸發(fā)單片機(jī)的外部中斷,進(jìn)入外部中斷服務(wù)函數(shù)??紤]到可能會(huì)有多個(gè)藍(lán)牙設(shè)備同時(shí)發(fā)送,而所有的子串口觸發(fā)中斷的引腳是共用的,所以每次進(jìn)外部中斷,都對(duì)每個(gè)子通道的FIFO進(jìn)行讀取并置位設(shè)備收到過數(shù)據(jù)的標(biāo)記,保證不會(huì)漏掉數(shù)據(jù)。從每個(gè)子通道的FIFO都會(huì)讀取到數(shù)據(jù)長(zhǎng)度和數(shù)據(jù),要將新收到的數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的存儲(chǔ)數(shù)組中,同時(shí)記錄存儲(chǔ)數(shù)組的總長(zhǎng)度。根據(jù)擴(kuò)展芯片的特性,當(dāng)從某通道的FIFO讀出數(shù)據(jù)時(shí),該通道對(duì)應(yīng)的中斷標(biāo)記位就會(huì)清零的,基于此,在中斷服務(wù)函數(shù)中會(huì)循環(huán)檢查FIFO中是否有新的中斷標(biāo)記產(chǎn)生,如果有就繼續(xù)讀出,一直到4個(gè)FIFO中都沒有產(chǎn)生新的中斷標(biāo)記。這樣在中斷服務(wù)過程中,如果已經(jīng)讀過的子串口又收到了數(shù)據(jù),也會(huì)把新收到的讀出來并清掉新產(chǎn)生的標(biāo)記,保證不會(huì)在讀某個(gè)子串口數(shù)據(jù)的時(shí)候,漏掉其他子串口剛好發(fā)過來的數(shù)據(jù)。

    數(shù)據(jù)上傳服務(wù)器是0.5秒一次,為了保證上傳過程中還能收到藍(lán)牙發(fā)來的數(shù)據(jù),給每一個(gè)藍(lán)牙設(shè)備的數(shù)據(jù)存儲(chǔ)都分配了兩個(gè)數(shù)組。每0.5秒時(shí)間到了都要切換一次接收藍(lán)牙數(shù)據(jù)的存儲(chǔ)數(shù)組,以便讓下一個(gè)0.5秒接收的數(shù)據(jù)存在另一個(gè)數(shù)組里。這樣每個(gè)0.5秒的周期到來時(shí),程序會(huì)通過串口DMA將上一個(gè)周期內(nèi)收到的數(shù)據(jù)發(fā)送出去,同時(shí)在觸發(fā)新的數(shù)據(jù)接收中斷時(shí),會(huì)將數(shù)據(jù)存儲(chǔ)到另一個(gè)數(shù)據(jù)存儲(chǔ)數(shù)組中,實(shí)現(xiàn)對(duì)數(shù)據(jù)接收和發(fā)送的乒乓操作,避免數(shù)據(jù)丟失。

    對(duì)于每個(gè)藍(lán)牙設(shè)備,0.5秒可能收到的最大的數(shù)據(jù)量要了解清楚,以便分配足夠的緩存數(shù)組,本設(shè)計(jì)中,電子聽診器音頻的數(shù)組長(zhǎng)度經(jīng)過理論估算和實(shí)際測(cè)試,數(shù)組長(zhǎng)度設(shè)為8000,其他三個(gè)設(shè)備的數(shù)據(jù)量小,緩存數(shù)組長(zhǎng)度設(shè)置為255。

    本段程序流程用如下的偽代碼表示。

    ■ 2.7 數(shù)據(jù)上傳服務(wù)器

    當(dāng)網(wǎng)關(guān)處于非空閑狀態(tài)時(shí),每0.5秒判斷一次藍(lán)牙設(shè)備有沒有數(shù)據(jù)發(fā)送過來,如果有,就把0.5秒收到的數(shù)據(jù)上傳給服務(wù)器。連續(xù)的兩個(gè)0.5秒的周期分別稱為階段1和階段2,每次階段變化時(shí),去發(fā)送上一個(gè)階段收到的數(shù)據(jù)。藍(lán)牙有沒有數(shù)據(jù)依據(jù)外部中斷服務(wù)器中產(chǎn)生的標(biāo)記。上傳服務(wù)器的數(shù)據(jù)包包含幀頭、設(shè)備號(hào)、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)代號(hào)、數(shù)據(jù)內(nèi)容、校驗(yàn)碼等,所以在數(shù)據(jù)發(fā)送前要給待發(fā)送的數(shù)據(jù)加上這些幀格式。然后啟動(dòng)WIFI模塊或4G模塊對(duì)應(yīng)的串口DMA發(fā)送功能,把數(shù)據(jù)發(fā)出去,使用WIFI模塊還是4G模塊,去前面描述的邏輯決定。當(dāng)數(shù)據(jù)傳輸完成后,要立刻清掉數(shù)組里面數(shù)據(jù)和數(shù)據(jù)長(zhǎng)度。注意,單片機(jī)串口DMA將數(shù)據(jù)發(fā)送到WIFI模塊的速度比較高,當(dāng)連續(xù)發(fā)送的數(shù)據(jù)量非常大,比如發(fā)送電子聽診器的音頻數(shù)據(jù)時(shí),WIFI模塊可能會(huì)來不及把WIFI模塊從串口收到的數(shù)據(jù)及時(shí)發(fā)送給服務(wù)器,造成數(shù)據(jù)擁堵,從而丟失傳輸數(shù)據(jù),所以該串口必須開啟硬件流控功能,這樣當(dāng)WIFI模塊內(nèi)部緩存的數(shù)據(jù)量比較大時(shí),WIFI模塊會(huì)通過流控讓串口暫停發(fā)送。程序邏輯和流程如下所示。

    3 結(jié)束語

    本設(shè)計(jì)經(jīng)過調(diào)試和驗(yàn)證,能可靠的連接四個(gè)藍(lán)牙醫(yī)療設(shè)備并接收數(shù)據(jù),同時(shí)可以完整的把藍(lán)牙數(shù)據(jù)發(fā)送到云服務(wù)器,可以做為遠(yuǎn)程家庭醫(yī)生系統(tǒng)中的重要組成部分。本設(shè)計(jì)為藍(lán)牙設(shè)備和云服務(wù)器之間的數(shù)據(jù)傳輸提供了一種設(shè)計(jì)思路,設(shè)計(jì)所用的藍(lán)牙醫(yī)療設(shè)備也換成其他的藍(lán)牙設(shè)備,只需要更改藍(lán)牙連接的初始化部分。后期也可以把更換藍(lán)牙設(shè)備連接的過程做到用戶交互功能里面,使本網(wǎng)關(guān)有更大的通用性,便于推廣使用。需要注意的是,網(wǎng)關(guān)的設(shè)計(jì)要考慮數(shù)據(jù)的吞吐量,本設(shè)計(jì)的傳輸速度可以滿足這類物聯(lián)網(wǎng)設(shè)計(jì)的要求,如果數(shù)據(jù)產(chǎn)生的又快又多,比如四個(gè)藍(lán)牙全部是音頻,就要重新考慮各模塊的傳輸速度了。

    本文重點(diǎn)是對(duì)設(shè)計(jì)邏輯的說明,常用的基礎(chǔ)的代碼沒有詳細(xì)列出來,比如外設(shè)的初始化,IIC總線的操作、按鍵操作,顯示操作等等,這樣做是想盡可能的說明軟件的邏輯思路和構(gòu)造,希望能為廣大的單片機(jī)開發(fā)者提供一定的參考價(jià)值。

    猜你喜歡
    波特率網(wǎng)關(guān)中斷
    基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
    CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
    智能制造(2020年5期)2020-07-03 06:24:00
    基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
    跟蹤導(dǎo)練(二)(5)
    千里移防,衛(wèi)勤保障不中斷
    解放軍健康(2017年5期)2017-08-01 06:27:44
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
    太陽能(2015年7期)2015-04-12 06:49:50
    一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
    AT89C51與中斷有關(guān)的寄存器功能表解
    C*Core芯片SCI串口波特率容限優(yōu)化
    午夜激情福利司机影院| 1000部很黄的大片| 国产精品免费一区二区三区在线| 狠狠狠狠99中文字幕| 午夜爱爱视频在线播放| 99精品在免费线老司机午夜| 国产一级毛片七仙女欲春2| 久久国产乱子免费精品| 久久久久久大精品| 人妻少妇偷人精品九色| a级一级毛片免费在线观看| 国产精品1区2区在线观看.| 五月伊人婷婷丁香| 免费大片18禁| 色视频www国产| 欧美变态另类bdsm刘玥| 91午夜精品亚洲一区二区三区| 色综合亚洲欧美另类图片| 嫩草影院精品99| 美女cb高潮喷水在线观看| 高清毛片免费看| 天天一区二区日本电影三级| 亚洲成人中文字幕在线播放| 一夜夜www| 日本撒尿小便嘘嘘汇集6| 天堂av国产一区二区熟女人妻| 午夜福利在线观看免费完整高清在 | 熟女电影av网| 亚州av有码| 国模一区二区三区四区视频| 99久久人妻综合| www.av在线官网国产| 国产精品无大码| 嫩草影院精品99| 午夜激情福利司机影院| 久久久久久久久久成人| 12—13女人毛片做爰片一| 91aial.com中文字幕在线观看| 国产精品,欧美在线| 国产一区二区激情短视频| 日韩亚洲欧美综合| 欧美最黄视频在线播放免费| 1000部很黄的大片| 亚洲无线在线观看| 久久人人爽人人片av| 国产在线男女| 中文欧美无线码| 国产视频首页在线观看| 91精品国产九色| 久久精品久久久久久噜噜老黄 | 国产视频内射| 欧美变态另类bdsm刘玥| 2022亚洲国产成人精品| 国产男人的电影天堂91| 1024手机看黄色片| 可以在线观看毛片的网站| 国产免费一级a男人的天堂| 亚洲国产欧洲综合997久久,| 禁无遮挡网站| 国产色婷婷99| 国产免费一级a男人的天堂| 国产国拍精品亚洲av在线观看| 给我免费播放毛片高清在线观看| 亚洲人成网站高清观看| 久久热精品热| 成人漫画全彩无遮挡| 亚洲一区高清亚洲精品| 免费av不卡在线播放| 国产伦精品一区二区三区视频9| 免费搜索国产男女视频| 十八禁国产超污无遮挡网站| 日韩欧美 国产精品| 久久人人爽人人爽人人片va| 中文字幕精品亚洲无线码一区| 亚洲av中文字字幕乱码综合| 亚洲欧美精品专区久久| 一个人观看的视频www高清免费观看| 中文字幕免费在线视频6| 伦理电影大哥的女人| 一区福利在线观看| 给我免费播放毛片高清在线观看| 午夜视频国产福利| 精华霜和精华液先用哪个| 日本免费a在线| 亚洲精品456在线播放app| 久久这里有精品视频免费| 国内精品美女久久久久久| 国产成年人精品一区二区| 久久久色成人| 欧美变态另类bdsm刘玥| 黄片wwwwww| 日韩av在线大香蕉| 99热这里只有是精品50| 国产爱豆传媒在线观看| 搡老妇女老女人老熟妇| 国产亚洲欧美98| 国产伦在线观看视频一区| 最好的美女福利视频网| 天堂√8在线中文| 一级毛片我不卡| 男人狂女人下面高潮的视频| 赤兔流量卡办理| 亚洲真实伦在线观看| 日本免费a在线| 欧美另类亚洲清纯唯美| 夜夜看夜夜爽夜夜摸| 亚洲精品色激情综合| 成人性生交大片免费视频hd| kizo精华| 久久亚洲精品不卡| 久久久色成人| 国产精品不卡视频一区二区| 亚洲国产精品sss在线观看| 欧美在线一区亚洲| 一本精品99久久精品77| 精品熟女少妇av免费看| or卡值多少钱| 国产精品永久免费网站| 寂寞人妻少妇视频99o| 免费av毛片视频| 在线观看午夜福利视频| 国产在线男女| 亚洲美女视频黄频| 简卡轻食公司| 日韩,欧美,国产一区二区三区 | 嫩草影院入口| 国产成人a区在线观看| 不卡一级毛片| 欧美日韩乱码在线| 国产在线精品亚洲第一网站| 亚洲av中文av极速乱| 免费看美女性在线毛片视频| 直男gayav资源| 久久精品91蜜桃| 精品久久久久久久久av| 欧美成人免费av一区二区三区| 国产白丝娇喘喷水9色精品| av免费在线看不卡| 麻豆精品久久久久久蜜桃| 日韩成人伦理影院| 亚洲国产精品sss在线观看| 天天躁日日操中文字幕| 国产成人a区在线观看| 亚洲精品日韩在线中文字幕 | 精品不卡国产一区二区三区| 国产av不卡久久| 中文字幕精品亚洲无线码一区| 一个人看视频在线观看www免费| 久久这里只有精品中国| 最近2019中文字幕mv第一页| 少妇高潮的动态图| 男女边吃奶边做爰视频| 亚洲精品456在线播放app| 在线观看免费视频日本深夜| 日韩强制内射视频| 一本精品99久久精品77| 亚洲成人精品中文字幕电影| 春色校园在线视频观看| 免费看光身美女| 我的女老师完整版在线观看| 一级黄片播放器| 欧美激情久久久久久爽电影| 中文精品一卡2卡3卡4更新| 久久人人爽人人片av| 婷婷亚洲欧美| 亚洲自偷自拍三级| 成人鲁丝片一二三区免费| 国内精品一区二区在线观看| 国产亚洲91精品色在线| 桃色一区二区三区在线观看| 人体艺术视频欧美日本| 免费观看人在逋| 日本三级黄在线观看| 不卡一级毛片| 免费人成视频x8x8入口观看| 国产欧美日韩精品一区二区| 日本色播在线视频| 成人性生交大片免费视频hd| h日本视频在线播放| 国产精品一区二区三区四区久久| 久久久国产成人精品二区| av福利片在线观看| 99九九线精品视频在线观看视频| 高清毛片免费看| 一区二区三区高清视频在线| 99久久无色码亚洲精品果冻| 免费av观看视频| 欧美bdsm另类| 午夜激情欧美在线| 熟女电影av网| 亚洲av熟女| 国产探花在线观看一区二区| av视频在线观看入口| 亚洲精品乱码久久久v下载方式| 色哟哟哟哟哟哟| 一级二级三级毛片免费看| 久久久久久久久久久丰满| 91久久精品电影网| 天天躁日日操中文字幕| 伦精品一区二区三区| 国产精品国产三级国产av玫瑰| 麻豆成人午夜福利视频| 婷婷精品国产亚洲av| 一边亲一边摸免费视频| 国产乱人偷精品视频| 精品人妻偷拍中文字幕| 能在线免费看毛片的网站| 精品久久久久久久人妻蜜臀av| 久久亚洲精品不卡| 久久久国产成人精品二区| 成年女人看的毛片在线观看| а√天堂www在线а√下载| 国产又黄又爽又无遮挡在线| av国产免费在线观看| 亚洲av免费高清在线观看| 欧美+日韩+精品| 日韩欧美三级三区| 亚洲国产精品久久男人天堂| 午夜福利高清视频| 日韩高清综合在线| 伊人久久精品亚洲午夜| 久久久精品94久久精品| 天堂影院成人在线观看| 看非洲黑人一级黄片| 久久久久网色| 在线观看66精品国产| 色综合站精品国产| 国产高清三级在线| 男女做爰动态图高潮gif福利片| 人妻少妇偷人精品九色| 成年女人看的毛片在线观看| 免费搜索国产男女视频| 国产探花极品一区二区| 我要看日韩黄色一级片| 中文字幕久久专区| 美女国产视频在线观看| 中出人妻视频一区二区| 只有这里有精品99| 可以在线观看的亚洲视频| 老熟妇乱子伦视频在线观看| 久久精品综合一区二区三区| 国产综合懂色| 日韩精品有码人妻一区| 少妇人妻精品综合一区二区 | а√天堂www在线а√下载| 99精品在免费线老司机午夜| 91麻豆精品激情在线观看国产| 久久久久性生活片| 国产免费一级a男人的天堂| 亚洲国产精品成人综合色| 久久久欧美国产精品| 久久久久久久久大av| 亚洲成a人片在线一区二区| 精品熟女少妇av免费看| 亚洲精品久久国产高清桃花| 国产精品乱码一区二三区的特点| 亚洲欧洲日产国产| 联通29元200g的流量卡| av免费在线看不卡| 欧美高清性xxxxhd video| 欧美+亚洲+日韩+国产| 午夜福利在线观看吧| 欧美人与善性xxx| 99在线人妻在线中文字幕| 免费黄网站久久成人精品| 亚洲精品自拍成人| 亚洲国产色片| 免费观看在线日韩| 成人无遮挡网站| 国产精品99久久久久久久久| 久久久久久大精品| 免费一级毛片在线播放高清视频| 亚洲国产欧洲综合997久久,| 真实男女啪啪啪动态图| www.色视频.com| 国产单亲对白刺激| 亚洲精品久久久久久婷婷小说 | 麻豆乱淫一区二区| 成人毛片a级毛片在线播放| 好男人视频免费观看在线| 亚洲,欧美,日韩| 国产一区二区激情短视频| 国产亚洲av片在线观看秒播厂 | 欧美不卡视频在线免费观看| 亚洲七黄色美女视频| 国产成人午夜福利电影在线观看| 欧美精品国产亚洲| 天堂网av新在线| 国产精品av视频在线免费观看| 99热全是精品| 神马国产精品三级电影在线观看| 成人性生交大片免费视频hd| 12—13女人毛片做爰片一| 插阴视频在线观看视频| 波野结衣二区三区在线| 亚洲aⅴ乱码一区二区在线播放| 国产午夜精品一二区理论片| 亚洲欧洲日产国产| 免费一级毛片在线播放高清视频| 少妇的逼好多水| 国产综合懂色| 91麻豆精品激情在线观看国产| 欧美极品一区二区三区四区| 国产不卡一卡二| 国产日本99.免费观看| 精品一区二区三区人妻视频| 成人无遮挡网站| 国产精品一区二区三区四区免费观看| 亚洲七黄色美女视频| 日韩成人伦理影院| 乱人视频在线观看| 在线播放无遮挡| 麻豆国产97在线/欧美| 国产综合懂色| 免费不卡的大黄色大毛片视频在线观看 | 69人妻影院| 久久久欧美国产精品| 少妇的逼好多水| 国产成人a区在线观看| 亚洲综合色惰| 天堂影院成人在线观看| 99久久中文字幕三级久久日本| 中文字幕制服av| 深夜a级毛片| 三级毛片av免费| 国产女主播在线喷水免费视频网站 | 国产高清激情床上av| 一级av片app| 国产精品久久久久久亚洲av鲁大| 99热6这里只有精品| 我的老师免费观看完整版| 一本久久精品| 美女脱内裤让男人舔精品视频 | 国产精品99久久久久久久久| 午夜亚洲福利在线播放| 国产成人freesex在线| 黄色视频,在线免费观看| 久久这里有精品视频免费| 久久精品影院6| 国产在线精品亚洲第一网站| 亚洲18禁久久av| 精品人妻一区二区三区麻豆| 国产私拍福利视频在线观看| 国产精品麻豆人妻色哟哟久久 | 久久精品国产自在天天线| 亚洲一区高清亚洲精品| 美女大奶头视频| 国产精品一二三区在线看| 在线观看av片永久免费下载| 亚洲成人久久爱视频| 国产成人精品久久久久久| 99久久精品国产国产毛片| 日本成人三级电影网站| 亚洲va在线va天堂va国产| 黄色日韩在线| 欧美成人一区二区免费高清观看| 熟女电影av网| 男人和女人高潮做爰伦理| 国产熟女欧美一区二区| 在现免费观看毛片| 日本免费一区二区三区高清不卡| 美女 人体艺术 gogo| 22中文网久久字幕| 国产91av在线免费观看| 精品一区二区免费观看| 国产又黄又爽又无遮挡在线| 精品午夜福利在线看| 国产亚洲av片在线观看秒播厂 | 亚洲第一区二区三区不卡| 日本一二三区视频观看| 午夜福利在线观看免费完整高清在 | 伊人久久精品亚洲午夜| 日韩av在线大香蕉| 在线观看免费视频日本深夜| 亚洲最大成人手机在线| 22中文网久久字幕| 青春草国产在线视频 | 一本一本综合久久| 成人毛片a级毛片在线播放| 成人性生交大片免费视频hd| 久久久午夜欧美精品| 亚洲国产精品成人久久小说 | 又爽又黄无遮挡网站| 国产精品福利在线免费观看| 国产精品伦人一区二区| 看非洲黑人一级黄片| 精品99又大又爽又粗少妇毛片| eeuss影院久久| 如何舔出高潮| 色综合亚洲欧美另类图片| 一本精品99久久精品77| 又粗又硬又长又爽又黄的视频 | 婷婷六月久久综合丁香| 天堂影院成人在线观看| 又粗又硬又长又爽又黄的视频 | 亚洲一级一片aⅴ在线观看| 色尼玛亚洲综合影院| 99热网站在线观看| 青春草视频在线免费观看| 99在线人妻在线中文字幕| 免费一级毛片在线播放高清视频| 成人漫画全彩无遮挡| 国产精品99久久久久久久久| 久久韩国三级中文字幕| 国产熟女欧美一区二区| 国产真实乱freesex| 日韩av不卡免费在线播放| 一进一出抽搐动态| 日本五十路高清| 99热这里只有是精品在线观看| 国产一区二区三区av在线 | 亚洲精品色激情综合| 成人综合一区亚洲| 久久久精品94久久精品| 日韩国内少妇激情av| 卡戴珊不雅视频在线播放| 日韩,欧美,国产一区二区三区 | 特大巨黑吊av在线直播| 亚洲精品日韩在线中文字幕 | 91av网一区二区| 青春草国产在线视频 | 99国产精品一区二区蜜桃av| av福利片在线观看| 欧美色视频一区免费| 亚洲精品乱码久久久久久按摩| 丰满乱子伦码专区| 天堂影院成人在线观看| 变态另类丝袜制服| 尾随美女入室| 观看美女的网站| 在线国产一区二区在线| 国产黄色小视频在线观看| 亚洲国产精品合色在线| 最后的刺客免费高清国语| 不卡一级毛片| 国产麻豆成人av免费视频| 日本与韩国留学比较| 午夜精品国产一区二区电影 | 久久热精品热| 又爽又黄无遮挡网站| 日韩精品有码人妻一区| 精品久久久久久久久久免费视频| 国产精品爽爽va在线观看网站| 一个人看视频在线观看www免费| 男女视频在线观看网站免费| 夜夜看夜夜爽夜夜摸| 简卡轻食公司| 少妇人妻一区二区三区视频| 精品人妻一区二区三区麻豆| 国产一区二区在线av高清观看| 国产在线男女| av视频在线观看入口| 亚洲人成网站在线播放欧美日韩| 熟女人妻精品中文字幕| 国产午夜精品久久久久久一区二区三区| 人妻久久中文字幕网| 91麻豆精品激情在线观看国产| 国产探花在线观看一区二区| 超碰av人人做人人爽久久| 亚洲国产精品合色在线| 久久九九热精品免费| 国内少妇人妻偷人精品xxx网站| 国产精品久久久久久精品电影| 亚洲人成网站高清观看| 嫩草影院精品99| 国产精品国产高清国产av| 午夜福利视频1000在线观看| 日韩人妻高清精品专区| 特大巨黑吊av在线直播| 国产一区亚洲一区在线观看| 亚洲欧美成人精品一区二区| 性插视频无遮挡在线免费观看| 精品一区二区三区人妻视频| 成人鲁丝片一二三区免费| 日韩制服骚丝袜av| a级一级毛片免费在线观看| 嫩草影院新地址| 三级男女做爰猛烈吃奶摸视频| 亚洲国产精品成人久久小说 | 老师上课跳d突然被开到最大视频| 国产亚洲91精品色在线| 欧美+日韩+精品| 一边摸一边抽搐一进一小说| 亚洲激情五月婷婷啪啪| 欧美成人精品欧美一级黄| 美女黄网站色视频| 欧美日本视频| 97热精品久久久久久| 国产女主播在线喷水免费视频网站 | 成人漫画全彩无遮挡| 亚洲av二区三区四区| 国产精品嫩草影院av在线观看| 自拍偷自拍亚洲精品老妇| 亚洲不卡免费看| 变态另类丝袜制服| 成人高潮视频无遮挡免费网站| 99久久精品国产国产毛片| 国产亚洲5aaaaa淫片| 亚洲久久久久久中文字幕| 长腿黑丝高跟| 国产探花极品一区二区| 久久午夜亚洲精品久久| 成人三级黄色视频| av黄色大香蕉| 久久久精品欧美日韩精品| 国产精品1区2区在线观看.| 成人性生交大片免费视频hd| 国产一区二区在线观看日韩| 中文字幕久久专区| 嫩草影院新地址| 天堂中文最新版在线下载 | 一区二区三区高清视频在线| 欧美成人免费av一区二区三区| 黑人高潮一二区| 亚洲成av人片在线播放无| 18禁在线无遮挡免费观看视频| 1000部很黄的大片| 亚洲av不卡在线观看| 国产亚洲91精品色在线| 少妇熟女aⅴ在线视频| 久久久色成人| 亚洲精品成人久久久久久| 午夜精品一区二区三区免费看| 青春草亚洲视频在线观看| 国产精品一区二区在线观看99 | 青春草亚洲视频在线观看| 变态另类成人亚洲欧美熟女| 久久人人爽人人片av| 日韩欧美一区二区三区在线观看| 久久久欧美国产精品| 国产精品久久视频播放| 大型黄色视频在线免费观看| 日本在线视频免费播放| 国产一区二区三区在线臀色熟女| 国产精品一区二区在线观看99 | 国产精品精品国产色婷婷| 一级黄色大片毛片| 日本撒尿小便嘘嘘汇集6| 日日撸夜夜添| 国产成人一区二区在线| 99久国产av精品国产电影| 深夜a级毛片| 成人综合一区亚洲| 亚洲aⅴ乱码一区二区在线播放| 一区二区三区高清视频在线| 内地一区二区视频在线| a级毛片a级免费在线| 欧美日韩综合久久久久久| 亚洲欧美成人精品一区二区| 亚洲精品久久国产高清桃花| 只有这里有精品99| 国产在线精品亚洲第一网站| 日本爱情动作片www.在线观看| 精品熟女少妇av免费看| 中出人妻视频一区二区| 变态另类丝袜制服| h日本视频在线播放| 非洲黑人性xxxx精品又粗又长| 亚洲综合色惰| 麻豆成人av视频| 亚洲四区av| eeuss影院久久| 国产激情偷乱视频一区二区| 一区二区三区免费毛片| ponron亚洲| 久久精品国产亚洲av天美| 色综合站精品国产| 在线观看免费视频日本深夜| 欧美3d第一页| 哪里可以看免费的av片| h日本视频在线播放| 免费在线观看成人毛片| 国产精品一及| 免费看光身美女| 国产精品一区www在线观看| 日韩制服骚丝袜av| 色5月婷婷丁香| 老司机影院成人| 日韩中字成人| 日韩一区二区视频免费看| 一个人观看的视频www高清免费观看| 国产免费一级a男人的天堂| 内地一区二区视频在线| 听说在线观看完整版免费高清| 99视频精品全部免费 在线| 又爽又黄无遮挡网站| 国产黄a三级三级三级人| 三级经典国产精品| 精品无人区乱码1区二区| 久久久久久久久久黄片| 日本熟妇午夜| 久久精品夜色国产| 国产私拍福利视频在线观看| 国产精品乱码一区二三区的特点| 一进一出抽搐动态| 免费电影在线观看免费观看| 国产精品99久久久久久久久| 久99久视频精品免费| 91麻豆精品激情在线观看国产| 精品少妇黑人巨大在线播放 | 久久久欧美国产精品| 99久久精品国产国产毛片| 在线观看一区二区三区| 看黄色毛片网站| 最近手机中文字幕大全| 国产不卡一卡二| 久久亚洲国产成人精品v| 麻豆国产av国片精品| 免费av毛片视频| 少妇熟女aⅴ在线视频| 在线免费观看不下载黄p国产| 99久久中文字幕三级久久日本| 久久久久国产网址| 久久精品夜色国产| 精品午夜福利在线看|