欧美日韩亚洲精品一区二区三区_亚洲一二三区在线观看_欧亚一区二区_一区二区三区美女

當(dāng)前位置:第一POS網(wǎng) > pos機知識點3 >

stm32制作pos機

瀏覽:89 發(fā)布日期:2023-08-05 00:00:00 投稿人:佚名投稿

1、使用一個STM32F103C8T6單片機,模擬一個SPI從機模式輸出,求代碼_百度...

void SPI_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5 | GPIO_Pin_7 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_SetBits(GPIOA,GPIO_Pin_4|GPIO_Pin_5 | GPIO_Pin_7);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN ;
GPIO_SetBits(GPIOA,GPIO_Pin_6);
}
void SPI_ByteWr(unsigned char WrData) //spi 寫
{
unsigned char i;
GPIO_ResetBits(GPIOA,GPIO_Pin_4);
Delay(2);
GPIO_SetBits(GPIOA,GPIO_Pin_4|GPIO_Pin_5);
for(i=0;i<8;i++)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_5);
Delay(2);
if((WrData&0x80) == 0x80)
GPIO_SetBits(GPIOA,GPIO_Pin_7);
else
GPIO_ResetBits(GPIOA,GPIO_Pin_7);
WrData <<= 1;
GPIO_SetBits(GPIOA,GPIO_Pin_5);
Delay(2);
}
}
unsigned char SPI_ByteRd(void)//讀取一個字節(jié)
{
unsigned char i;
unsigned char RdData = 0;
for(i=0;i<8;i++)
{
RdData <<= 1;
GPIO_ResetBits(GPIOA,GPIO_Pin_5);
Delay(2);
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6))
RdData|=1;
GPIO_SetBits(GPIOA,GPIO_Pin_5);
Delay(2);
}
return RdData;
}

2、求教,一元POS機里面的stm32怎么 解鎖

POS機上只有兩個密碼 一個是簽到操作員號密碼4個0,還有一個是撤銷消費時用到的密碼。前面那個密碼不可以更改,后面的可以設(shè)置,初始密碼123456.

3、如何使用stm32制作網(wǎng)絡(luò)轉(zhuǎn)usb打印適配器

stm32芯片有兩個引腳叫做boot1和boot0,在下載程序的時候boot1接地,boot0接3.3V高電平,接好后按下復(fù)位鍵,然后開始用usb轉(zhuǎn)串口也就是ini說的usb轉(zhuǎn)rs232下載程序,下載程序完成后boot0接地,按下復(fù)位鍵,程序開始運行。mcuisp底下有個地方也是得設(shè)置,如果設(shè)置不對也是下載不了的,詳情請看圖。

如果利用串口下載不了的,那可以使用ulink或者JTAG,這個你的自己去了解了,我沒法跟你講什么是ulink或者JTAG。

4、如何用STM32、BC26和gps模塊制作定位跟蹤器

主要參考正點原子 stm32 《第92講 GPS-NEO-6M全球定位模塊講解》、
使用硬件: GPS-NEO-6M,stm32開發(fā)板
配套軟件:串口調(diào)試助手、U-center
技術(shù)文檔:《ATK-NEO-6M用戶手冊_V2.0》、《u-blox6_ReceiverDescriptionProtocolSpec_GPS.G6-SW-10018-C》、《ATK-NEO-6M GPS模塊使用說明》 GPS模塊選型要它們之間比性能和你用什么單片機沒關(guān)系。 都是串口輸出NMEA-0183協(xié)議的數(shù)據(jù),以ACSII字符直接輸出,不加密也沒有復(fù)雜的計算,單片機直接處理就行

5、stm32操作mfrc500的函數(shù)誰有啊。給一個參考一下

var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);

