在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

總結(jié)一下定時器的幾種輸出比較模式

冬至子 ? 來源:小陳學不停 ? 作者:小陳學不停 ? 2023-07-21 16:17 ? 次閱讀

1 背景

最近有接觸到通過可控硅的方式來控制交流風機或者電烙鐵功率,STM32定時器輸出比較模式,剛好可以滿足這種需求,借此機會總結(jié)一下定時器的幾種輸出模式。

2 STM32的定時器比較輸出

STM32的定時器比較輸出一共有8種,記錄一下初始化方法和邏輯分析儀的波形。

在官網(wǎng)搜索對應的型號找到用戶手冊,比如STM32F103ZET6
找到比較模式相關(guān)配置的描述
TIMx capture/compare mode register 1 (TIMx_CCMR1)
Address offset: 0x18 Reset value: 0x0000
The channels can be used in input (capture mode) or in output (compare mode). The
direction of a channel is defined by configuring the corresponding CCxS bits. All the other
bits of this register have a different function in input and in output mode. For a given bit,
OCxx describes its function when the channel is configured in output, ICxx describes it
function when the channel is configured in input. Take care that the same bit can have a
different meaning for the input stage and for the output stage。

圖片

圖片

圖片

圖片

圖片

2.1 OCxM 輸出匹配模式

OC1M用于配置通道1,通道2則在OC2M上

2.1.1 TIM_OCMODE_TIMING
000:Frozen凍結(jié)模式
TIMx_CCR1和計數(shù)器TIMx_CNT之間的比較對輸出沒有影響

2.1.2 TIM_OCMODE_ACTIVE
001: Set channel 1 to active level on match。
匹配時將輸出為有效電平,當TIMx_CNT=TIMx_CCR1時強制輸出為高電平

2.1.3 TIM_OCMODE_INACTIVE
010: Set channel 1 to inactive level on match。
匹配時將輸出為無效電平,當TIMx_CNT=TIMx_CCR1時強制輸出為高低電平

2.1.4 TIM_OCMODE_TOGGLE
011: 當TIMx_CNT=TIMx_CCR1時電平翻轉(zhuǎn)。

2.1.5 TIM_OCMODE_FORCED_INACTIVE
100: Force inactive level,強制輸出為低電平(無效電平)

2.1.6 TIM_OCMODE_FORCED_ACTIVE
101: Force active level,強制輸出為高電平(有效電平)

2.1.7 TIM_OCMODE_PWM1
110: PWM mode 1
當TIMx_CNT

2.1.8 TIM_OCMODE_PWM2
111: PWM mode 2
當TIMx_CNT

3 實測波形

在上電時默認會有個100ms的高電平,作為一個直觀的起始信號

預分頻設(shè)置為(72000000/2000)-1,最大計數(shù)為415-1,則周期是(1*415/2000)=(0.207)s

3.1 TIM_OCMODE_TIMING

3.1.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_TIMING;;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.1.2 波形

極性是高電平時,上電后100ms后一直保持低電平

圖片

極性是低電平時,一直保持高電平

圖片

3.2 TIM_OCMODE_ACTIVE

3.2.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_ACTIVE;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.2.2 波形

極性是低電平時,會先輸出脈寬為計數(shù)周期的高電平,當TIMx_CNT=TIMx_CCR2后輸出一直為低電平(有效電平)

圖片

極性是高電平時,會先輸出脈寬為計數(shù)周期的低電平,當TIMx_CNT=TIMx_CCR2后輸出一直為高電平(有效電平)

圖片

3.3 TIM_OCMODE_INACTIVE

3.3.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_INACTIVE;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.3.2 波形

極性是低電平時,當TIMx_CNT=TIMx_CCR2時會出現(xiàn)一個低電平,但持續(xù)時間很短,然后一直輸出一個高電平(無效電平)

圖片

極性是高電平時,一直輸出為低電平(無效電平)

圖片

3.4 TIM_OCMODE_TOGGLE

3.4.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_TOGGLE;
    sConfigOC.Pulse = arr/2;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.4.2 波形

極性是低電平時,會先輸出一個脈寬為半個計數(shù)周期的高電平,然后一直不停地翻轉(zhuǎn)出一個脈寬為一個計數(shù)周期的電平

圖片

極性是高電平時,會先輸出一個脈寬為半個計數(shù)周期的低電平,然后一直不停地翻轉(zhuǎn)出一個脈寬為一個計數(shù)周期的電平

圖片

3.5 TIM_OCMODE_PWM1

3.5.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_PWM1;
    sConfigOC.Pulse = arr*2/3;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.5.2 波形

極性是低電平時,當TIMx_CNT

圖片

極性是高電平時,當TIMx_CNT

圖片

3.6 TIM_OCMODE_PWM2