-2-
}GPIOSpeed_TypeDef;
則可知GPIOSpeed_TypeDef枚舉類型同一只,其功能是定義一個枚舉類型變量,該變量可表示GPIO_Speed_10MHz、GPIO_Speed_2MHz和GPIO_Speed_50MHz三個含義(其中GPIO_Speed_10MHz已經(jīng)定義為1,讀者必須知道GPIO_Speed_2MHz則依次被編譯器賦予2,而GPIO_Speed_50MHz為3)。
同樣也在“stm32f10x_gpio.h”文件中找到對GPIOMode_TypeDef的定義:
typedefenum{
GPIO_Mode_AIN=0x0,
GPIO_Mode_IN_FLOATING=0x04,GPIO_Mode_IPD=0x28,GPIO_Mode_IPU=0x48,GPIO_Mode_Out_OD=0x14,GPIO_Mode_Out_PP=0x10,GPIO_Mode_AF_OD=0x1C,GPIO_Mode_AF_PP=0x18}GPIOMode_TypeDef;
這同樣是一個枚舉類型同義字,其成員有GPIO_Mode_AIN、GPIO_Mode_AF_OD等(也可以輕易判斷出這表示GPIO設(shè)備的工作模式)。至此對程序段一的①解析可以做一個總結(jié):該行定義一個結(jié)構(gòu)體類型的變量GPIO_InitStructure,并且該結(jié)構(gòu)體有3個成員,分別為GPIO_Pin、GPIO_Speed和GPIO_Mode,并且GPIO_Pin表示GPIO設(shè)備引腳GPIO_Speed表示GPIO設(shè)備速率和GPIO_Mode表示GPIO設(shè)備工作模式。
接下來是②,此句是一個賦值語句,把GPIO_Pin_4賦給GPIO_InitStructure結(jié)構(gòu)體中的成員GPIO_Pin,可以在“stm32f10x_gpio.h”文件中找到對GPIO_Pin_4做的宏定義:
#defineGPIO_Pin_4((u16)0x0010)因此②的本質(zhì)是將16位數(shù)0x0010賦給GPIO_InitStructure結(jié)構(gòu)體中的成員GPIO_Pin。
③語句和②相似將GPIO_Speed_50MHz賦給GPIO_InitStructure結(jié)構(gòu)體中的成員GPIO_Speed,但注意到此處GPIO_Speed_50MHz只是一個枚舉變量,并非具體的某個值。
④語句亦和②語句類似,把GPIO_Mode_Out_PP賦給GPIO_InitStructure結(jié)構(gòu)體中的成員GPIO_Mode,從上文可知GPIO_Mode_Out_PP的值為0x10。
⑤是一個函數(shù)調(diào)用,即調(diào)用GPIO_Init函數(shù),并提供給該函數(shù)2個參數(shù),分別為GPIOA和&GPIO_InitStructure,其中&GPIO_InitStructure表示結(jié)構(gòu)體變量GPIO_InitStructure的地址,而GPIOA則在“stm32f10x_map.h”文件中找到定義:
#ifdef_GPIOA
#defineGPIOA((GPIO_TypeDef*)GPIOA_BASE)#endif
此三行代碼是一個預(yù)編譯結(jié)構(gòu),首先判斷是否定義了宏_GPIOA。可以在“stm32f10x_conf.h”中發(fā)現(xiàn)對_GPIOA的定義為:#define_GPIOA。這表示編譯器會將代

-3-
碼中出現(xiàn)的GPIOA全部替換為((GPIO_TypeDef*)GPIOA_BASE)。從該句的C語言語法可以判斷出((GPIO_TypeDef*)GPIOA_BASE)的功能為將GPIOA_BASE強制類型轉(zhuǎn)換為指向GPIO_TypeDef類型的結(jié)構(gòu)體指針變量。
如此則需要找出GPIO_TypeDef的原型及GPIOA_BASE的含義。同樣GPIO_TypeDef的原型位于“stm32f10x_gpio.h”文件,原型如下:
typedefstruct{
vu32CRL;vu32CRH;vu32IDR;vu32ODR;vu32BSRR;vu32BRR;vu32LCKR;}GPIO_TypeDef;
這里把GPIO寄存器封裝成結(jié)構(gòu)體,即把GPIO的各寄存器類型設(shè)為結(jié)構(gòu)體成員,結(jié)構(gòu)體類型名定義為GPIO_TypeDef。
GPIOA_BASE的含義在“stm32f10x_map.h”文件中找到:
#defineGPIOA_BASE(APB2PERIPH_BASE+0x0800)#defineAPB2PERIPH_BASE(PERIPH_BASE+0x10000)#definePERIPH_BASE((u32)0x40000000)
明顯GPIOA_BASE表示一個地址,通過將以上3個宏展開可以得到:
GPIOA_BASE=0x40000000+0x10000+0x0800;
此處的關(guān)鍵便在于0x40000000、0x10000和0x0800這三個數(shù)值的來歷。讀者應(yīng)該通過宏名猜到了,這就是STM32微控制器的GPIOA的設(shè)備地址。通過查閱STM32微控制器參考手冊可以得知,STM32的外設(shè)起始基地址為0x40000000,而APB2總線設(shè)備起始地址相對于外設(shè)基地址的偏移量為0x10000,GPIOA設(shè)備相對于APB2總線設(shè)備起始地址偏移量為0x0800。
對⑤句代碼進行一個總結(jié):調(diào)用GPIO_Init函數(shù),并將STM32微控制器的GPIOA設(shè)備地址和所定義的結(jié)構(gòu)體變量GPIO_InitStructure的地址傳入。
以上是對GPIOA初始化庫函數(shù)的剖析,現(xiàn)繼續(xù)轉(zhuǎn)移到函數(shù)內(nèi)部分析,GPIO_Init函數(shù)原型如程序段二:
voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct){
u32currentmode=0x00,currentpin=0x00,pinpos=0x00,pos=0x00;u32tmpreg=0x00,pinmask=0x00;
/*檢查參數(shù)是否正確*/
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode));assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin));

-4-
/*將工作模式暫存至currentmode變量中*/
currentmode=((u32)GPIO_InitStruct->GPIO_Mode)&((u32)0x0F);/*如果欲設(shè)置為任意一種輸出模式,則再檢查”翻轉(zhuǎn)速率“參數(shù)是否正確*/
if((((u32)GPIO_InitStruct->GPIO_Mode)&((u32)0x10))!=0x00){
assert_param(IS_GPIO_SPEED(GPIO_InitStruct->GPIO_Speed));currentmode|=(u32)GPIO_InitStruct->GPIO_Speed;}
/*設(shè)置低八位引腳(即pin0~pin7)*/
if(((u32)GPIO_InitStruct->GPIO_Pin&((u32)0x00FF))!=0x00){
/*讀出當(dāng)前配置字*/tmpreg=GPIOx->CRL;
for(pinpos=0x00;pinpos<0x08;pinpos++){
/*獲取將要配置的引腳號*/
pos=((u32)0x01)<<pinpos;
currentpin=(GPIO_InitStruct->GPIO_Pin)&pos;if(currentpin==pos){
/*先清除對應(yīng)引腳的配置字*/pos=pinpos<<2;
pinmask=((u32)0x0F)<<pos;tmpreg&=~pinmask;
/*寫入新的配置字*/
tmpreg|=(currentmode<<pos);
/*若欲配置為上拉/下拉輸入,則需要配置BRR和BSRR寄存器*/if(GPIO_InitStruct->GPIO_Mode==GPIO_Mode_IPD){
GPIOx->BRR=(((u32)0x01)<<pinpos);}else{
if(GPIO_InitStruct->GPIO_Mode==GPIO_Mode_IPU){
GPIOx->BSRR=(((u32)0x01)<<pinpos);}}}}
/*寫入低八位引腳配置字*/GPIOx->CRL=tmpreg;}/*設(shè)置高八位引腳(即pin8~pin15),流程和第八位引腳配置流程一致,不再作解析*/if(GPIO_InitStruct->GPIO_Pin>0x00FF){
tmpreg=GPIOx->CRH;for(pinpos=0x00;
pinpos<0x08;pinpos++){
pos=(((u32)0x01)<<(pinpos+0x08));
currentpin=((GPIO_InitStruct->GPIO_Pin)&pos);if(currentpin==pos){
pos=pinpos<<2;
pinmask=((u32)0x0F)<<pos;

-5-
tmpreg&=~pinmask;
tmpreg|=(currentmode<<pos);
if(GPIO_InitStruct->GPIO_Mode==GPIO_Mode_IPD){
GPIOx->BRR=(((u32)0x01)<<(pinpos+0x08));}
if(GPIO_InitStruct->GPIO_Mode==GPIO_Mode_IPU){
GPIOx->BSRR=(((u32)0x01)<<(pinpos+0x08));}}
}
GPIOx->CRH=tmpreg;}}
這段程序的流程是:首先檢查由結(jié)構(gòu)體變量GPIO_InitStructure所傳入的參數(shù)是否正確,然后對GPIO寄存器進行“保存——修改——寫入”的操作,完成對GPIO設(shè)備的設(shè)置工作。顯然,結(jié)構(gòu)體變量GPIO_InitStructure所傳入?yún)?shù)的目的是設(shè)置對應(yīng)GPIO設(shè)備的寄存器。而STM32的參考手冊對關(guān)于GPIO設(shè)備的設(shè)置寄存器的描述如下圖1(僅列出低八位引腳寄存器描述,高八位引腳類同):
圖1GPIO設(shè)備控制寄存器GPIOx_CRL描述
該寄存器為32位,其中分為8份,每份4位,對應(yīng)低八位引腳的設(shè)置。每一個引腳的設(shè)置字