3.6.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_PWM2;
    sConfigOC.Pulse = arr*2/3;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.6.2 波形

極性是低電平時,當TIMx_CNT

圖片

極性是高電平時,當TIMx_CNT

圖片

3.7 TIM_OCMODE_FORCED_ACTIVE

3.7.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_FORCED_ACTIVE;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.7.2 波形

極性是低電平時,一直輸出為低電平(有效電平)。

圖片

極性是高電平時,一直輸出為高電平(有效電平)。

圖片

3.8 TIM_OCMODE_FORCED_INACTIVE

3.8.1初始化代碼

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_FORCED_INACTIVE;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

3.8.2 波形

極性是低電平時,一直輸出為高電平(無效電平)。

圖片

極性是高電平時,一直輸出為低電平(無效電平)。

圖片

4 應用場景

假設(shè)可控硅是低電平導通,我們需要在初始化時輸出為高電平,在過零時輸出一個低電平,電平的時間可控。

4.1 初始化定時器為TIM_OCMODE_INACTIVE模式

void TIM1_PWM_Init(u16 arr,u16 psc)
{
    htim2.Instance = TIM2;
    htim2.Init.Prescaler = psc;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = arr;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
    htim2.Init.RepetitionCounter = 0;
    HAL_TIM_OC_Init(&htim2);
    sConfigOC.OCMode = TIM_OCMODE_INACTIVE;
    sConfigOC.Pulse = 0;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);
    TIM_CCxChannelCmd(TIM2, TIM_CHANNEL_2, TIM_CCx_ENABLE);//
    HAL_TIM_Base_Start_IT(&htim2);
}

4.2 使用按鍵來模擬過零信號,平時輸出為高電平(無效電平),當按鍵按下時,強制輸出為低電平,并且脈寬為207.5*360/415=180ms,然后輸出持續(xù)為高電平(無效電平)

key = KEY_Scan(0);
if(key == KEY0_PRES) 
{
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);  
    TIM2- >CCMR1 = (TIM_OCMODE_FORCED_ACTIVE< 
    TIM2- >CNT=0;
    TIM2- >CCR2 = (90*4-1); 
    TIM2- >CCMR1 = (TIM_OCMODE_INACTIVE< 
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);
    LED0 =!LED0;           
}

4.3 實測波形

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 可控硅
    +關(guān)注

    關(guān)注

    43

    文章

    959

    瀏覽量

    71856
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1651

    瀏覽量

    107217
  • 預分頻器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8135
  • STM32F103ZET6
    +關(guān)注

    關(guān)注

    9

    文章

    67

    瀏覽量

    21128
  • stm32定時器
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    2294
收藏 人收藏

    評論

    相關(guān)推薦

    分享一下定時器的編程技巧

    分享一下定時器的編程技巧和編程實例的講解,每句都分析講解,方便初學者學習和進步
    發(fā)表于 09-28 11:16

    STM32定時器幾種模式介紹

    32的定時器主要有 時基單元,比較輸出,輸入捕獲和PWM輸出幾種工作模式。其中時基單元和
    發(fā)表于 07-06 08:02

    單片機定時器實驗總結(jié)

    單片機定時器實驗總結(jié)定時器中斷是單片機最重要的個功能,開始學的時候遇到了不少的問題,通過不斷地學習解決了不少問題,其實學會之后也沒有什
    發(fā)表于 07-14 06:58

    一下定時器的用法以及PWM的調(diào)速

    今天我們來講一下定時器的用法以及PWM的調(diào)速我們最初接觸的51單片機有兩組定時器(計數(shù)),因為既可以定時,又可以計數(shù),因此叫做定時器(計數(shù)
    發(fā)表于 12-07 12:10

    STM32定時器的使用學習

    快速固定頻率采集數(shù)據(jù)的話建議學習一下定時器觸發(fā)數(shù)據(jù)通過DMA傳遞接下來可以學習一下定時器的使用了32常用的定時器功能有PWM波輸出,PWM波輸入判斷占空比和頻率,
    發(fā)表于 01-06 07:48

    定時器基礎(chǔ)知識與PWM輸出原理是什么

    轉(zhuǎn)速等。本篇先介紹定時器的基礎(chǔ)知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程實現(xiàn)與代碼分析。首先來看一下定時器的基礎(chǔ)介紹。1
    發(fā)表于 01-25 08:16

    關(guān)于定時器的單脈沖輸出模式應用

    單脈沖輸出模式定時器比較輸出應用中的種特殊情況或者特殊應用,是
    的頭像 發(fā)表于 02-14 15:54 ?1.6w次閱讀
    關(guān)于<b class='flag-5'>定時器</b>的單脈沖<b class='flag-5'>輸出</b><b class='flag-5'>模式</b>應用

    淺談定時器基礎(chǔ)知識與PWM輸出原理

    轉(zhuǎn)速等。 本篇先介紹定時器的基礎(chǔ)知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程實現(xiàn)與代碼分析。 首先來看一下定時器的基礎(chǔ)介紹。 1
    的頭像 發(fā)表于 04-05 10:35 ?1.4w次閱讀
    淺談<b class='flag-5'>定時器</b>基礎(chǔ)知識與PWM<b class='flag-5'>輸出</b>原理

    單片機MSP430入門-理論⑦--定時器模塊-定時器A②

    單片機MSP430入門-理論⑦--定時器模塊-定時器A②上期大概給大家匯總介紹了,定時器模塊中比較重要并且常用的定時器A,大概說了
    發(fā)表于 11-19 17:51 ?9次下載
    單片機MSP430入門-理論⑦--<b class='flag-5'>定時器</b>模塊-<b class='flag-5'>定時器</b>A②

    51單片機定時器問題總結(jié)

    勉強看懂,然后開始寫代碼,雖然寫成功了,但是我還是覺得有些懵懵懂懂的.于是我找了些書還有開發(fā)板的幫助手冊看,總結(jié)一下。談談自己的看法定時器和中斷只學了
    發(fā)表于 11-23 16:51 ?2次下載
    51單片機<b class='flag-5'>定時器</b>問題<b class='flag-5'>總結(jié)</b>

    通過TIM輸出比較定時器

    ~0xFFFF之間循環(huán)計時。本例通過MC9S12XS128的TIM模塊的輸出比較個簡單的定時器。以下為本例所用到的寄存的介紹:TIOS
    發(fā)表于 11-26 20:21 ?11次下載
    通過TIM<b class='flag-5'>輸出</b><b class='flag-5'>比較</b>做<b class='flag-5'>一</b>個<b class='flag-5'>定時器</b>

    電機控制基礎(chǔ)——定時器基礎(chǔ)知識與PWM輸出原理

    轉(zhuǎn)速等。本篇先介紹定時器的基礎(chǔ)知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程實現(xiàn)與代碼分析。首先來看一下定時器的基礎(chǔ)介紹。1
    發(fā)表于 11-30 14:21 ?38次下載
    電機控制基礎(chǔ)——<b class='flag-5'>定時器</b>基礎(chǔ)知識與PWM<b class='flag-5'>輸出</b>原理

    【捕獲比較模式】msp430定時器比較捕獲理解

    MSP430的定時器中有比較捕獲的概念,剛剛接觸非常生疏。看了半天終于清楚: 比較模式: 這是定時器的默認
    發(fā)表于 12-16 16:55 ?10次下載
    【捕獲<b class='flag-5'>比較</b><b class='flag-5'>模式</b>】msp430<b class='flag-5'>定時器</b><b class='flag-5'>比較</b>捕獲理解

    STM32定時器幾種輸出模式

    最近有接觸到通過可控硅的方式來控制交流風機或者電烙鐵功率,STM32的定時器輸出比較模式,剛好可以滿足這種需求,借此機會總結(jié)
    的頭像 發(fā)表于 01-12 16:49 ?5732次閱讀
    STM32<b class='flag-5'>定時器</b>的<b class='flag-5'>幾種</b><b class='flag-5'>輸出</b><b class='flag-5'>模式</b>

    555定時器的工作模式

    (monostable)和雙穩(wěn)態(tài)(astable)模式。 單穩(wěn)態(tài)模式 單穩(wěn)態(tài)模式也叫單觸發(fā)模式,是555
    的頭像 發(fā)表于 10-24 10:10 ?1455次閱讀
    主站蜘蛛池模板: www.嫩草影院| 在线亚洲小视频| 久久天堂网| 国内黄色一级片| www.色播.com| 国产精品9999| 日木69xxxhd| 亚洲一区二区视频在线观看| 午夜激情小视频| 在线天堂资源| 亚洲啪啪网站| 亚洲免费视频网| 怡红院日本一道日本久久| 婷婷月| 日韩毛片在线| 可以免费观看的黄色网址| 丁香婷婷成人| 天天拍夜夜爽| 波多野吉衣一区二区三区在线观看 | 黄 色 录像成 人播放免费| 成年人网站黄色| 天天操夜夜夜| 国产真实乱xxxav| 国产在线一区视频| 色综合天天综合网国产成人网| 美脚连裤袜老师正在播放| www.四虎.com| xxxx日本69护士| 亚洲三级电影| 免费人成在线观看网站品爱网日本| www.在线| 亚洲欧美在线观看| 免费观看理论片毛片| 国产在线精品香蕉综合网一区| 亚洲情欲网| 六月丁香中文字幕| abc欧美成人影院| 一级做a爱| www.色婷婷.com| 日本在线不卡一区| 欧美一区二区三区免费|