-6-
分為兩部分,分別為CNF和MODE,各占兩位空間。當(dāng)MODE的設(shè)置字為0時,表示將對應(yīng)引腳配置為輸入模式,反之設(shè)置為輸出模式,并有最大翻轉(zhuǎn)速率限制。而當(dāng)引腳配置為輸出模式時,CNF配置字則決定引腳以哪種輸出方式工作(通用推挽輸出、通用開漏輸出等)。通過對程序的閱讀和分析不難發(fā)現(xiàn),本文最初程序段中GPIO_InitStructure所傳入?yún)?shù)的對寄存器的作用如下:
GPIO_Pin_4被宏替換為0x0010,對應(yīng)圖1可看出為用于選擇配置GPIOx_CRL的[19:16]位,分別為CNF4[1:0]、MODE4[1:0]。
GPIO_Speed_50MHz為枚舉類型,包含值0x03,被用于將GPIOx_CRL位中的MODE4[1:0]配置為b11(此處b意指二進制)。
GPIO_Mode亦為枚舉類型,包含值0x10,被用于將GPIOx_CRL位中的CNF4[1:0]配置為b00。事實上GPIO_Mode的值直接影響寄存器的只有低四位,而高四位的作用可以從程序段二中看出,是用于判斷此參數(shù)是否用于GPIO引腳輸出模式的配置。
至此應(yīng)不難知道STM32的固件庫最后是怎樣影響最底層的寄存器的。總結(jié)起來就是總結(jié)起來就是:
:固件庫首先將各個設(shè)備所有寄存器的配置字進行預(yù)先定義,然后封裝在結(jié)構(gòu)或枚舉變量中,待用戶調(diào)用對應(yīng)的固件庫函數(shù)時,會根據(jù)用戶傳入的參數(shù)從這些封裝好的結(jié)構(gòu)或枚舉變量中取出對應(yīng)的配置字,最后寫入寄存器中,完成對底層寄存器的配置。
可以看到,STM32的固件庫函數(shù)對于程序開發(fā)人員來說是十分便利的存在,只需要填寫言簡意賅的參數(shù)就可以在完全不關(guān)心底層寄存器的前提下完成相關(guān)寄存器的配置,具有相當(dāng)不錯的通用性和易用性,也采取了一定措施保證庫函數(shù)的安全性(主要引入了參數(shù)檢查函數(shù)assert_param)。但同時也應(yīng)該知道,通用性、易用性和安全性的代價是加大了代碼量,同時增加了一些邏輯判斷代碼造成了一定的時間消耗,在對時間要求比較苛刻的應(yīng)用場合需要評估使用固件庫函數(shù)對程序運行時間所帶來的影響。讀者在使用STM32的固件庫函數(shù)進行程序開發(fā)時,應(yīng)該意識到這些問題

轉(zhuǎn)載請帶上網(wǎng)址:http://m.javbus2020.com/posjifour/268432.html

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。
聯(lián)系我們
訂購聯(lián)系:小莉
微信聯(lián)系方式
地址:深圳市寶安區(qū)固戍聯(lián)誠發(fā)產(chǎn)業(yè)園木星大廈

公司地址:深圳市寶安區(qū)固戍聯(lián)誠發(fā)產(chǎn)業(yè)園木星大廈

舉報投訴 免責(zé)申明 版權(quán)申明 廣告服務(wù) 投稿須知 技術(shù)支持:第一POS網(wǎng) Copyright@2008-2030 深圳市慧聯(lián)實業(yè)有限公司 備案號:粵ICP備18141915號

欧美日韩亚洲精品一区二区三区_亚洲一二三区在线观看_欧亚一区二区_一区二区三区美女
国产精品视频久久| 久久久99爱| 亚洲视频免费在线| 亚洲综合三区| 久久se精品一区二区| 久色婷婷小香蕉久久| 欧美日韩免费观看一区三区| 国产精品黄色在线观看| 国产亚洲成av人在线观看导航| 红桃视频成人| 99精品国产福利在线观看免费 | 久久人人爽爽爽人久久久| 免费人成精品欧美精品| 欧美日韩一区在线观看视频| 国产女主播一区二区| 亚洲大胆人体视频| 亚洲午夜久久久| 久久亚洲综合色| 欧美日韩视频第一区| 国产亚洲精品久久久久动| 91久久精品日日躁夜夜躁国产| 亚洲天堂男人| 老色批av在线精品| 国产精品日韩二区| 亚洲国产日本| 欧美一区二区福利在线| 欧美成人在线网站| 国产精品一区在线观看| 亚洲三级免费观看| 久久国产乱子精品免费女| 欧美日韩网址| 黑人巨大精品欧美一区二区小视频| 99精品99久久久久久宅男| 久久久久久91香蕉国产| 欧美午夜激情小视频| 在线观看欧美日本| 欧美亚洲专区| 欧美午夜不卡| 亚洲欧洲在线观看| 久久久国产精品亚洲一区| 欧美天堂亚洲电影院在线播放| 在线免费观看日本欧美| 欧美一级淫片aaaaaaa视频| 欧美日韩国产综合网| 伊人婷婷欧美激情| 欧美亚洲免费电影| 欧美色视频一区| 亚洲国产欧美日韩精品| 久久久久成人精品| 国产久一道中文一区| 这里只有精品视频| 欧美国产激情| 亚洲第一精品夜夜躁人人躁 | 久久精品一区二区三区不卡| 欧美性猛交xxxx乱大交蜜桃| 亚洲国产日韩欧美一区二区三区| 久久成人羞羞网站| 国产精品亚洲产品| 亚洲婷婷免费| 欧美日韩一区二区三区在线观看免 | 日韩一区二区免费高清| 久久五月激情| 国语自产在线不卡| 欧美亚洲在线| 国产精品久久久久aaaa樱花| 99视频一区二区三区| 欧美高清视频免费观看| 亚洲第一网站免费视频| 久久久人成影片一区二区三区观看| 国产欧美日韩一区| 亚洲欧美综合网| 国产精品热久久久久夜色精品三区| 一本色道久久综合亚洲精品高清 | 国产精品久久久久久久久久久久久| 亚洲老司机av| 欧美日本一区二区三区| 日韩视频在线观看| 欧美成人免费全部| 亚洲黄色免费网站| 欧美99久久| 亚洲欧洲一级| 欧美精品亚洲精品| 99pao成人国产永久免费视频| 欧美日韩情趣电影| 正在播放亚洲| 国产精品yjizz| 亚洲一二三区视频在线观看| 欧美无乱码久久久免费午夜一区| 一区二区三区四区五区视频| 欧美性大战xxxxx久久久| 亚洲午夜激情在线| 国产精品久久久久久影视| 亚洲男人的天堂在线| 国产精品一卡二| 午夜日韩视频| 国产曰批免费观看久久久| 久久久久久网| 精品999成人| 欧美粗暴jizz性欧美20| 亚洲人成亚洲人成在线观看图片 | 欧美日韩国产色视频| 一区二区三区黄色| 国产精品欧美日韩久久| 久久久国际精品| 亚洲国产精品va在线看黑人 | 国产精品色午夜在线观看| 欧美一区二区视频观看视频| 激情校园亚洲| 欧美激情亚洲精品| 日韩一级精品| 国产精品视频一二三| 久久九九99| 亚洲欧洲日本专区| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲视频 欧洲视频| 国产精品视频导航| 久久乐国产精品| 日韩午夜在线| 国产精品一区二区三区四区| 久久久一本精品99久久精品66| 亚洲欧洲精品一区二区三区 | 久久综合狠狠综合久久综青草 | 国产精品五月天| 久久一区二区三区四区| 99国产精品| 国产一区二区日韩| 欧美精品三级| 校园激情久久| 91久久夜色精品国产网站| 国产精品久久久久久久久果冻传媒 | 欧美日韩国产免费观看| 亚洲欧美日韩在线不卡| 亚洲第一页自拍| 欧美午夜在线一二页| 久久精品综合网| 日韩视频欧美视频| 黄色成人在线免费| 欧美午夜一区| 免费高清在线视频一区·| 亚洲一区999| 亚洲福利国产| 国产精品免费福利| 男女av一区三区二区色多| 亚洲男人第一网站| 亚洲国产精品小视频| 国产女主播一区| 欧美国产一区二区在线观看| 欧美一区二区免费观在线| 99国产精品久久久久久久| 国产在线精品一区二区中文| 欧美视频三区在线播放| 美腿丝袜亚洲色图| 销魂美女一区二区三区视频在线| 日韩一级片网址| 一区二区自拍| 国产欧美另类| 国产精品99一区| 欧美国产三级| 久久夜色精品| 欧美一区二区免费| 亚洲天堂成人在线视频| 亚洲人成亚洲人成在线观看图片| 国内精品久久久| 国产精品免费一区豆花| 欧美片在线播放| 麻豆精品视频在线观看| 欧美中文字幕在线播放| 亚洲一区二区av电影| 亚洲精品一区久久久久久| 伊人夜夜躁av伊人久久| 国产日韩一区在线| 国产精品美女诱惑| 欧美日韩日韩| 欧美国产视频日韩| 美女诱惑一区| 久久久久久一区二区三区| 午夜精品久久久久久久蜜桃app | 欧美日韩午夜剧场| 欧美精品v国产精品v日韩精品| 久久人91精品久久久久久不卡 | 国产精品成av人在线视午夜片| 免费一区二区三区| 久久男人资源视频| 欧美在线综合| 欧美亚洲在线视频| 午夜精品999| 亚洲在线视频免费观看| 国产精品99久久久久久久久久久久| 亚洲人妖在线| 亚洲国产天堂久久国产91| 影音欧美亚洲| 一区三区视频| 伊大人香蕉综合8在线视| 国模一区二区三区| 国产一区香蕉久久| 国产一区二区三区久久悠悠色av| 国产精品一区视频网站| 国产精品伦子伦免费视频| 国产精品啊v在线| 国产精品美女午夜av| 国产精品外国| 国产日韩一区二区| 国产一区激情| 一区二区视频欧美|