亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

TIM基本定時(shí)器實(shí)戰(zhàn):從PSC/ARR計(jì)算到中斷配置,告別delay阻塞

TIM基本定時(shí)器實(shí)戰(zhàn):從PSC/ARR計(jì)算到中斷配置,告別delay阻塞 為了給板子上的狀態(tài)燈做閃爍效果我一開(kāi)始偷懶在循環(huán)里寫(xiě)了個(gè)delay結(jié)果整個(gè)程序直接被拖垮按鍵掃描不靈敏顯示刷新一卡一卡按下按鍵半天才有反應(yīng)。當(dāng)時(shí)我就意識(shí)到凡是“每隔固定時(shí)間就做一次事”的場(chǎng)景都不應(yīng)該讓CPU空轉(zhuǎn)等著而是應(yīng)該交給硬件定時(shí)器去計(jì)時(shí)時(shí)間到了用中斷通知CPU。后來(lái)我把目標(biāo)鎖定在TIM基本定時(shí)器上它是定時(shí)器家族里功能最單一也最好懂的那一級(jí)——不涉及輸入捕獲、不涉及PWM輸出就是老老實(shí)實(shí)定時(shí)。也正因?yàn)檫@份純粹它成了吃透定時(shí)器原理的最佳入口。這篇文章我從頭寫(xiě)一遍T(mén)IM基本定時(shí)器的實(shí)戰(zhàn)使用過(guò)程它在整個(gè)定時(shí)器體系里的定位、定時(shí)時(shí)間的計(jì)算方法、寄存器配置的逐行解釋以及我實(shí)際調(diào)板子時(shí)踩過(guò)的坑。剛開(kāi)始接觸定時(shí)器的新手或者一直在用庫(kù)函數(shù)封裝、想弄清底層原理的朋友應(yīng)該都能在這里找到點(diǎn)東西。1. 先看清基本定時(shí)器在“定時(shí)器家族”里的位置1.1 三種定時(shí)器各管一攤子事在常見(jiàn)的Cortex-M內(nèi)核MCU里定時(shí)器通常按能力分成三檔基本定時(shí)器、通用定時(shí)器、高級(jí)定時(shí)器。光看名字有人會(huì)誤以為通用定時(shí)器能完全覆蓋基本定時(shí)器的功能但實(shí)際恰恰相反——基本定時(shí)器雖然簡(jiǎn)單卻有它不可替代的定位。能力項(xiàng)基本定時(shí)器TIM6、TIM7通用定時(shí)器TIM2~TIM5高級(jí)定時(shí)器TIM1、TIM8定時(shí)中斷/更新事件支持支持支持輸入捕獲無(wú)支持支持輸出比較/PWM無(wú)支持支持互補(bǔ)輸出/死區(qū)/剎車(chē)無(wú)無(wú)支持外部引腳不引出引出引出從表格能看明白一件事基本定時(shí)器沒(méi)有對(duì)外引腳它不跟外部信號(hào)打交道唯一干的事情就是“按內(nèi)部時(shí)鐘計(jì)數(shù)數(shù)到預(yù)定值產(chǎn)生一次更新事件”。這個(gè)特性不是缺點(diǎn)反而讓初學(xué)階段少了很多干擾項(xiàng)。等我把基本定時(shí)器的原理吃透了再去看通用定時(shí)器的捕獲、比較功能會(huì)發(fā)現(xiàn)它們共用相同的時(shí)基結(jié)構(gòu)只是多了幾條旁路而已。1.2 基本定時(shí)器內(nèi)部只有三個(gè)關(guān)鍵部件基本定時(shí)器的數(shù)據(jù)通路可以簡(jiǎn)化成一條鏈內(nèi)部時(shí)鐘 → 預(yù)分頻器PSC→ 計(jì)數(shù)器CNT→ 自動(dòng)重裝載寄存器ARR最后CNT數(shù)到ARR的值時(shí)產(chǎn)生更新事件觸發(fā)中斷。拿生活里的場(chǎng)景類(lèi)比預(yù)分頻器就像一個(gè)減速齒輪箱把內(nèi)部高速時(shí)鐘“降速”后送給計(jì)數(shù)器計(jì)數(shù)器像一個(gè)里程表一格一格往上跳ARR則是你在儀表盤(pán)上畫(huà)的紅線里程表一走到紅線位置就發(fā)出“到點(diǎn)了”的信號(hào)。這套類(lèi)比雖然簡(jiǎn)單但對(duì)后面理解定時(shí)時(shí)間公式非常有用。1.3 為什么入門(mén)要從基本定時(shí)器開(kāi)始我見(jiàn)過(guò)不少同學(xué)第一次學(xué)定時(shí)器就直接上通用定時(shí)器做PWM結(jié)果既要配時(shí)基、又要配輸出通道、還要調(diào)占空比一個(gè)東西涉及好幾組寄存器出了問(wèn)題根本不知道是時(shí)基錯(cuò)了還是輸出配置錯(cuò)了?;径〞r(shí)器就沒(méi)有這個(gè)問(wèn)題不涉及引腳復(fù)用、不涉及通道映射、不需要配置輸出極性只需要關(guān)心時(shí)基本身。說(shuō)白了它就是一張白紙讓你能把“計(jì)數(shù)溢出”這個(gè)最核心的行為看得清清楚楚。2. 定時(shí)時(shí)間怎么算從時(shí)鐘樹(shù)到那條要抄在便簽上的公式2.1 先弄明白定時(shí)器時(shí)鐘從哪來(lái)在配置任何定時(shí)器之前必須先知道給它提供時(shí)鐘的源頻率是多少。以一顆主頻72MHz的Cortex-M內(nèi)核MCU為例定時(shí)器掛在APB1總線上。這里有一個(gè)非常容易讓人迷糊的點(diǎn)如果APB1分頻系數(shù)設(shè)置為2APB1外設(shè)時(shí)鐘會(huì)變成36MHz但定時(shí)器時(shí)鐘并不會(huì)跟著變36MHz而是自動(dòng)倍頻成72MHz。原因很簡(jiǎn)單芯片設(shè)計(jì)時(shí)故意讓定時(shí)器能拿到比APB1外設(shè)更高一倍的時(shí)鐘就是為了保證定時(shí)器在高精度場(chǎng)景下依然夠用。所以計(jì)算定時(shí)時(shí)間時(shí)不能拿PDF表格里的“APB136MHz”直接去算而要在心里多問(wèn)一句APB1分頻系數(shù)是不是2如果是定時(shí)器時(shí)鐘72MHz如果APB1分頻系數(shù)是1定時(shí)器時(shí)鐘才是36MHz。這一步錯(cuò)了后面所有定時(shí)時(shí)間都會(huì)翻倍或者減半而且輕易看不出來(lái)。2.2 核心公式T (ARR1) x (PSC1) / CK_INT定時(shí)器從0向上計(jì)數(shù)每來(lái)一個(gè)計(jì)數(shù)脈沖CNT加1。配置好預(yù)分頻值PSC之后實(shí)際分頻系數(shù)是PSC1自動(dòng)重裝載值A(chǔ)RR參與比較時(shí)也要加1因?yàn)镃NT是從0開(kāi)始數(shù)到ARR的一共數(shù)了ARR1個(gè)脈沖。所以定時(shí)周期公式是T (ARR 1) * (PSC 1) / CK_INT其中CK_INT是定時(shí)器輸入時(shí)鐘頻率。這個(gè)公式是我建議所有剛接觸定時(shí)器的人抄在便簽上貼在顯示器旁邊的東西因?yàn)楹竺娌还苁怯?jì)算1ms、1s還是做微妙延時(shí)全都是在套它。2.3 實(shí)際算一組參數(shù)從1ms到1s以定時(shí)器時(shí)鐘72MHz為例如果我想產(chǎn)生1ms的定時(shí)中斷先選預(yù)分頻值目的是把計(jì)數(shù)頻率降到好算的量級(jí)。取PSC71則計(jì)數(shù)頻率 72MHz / (711) 1MHz也就是說(shuō)計(jì)數(shù)器每1微秒跳一次。再選ARR。1ms 1000微秒計(jì)數(shù)器跳1000次需要ARR999。整個(gè)計(jì)算過(guò)程可以口算PSC71ARR999。代碼里寫(xiě)的時(shí)候要注意這兩個(gè)值填的原始值是71和999不要額外再去減1因?yàn)榧拇嫫饔布旧硪呀?jīng)按“值1”來(lái)處理了。如果我想做1s定時(shí)同樣可以保持PSC71不變計(jì)數(shù)頻率依然是1MHzARR改成999999。此時(shí)定時(shí)周期(9999991) x 1us 1s。需要提醒的是基本定時(shí)器的ARR是16位寄存器最大值65535所以1s這個(gè)配置已經(jīng)超出范圍了。真要做1s通常把PSC加大比如PSC7199計(jì)數(shù)頻率10kHzARR9999周期(99991)x0.1ms1s。權(quán)衡思路就是先確定合理計(jì)數(shù)頻率再反推ARR最后檢查ARR是否落在16位范圍內(nèi)。2.4 為什么PSC和ARR往往配成“整百整千”的數(shù)在保證定時(shí)時(shí)間正確的前提下我喜歡把計(jì)數(shù)頻率配成1kHz、1MHz這種十進(jìn)制友好的數(shù)值不是因?yàn)樗阅芨枚且驗(yàn)檎{(diào)試時(shí)好換算。假設(shè)你在中斷里加一個(gè)變量計(jì)數(shù)想看到LED每500ms翻轉(zhuǎn)一次那只要算“500000次中斷對(duì)應(yīng)500000微秒”就行不用拿著計(jì)算器反推。這在項(xiàng)目后期排查問(wèn)題時(shí)能省很多腦力。3. 從零配置一個(gè)1ms定時(shí)中斷寄存器逐行手記3.1 標(biāo)準(zhǔn)外設(shè)庫(kù)視角下的初始化代碼用標(biāo)準(zhǔn)外設(shè)庫(kù)配置TIM基本定時(shí)器代碼量不大關(guān)鍵是要知道每一行到底做了什么。下面是一段完整的初始化與中斷服務(wù)函數(shù)注釋里寫(xiě)的是寄存器層面的行為#include tim6.h static volatile uint32_t g_tick_count 0; void TIM6_Init(uint16_t prescaler, uint16_t period) { // 1. 打開(kāi)TIM6外設(shè)時(shí)鐘 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); // 2. 配置時(shí)基 TIM_TimeBaseInitTypeDef timebase; timebase.TIM_Prescaler prescaler; // PSC實(shí)際分頻系數(shù)為 prescaler1 timebase.TIM_CounterMode TIM_CounterMode_Up; // 向上計(jì)數(shù) timebase.TIM_Period period; // ARR自動(dòng)重裝載值 timebase.TIM_ClockDivision TIM_CKD_DIV1; TIM_TimeBaseInit(TIM6, timebase); // 3. 使能更新中斷 TIM_ITConfig(TIM6, TIM_IT_Update, ENABLE); // 4. 配置中斷優(yōu)先級(jí) NVIC_InitTypeDef nvic; nvic.NVIC_IRQChannel TIM6_IRQn; nvic.NVIC_IRQChannelPreemptionPriority 1; nvic.NVIC_IRQChannelSubPriority 1; nvic.NVIC_IRQChannelCmd ENABLE; NVIC_Init(nvic); // 5. 啟動(dòng)定時(shí)器 TIM_Cmd(TIM6, ENABLE); } void TIM6_IRQHandler(void) { if (TIM_GetITStatus(TIM6, TIM_IT_Update) ! RESET) { TIM_ClearITPendingBit(TIM6, TIM_IT_Update); g_tick_count; } }第2步里有個(gè)容易忽略的細(xì)節(jié)TIM_TimeBaseInit內(nèi)部會(huì)操作TIMx_ARR、TIMx_PSC這些寄存器但PSC的寫(xiě)入要等到更新事件產(chǎn)生之后才會(huì)真正生效到計(jì)數(shù)邏輯。因此很多老工程師會(huì)在初始化后加一句TIM_GenerateEvent(TIM6, TIM_EventSource_Update)也就是軟件產(chǎn)生一次更新事件把預(yù)分頻值“推”進(jìn)生效寄存器避免第一次周期的計(jì)數(shù)值不對(duì)。如果是上面這段代碼后續(xù)每次都走正常溢出影響不大但嚴(yán)謹(jǐn)起見(jiàn)建議加上。3.2volatile到底保護(hù)了什么我在代碼里把g_tick_count聲明成了volatile這不是玄學(xué)。中斷服務(wù)函數(shù)里修改這個(gè)變量主循環(huán)里讀這個(gè)變量編譯器默認(rèn)不知道這個(gè)變量會(huì)“被外部改變”很可能把它的值優(yōu)化到寄存器里緩存導(dǎo)致主循環(huán)一直讀到舊值。加了volatile之后編譯器每次讀取都老老實(shí)實(shí)從內(nèi)存地址去取。這是多線程和中斷編程里最容易踩、也最難用肉眼發(fā)現(xiàn)的問(wèn)題。3.3 主循環(huán)里怎么用它判斷時(shí)間有了1ms的tick計(jì)數(shù)主循環(huán)就可以去掉各種delay改成判斷差值uint32_t last_time 0; while (1) { uint32_t now g_tick_count; if (now - last_time 500) // 每500ms翻轉(zhuǎn)一次 { last_time now; GPIO_ToggleBits(LED_PORT, LED_PIN); } // 按鍵掃描、顯示刷新等任務(wù)都可以放在這里不再被延時(shí)阻塞 }這里用差值判斷而不是直接比較相等是為了防止主循環(huán)執(zhí)行周期波動(dòng)導(dǎo)致漏掉某一拍的判斷。用無(wú)符號(hào)整數(shù)做減法還有額外好處即使tick發(fā)生回繞只要時(shí)間差不超過(guò)該類(lèi)型表示范圍的一半結(jié)果依然正確。3.4 HAL庫(kù)對(duì)應(yīng)的寫(xiě)法如果你用的不是標(biāo)準(zhǔn)外設(shè)庫(kù)而是HAL庫(kù)本質(zhì)操作完全一樣只是封裝方式不同__HAL_RCC_TIM6_CLK_ENABLE(); htim6.Instance TIM6; htim6.Init.Prescaler 71; htim6.Init.CounterMode TIM_COUNTERMODE_UP; htim6.Init.Period 999; htim6.Init.ClockDivision TIM_CLOCKDIVISION_DIV1; HAL_TIM_Base_Init(htim6); HAL_TIM_Base_Start_IT(htim6);中斷回調(diào)是統(tǒng)一入口void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim-Instance TIM6) { g_tick_count; } }HAL庫(kù)依賴(lài)初始化函數(shù)里把句柄和實(shí)例綁定同時(shí)應(yīng)用里必須調(diào)用HAL_TIM_Base_Start_IT才開(kāi)始真正走中斷。不少人配好了初始化但忘了啟動(dòng)現(xiàn)象是“寄存器看著都對(duì)就是不進(jìn)中斷”。這個(gè)問(wèn)題我在下一章也會(huì)詳細(xì)說(shuō)。4. 實(shí)際調(diào)定時(shí)器時(shí)踩過(guò)的四個(gè)坑以及完整的排查思路4.1 坑一寫(xiě)完程序燒進(jìn)去LED紋絲不動(dòng)第一次調(diào)定時(shí)中斷時(shí)我配置好代碼、下載程序LED壓根不閃。當(dāng)時(shí)第一反應(yīng)是定時(shí)器沒(méi)跑起來(lái)于是用調(diào)試器查看CNT寄存器的值——結(jié)果發(fā)現(xiàn)它就是一直在變說(shuō)明定時(shí)器已經(jīng)工作了。接著查中斷是否發(fā)生發(fā)現(xiàn)對(duì)應(yīng)的中斷標(biāo)志位一直是SET但程序就是沒(méi)跳到中斷服務(wù)函數(shù)。排查到這一步方向轉(zhuǎn)向NVIC。逐個(gè)檢查NVIC配置項(xiàng)發(fā)現(xiàn)我照抄了某段通用定時(shí)器的例程中斷通道寫(xiě)成了別的定時(shí)器的IRQ而不是TIM6_IRQn。時(shí)鐘開(kāi)了、定時(shí)器跑了、中斷標(biāo)志有了但中斷請(qǐng)求根本沒(méi)送達(dá)CPU自然不會(huì)進(jìn)服務(wù)函數(shù)。這個(gè)坑給了一個(gè)教訓(xùn)遇到“定時(shí)器計(jì)數(shù)正常但程序不進(jìn)中斷”的情況第一件事是確認(rèn)中斷通道是否匹配自己的定時(shí)器號(hào)第二件事是確認(rèn)優(yōu)先級(jí)分組是否配置過(guò)。有些啟動(dòng)代碼里沒(méi)有調(diào)用NVIC_PriorityGroupConfig雖然默認(rèn)也能用但不同芯片恢復(fù)的默認(rèn)分組不同最好顯式配置一次。4.2 坑二定時(shí)時(shí)間對(duì)不上所有時(shí)間都翻了一倍有次我把PSC配成71ARR配成999滿以為會(huì)得到1ms中斷用邏輯分析儀一量居然是2ms。那一刻我第一個(gè)懷疑是公式記錯(cuò)了又翻手冊(cè)核對(duì)預(yù)分頻器分頻確實(shí)應(yīng)該加1ARR的比較確實(shí)要加1公式?jīng)]問(wèn)題。后來(lái)反復(fù)看時(shí)鐘樹(shù)才意識(shí)到我用的這顆芯片APB1分頻系數(shù)是2APB1外設(shè)時(shí)鐘已經(jīng)變成36MHz但定時(shí)器時(shí)鐘自動(dòng)倍頻回了72MHz也就是說(shuō)定時(shí)器時(shí)鐘確實(shí)是72MHz沒(méi)錯(cuò)。那問(wèn)題出在哪我在初始化代碼里先調(diào)用了外設(shè)時(shí)鐘配置把APB1分頻設(shè)成了2但我是在這之后才開(kāi)啟TIM6時(shí)鐘的。這時(shí)TIM6的輸入時(shí)鐘按理論應(yīng)該是72MHz。邏輯分析儀為什么測(cè)出2ms后來(lái)查代碼發(fā)現(xiàn)初始化里把TIM_Prescaler寫(xiě)成143我是把“PSC1144”當(dāng)成目標(biāo)去反推的算出來(lái)就是144倍分頻計(jì)數(shù)器自然變成500kHz溢出周期變成2ms。問(wèn)題出在變量名太長(zhǎng)看花了眼填值時(shí)多打了一個(gè)2。這個(gè)經(jīng)歷說(shuō)明公式本身不難難的是“寄存器里填的值”和“實(shí)際分頻倍數(shù)”之間差一的關(guān)系。PSC71實(shí)際是72分頻PSC143實(shí)際是144分頻。填值時(shí)多注意這一步能省很多排查時(shí)間。4.3 坑三程序看起來(lái)死機(jī)了其實(shí)是中斷風(fēng)暴用調(diào)試器看程序一直停在某個(gè)中斷相關(guān)代碼里主循環(huán)完全跑不動(dòng)看起來(lái)像死機(jī)。單步跟蹤發(fā)現(xiàn)中斷服務(wù)函數(shù)每次都進(jìn)而且總是在同一個(gè)位置重復(fù)進(jìn)入。根因是中斷標(biāo)志沒(méi)有清除。我最初寫(xiě)服務(wù)函數(shù)時(shí)只做了標(biāo)志判斷忘了調(diào)用清標(biāo)志位的函數(shù)。TIM的更新中斷標(biāo)志UIF一旦置位不清除的話退出中斷后標(biāo)志依然有效CPU會(huì)立刻再次進(jìn)入中斷。于是程序永遠(yuǎn)在“進(jìn)中斷→退出→立刻再進(jìn)中斷”中循環(huán)主循環(huán)被餓死。排查這種問(wèn)題有一個(gè)很管用的觀察法在中斷服務(wù)函數(shù)里加一個(gè)計(jì)數(shù)器這個(gè)計(jì)數(shù)器增值很快說(shuō)明中斷頻率異常再用調(diào)試器看一眼SR寄存器的UIF位是否一直為1如果是基本就是沒(méi)清標(biāo)志。清標(biāo)志的操作一定要放在處理邏輯之前還是之后反而無(wú)所謂重點(diǎn)是不要遺漏。另外有些庫(kù)函數(shù)在讀取標(biāo)志時(shí)已經(jīng)隱式清除了標(biāo)志有的沒(méi)有一定要以手冊(cè)為準(zhǔn)不要想當(dāng)然。4.4 坑四HAL庫(kù)項(xiàng)目里回調(diào)函數(shù)寫(xiě)了但永遠(yuǎn)不進(jìn)來(lái)?yè)Q到HAL庫(kù)項(xiàng)目后配置看著正?;卣{(diào)函數(shù)也寫(xiě)了但始終不觸發(fā)。我重新檢查初始化流程發(fā)現(xiàn)只調(diào)用了HAL_TIM_Base_Init沒(méi)有調(diào)用HAL_TIM_Base_Start_IT。HAL庫(kù)的啟動(dòng)函數(shù)才是真正去置位CR1寄存器CEN位、并使能更新中斷的開(kāi)關(guān)只初始化不啟動(dòng)等于車(chē)子掛好了擋但不踩油門(mén)。補(bǔ)上啟動(dòng)調(diào)用后回調(diào)立刻正常涌入。此外HAL庫(kù)允許多個(gè)定時(shí)器實(shí)例共用同一個(gè)HAL_TIM_PeriodElapsedCallback回調(diào)函數(shù)如果工程里同時(shí)用了TIM6和TIM7必須在回調(diào)里用句柄的Instance區(qū)分來(lái)源否則兩個(gè)定時(shí)器都會(huì)觸發(fā)同一段邏輯產(chǎn)生意料之外的聯(lián)動(dòng)。5. 一個(gè)定時(shí)器不夠用時(shí)用定時(shí)中斷撐起整個(gè)軟件時(shí)間架構(gòu)5.1 從“一個(gè)tick變量”到“多個(gè)軟件定時(shí)器”把1ms中斷跑通之后我開(kāi)始思考一個(gè)問(wèn)題工程里可能有LED翻轉(zhuǎn)、按鍵消抖、超時(shí)檢測(cè)、屏幕刷新每一個(gè)都要不同的時(shí)間周期總不能為每個(gè)功能開(kāi)一個(gè)硬件定時(shí)器。硬件基本定時(shí)器就兩個(gè)根本不夠用。于是我用結(jié)構(gòu)體數(shù)組做了幾個(gè)“軟件定時(shí)器”每個(gè)定時(shí)器只記錄目標(biāo)值和當(dāng)前狀態(tài)typedef struct { uint8_t active; uint32_t target_tick; uint32_t last_tick; } SoftTimer;在主循環(huán)里用g_tick_count去逐個(gè)檢查g_tick_count - last_tick target_tick滿足就執(zhí)行對(duì)應(yīng)回調(diào)并更新last_tick。整個(gè)軟件定時(shí)器只需要一個(gè)1ms硬件節(jié)拍其余都是內(nèi)存里的加減法。這也是許多輕量級(jí)操作系統(tǒng)的“時(shí)間片管理”雛形。5.2 時(shí)間片輪轉(zhuǎn)給不同任務(wù)分配時(shí)間窗口如果任務(wù)不需要精確到微秒更簡(jiǎn)單的做法是時(shí)間片輪轉(zhuǎn)。比如tick加1代表1ms過(guò)去可以約定“每個(gè)tick末位為0時(shí)執(zhí)行按鍵掃描為5時(shí)執(zhí)行顯示刷新為20時(shí)執(zhí)行數(shù)據(jù)記錄”。這種方式不用建結(jié)構(gòu)體數(shù)組只要在1ms中斷里用switch (tick % 20)分發(fā)即可。需要注意的點(diǎn)是1ms中斷服務(wù)函數(shù)里的代碼要盡量短。中斷里只置標(biāo)志、加計(jì)數(shù)、記錄時(shí)間點(diǎn)不要做復(fù)雜的計(jì)算、通信或者延時(shí)操作。否則中斷占用時(shí)間太長(zhǎng)會(huì)影響到主循環(huán)的實(shí)時(shí)性也可能導(dǎo)致下一次中斷被延后產(chǎn)生時(shí)間抖動(dòng)。5.3 共享變量與臨界區(qū)保護(hù)只要涉及中斷和主循環(huán)之間共享變量就必須考慮數(shù)據(jù)一致性。對(duì)于32位MCU一個(gè)32位變量的讀取在硬件上通常是原子操作但如果是結(jié)構(gòu)體、數(shù)組、或者大于一個(gè)機(jī)器字長(zhǎng)的數(shù)據(jù)讀寫(xiě)過(guò)程可能被中斷打斷導(dǎo)致主循環(huán)讀到“寫(xiě)到一半”的數(shù)據(jù)。這種情況下可以采用臨界區(qū)保護(hù)__disable_irq(); local_var shared_var; __enable_irq();或者更精確地用“關(guān)中斷→取數(shù)據(jù)→恢復(fù)中斷”的方式。在我自己維護(hù)的代碼里凡是中斷服務(wù)函數(shù)和主循環(huán)共同訪問(wèn)的變量我都統(tǒng)一加上volatile多字節(jié)數(shù)據(jù)則用臨界區(qū)保護(hù)。這是一個(gè)換過(guò)教訓(xùn)后的習(xí)慣。5.4 利用定時(shí)器中斷做時(shí)間基座后的工程體會(huì)等我把這套時(shí)間架構(gòu)跑起來(lái)之后最直觀的感受是主循環(huán)變清爽了沒(méi)有了各種delay嵌套按鍵掃描不會(huì)因?yàn)榈却鴣G事件屏幕刷新也穩(wěn)定了。1ms的定時(shí)中斷就像整個(gè)系統(tǒng)的“心跳”所有任務(wù)都圍著這個(gè)心跳排隊(duì)執(zhí)行。我個(gè)人現(xiàn)在做定時(shí)需求時(shí)習(xí)慣先寫(xiě)“定時(shí)周期”再反推PSC和ARR而不是隨手寫(xiě)個(gè)值再去量波形。算完之后用邏輯分析儀或示波器確認(rèn)一次實(shí)際引腳翻轉(zhuǎn)周期確認(rèn)無(wú)誤后再繼續(xù)往下做別的功能。這個(gè)習(xí)慣看起來(lái)非?;A(chǔ)但在項(xiàng)目復(fù)雜度上去之后能保證時(shí)間基準(zhǔn)始終可靠。6. 給新手的幾條實(shí)測(cè)建議一開(kāi)始不要直接用最高主頻配合大分頻做1s長(zhǎng)周期先用1ms級(jí)別的中斷觀察現(xiàn)象波形看得清楚公式也容易驗(yàn)證。盡量把第一個(gè)定時(shí)中斷配置在某個(gè)空閑的GPIO上翻轉(zhuǎn)用示波器或邏輯分析儀看到方波再開(kāi)始“折騰”其他功能。所有中斷服務(wù)函數(shù)里跟主循環(huán)共享的變量都要加volatile多字節(jié)數(shù)據(jù)記得做臨界區(qū)保護(hù)不要等程序“偶爾異?!绷嗽倩貋?lái)補(bǔ)。如果遇到中斷進(jìn)不去優(yōu)先懷疑“中斷使能位”“NVIC通道”“啟動(dòng)函數(shù)”這三個(gè)位置比從頭到尾讀一遍代碼更高效。不管用什么庫(kù)最終都要能自己找到對(duì)應(yīng)的寄存器位置。這一行代碼會(huì)不會(huì)寫(xiě)不重要能不能看懂它在操作哪個(gè)寄存器才重要。寫(xiě)到這里基本定時(shí)器的定時(shí)功能從原理到落地已經(jīng)完整串了一遍?;剡^(guò)頭看定時(shí)器的本質(zhì)就是一個(gè)能自動(dòng)計(jì)數(shù)、數(shù)到目標(biāo)值后通知CPU的硬件工具難點(diǎn)從來(lái)不在配置多少行代碼而在于是否真正理解PSC、ARR、時(shí)鐘源三者之間的關(guān)系。把基本定時(shí)器吃透之后再去接觸通用定時(shí)器的PWM輸出、輸入捕獲你會(huì)發(fā)現(xiàn)底層思想都是一樣的只是多了一些“旁路”和“分支”而已。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲综合在线第一页| 日韩78m视频| 亚洲熟女乱综合一区二区三区| 久久久久久网址| 亚洲无码 国产无码| 97干色天堂| 韩国三级一线观看久| 久久久久久亚洲精品中文字幕人妻| 福利视频网站| 亚洲熟妇熟在线电影视频| 日语五十路和六十路亚洲国产精品| 91爱做| 色婷婷五月综合| 玖玖久久久| 97精品一二区| 人人做人人妻人人夜视频| 久久风骚城市| 久久熟女人| 国产视频一区二区三区在线免费观看 | 99色色网| 在线视频免费播放一区| 久久久久白虎| 麻豆天美在线喷水AV| 五月天婷婷基地| 97国产精品| 狠狠2050在线观看| 国产精品熟女九九九| 成人免费在线网站| 人妻精品视频一区二区三区| 色吧91| av日韩中文字幕| 亚洲和欧美裸体美女双飞视频| 婷婷五月天补不补| 精品一区二区人妖| 深夜激情无码| 一区二区三区机械有限公司| 麻豆国产视频精品观看| 日本视频在线中文字幕| 日本道不卡| 美女91| 久久国语| 在线小说视频一区| 男人的天堂久久狠| 狠狠搞 亚洲91| 天天色综合天天操| 国产自产自拍| 久久久一区二区三区三州| 国产精品懂色tv影视免费观看| 青青青在线高清视频在线一二三四区| 男生通女生屁股| 久久久禁| 九九热av| 国产精品无码成人精品| 日韩三A大片在线观看| 黄片www视频免费| 狠狠操狠狠操操| 97色操| 尤物网站91| 免费看黄视频亚洲网站| 国产情侣自拍在线播放| 日本精品高清一二区一本到| 亚洲色图久久成人| AV中文在线可看| 97国产超湿| 久久蜜桃综合网| 中出789在线视频| 偷拍色图| 亚洲美女av无码| 中文字幕精品免费一区二区| 久久国产在线一区二区| 一级黄色视频网| 99re热有精品视频国产| 18禁超污无遮挡无码免费网| 熟女丰满人妻一区| 人妻黑丝袜电影| 久久久久久久久久精| 丝袜美腿91| 亚洲 欧美 日本 国内 首页| 家庭乱伦麻豆| 日韩性爱高清免费视频| 久色网| 乱日视频| 亚洲国产美女久久久久| 国产精选三级在线观看| 日本丝袜美腿人妻九九| 51久久夜色精品国产麻豆| 亚洲av无线观看| 久久肏大逼| 日韩在线76| 国产精品69久久久久孕妇欧美| 久久九色| 在线看片国产精品每日更新| 亚洲精品第一| 久草精品国产蜜臀| 九九九九九九九九九国产精品| 黄色香蕉视频网站一区| 另类在线| 91蜜桃传媒精品久久久一区二区| 岛国黄色短视频| 国产成人无码久久精品| 99国产精品久久久久久久成人热| 亚洲欧洲无码一区夜| 精品无码久久久久久久杏吧| 玖玖婷婷五月天| 欧美熟女丝袜| 日韩免费在线视频观看| AA丁香综合激情| 欧美性,色九九| 91N综合网| 超97在线精品视频| 小明看看网址| AV乱伦专区| 欧插网站| 国产熟女精品一区二区| 欧美午夜精品久久久久久超碰| 香港日本韩国人妇99www.wccm20| 夜夜欢天天干| 国产精品一二三免费网站| 欧洲乱码一区二区| 91精品无码久久久久久久| 欧美美女自慰一区二区三区| 国产亚洲性生活视频播放| 久久99热这里只频精品6学生| 欧美另类自拍| 污色区网站| 中文字幕大片三级狠狠干| 人妻少妇久久| 五月丁香综合| 大学生美女口爆| 国产精品肉丝自拍| 91精品人妻| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲女人91| 久久激情综合| 国产一级舔足在线观看| 69人妻精品丰满熟女区| 国产麻豆福利av在线播放| 尤物视频偷拍免费| 日韩有码一区三区| 国产无码久久高清| 欧美九一精品久久久熟妇| 9国产超碰| 国产人妻精品一区二区三区秋霞 | 立川理惠加勒比无码| 五月天精品| 私色综合网| 日韩免费在线观看不卡| 动漫av中文| 亚洲色综合| 激情五月天插| 98超碰日本| 五月天久久久| 人妻无一区二区三区| 丝袜内射| 亚洲一区二区三区四区视频| 五十路三区在线| 99国产天美| 国产色精品午夜大片| 亚洲丨在线| 精品国产一区二区三区久久久蜜臀| 一区二区三区亚洲| 78m啪啪啪| 九九RE视频在线精品| 综合色好色| 久久人妇| 97 亚洲 日韩 欧美 在线| 少妇xx精品| 亚洲欧美首页| 欧美人妻另类在线| 国产真实野战在线视频| 立川理惠被中出无码| 天天日美女的B| 日韩一级二级| 爱媛媛久久国产福利| 欧美日韩午夜精品一区二区三区 | 国产亚洲精品久久久久小| 久久九九热| www四虎| 狠狠色丁香| 久久首页| 国产精品直播在线观看直播| 狠狠躁伊人中文字幕| 日本啊啊啊啊啊视频| 亚洲精品三| 又大又长又粗又爽又黄| 97超碰久久| 国产精品丝袜在线| 久草线上视频免费看| 日韩影片中文字幕一区二区三区| 午夜精品久久久久久久男人的天堂 | 超碰这里有精品| 精品久久在线区一区| 99熟女| 干干干天天| 超碰日韩人妻| 国产综合日韩伦理| 中文字幕国产在线天堂| 2020中文在线一区二区三区| 日欧操屄| 69少妇一区二区| 美女啊啊啊啊啊| 91黄射| 日本高清视频在线观看黄已三辽| 日韩偷拍色图| 蜜桃视频精品一区二区| 九色 人妻 大香蕉| 美女啊啊啊啊pc| 久久 国产 无码| 色噜噜狠狠色综无码久久合欧美| 人妻激情偷乱视频一区二区三区| 啪啪啪综合| 中文欧丝袜诱惑| 东北老女人的激情视频| 日产中文字幕2020| 99热精品青草在线| 淫荡熟女乱伦网| 国产精品一区二区久久精品| 中国熟女老妇仑乱一区二区三区| 国产乱伦视频污| 日韩欧美亚洲自拍偷拍| 被窝影院午夜看片无码| 中文字幕日韩电影人妻| 综合影视国产无码| 偷窥自拍A片| 成人午夜小视频手机在线看| 欧亚性爱视频免费看| 东亚亚洲无码高清| 五月丁香啪啪| 中文字幕 一区二区 亚洲无码| 色性荡荡荡荡视频| 无码久| 欧美综合骚| 日本裸体久久色噜噜| 99热在线不卡| 久久华人网| 色悠悠伊人网五月天| 天天狂操夜夜狂日| 免费日韩黄片| 91在线页| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 91欧洲国产成人久久精品网站| 青娱乐淫乱1314| 国产一级高跟丝袜| 色婷婷狠狠18禁| 欧美 亚洲 制服 精品| 美女大乳久久久久久久女人18| 操死我了嗯嗯嗯| wuyechaopeng| 熟妇乱伦一区二区| 99无码视频| 伊人久久大香蕉线AV五月天| 亚洲欧美综合网 | 69综合网| 欧美+日产+中文| 国内偷自视频区视频综合| 国产激情在线| 999综合色| 中国91AV| 人人操欧美风骚| 日本一级婬片试看三分钟| 久久久精品成人国产| 精品久久在线区一区| 欧美78| 亚洲国产精品无码AV久久| 黄色一区二区秘书性感| 啊好大好舒服| AV色女综合| 久久精品日韩| 日日黄色三级网站| 屁股久久久久久久久久| 亚洲av无码成人精品国产| 丰满搜索结果 -第18页- 久久高清无码| 88在线一区二区三区| 久久透逼视频| 日韩美一区| 一本大道青青| 免费国产电影一区二区| 青青草亚洲一区 | 97人人干| 欧美亚洲系列| 亚洲精品亚洲人成人网| 久久久国产精品亚洲精品| 黑人免费福利视频| 亚洲天堂性爱| 欧美日韩资源| 日韩av女优在线免费一区| 久久久久久无码人妻中文字幕| 女沟厕偷窥piss小便| 久久婷五月| 国产精品一二三| 国产大学生口爆吞精合集| 九九无码久久精品视频| 蜜桃久久一区二区| 国产怡红院| V A在线| 久操九九九九| 伊人影院日本| 91撸色网 玖玖网 欧美| 无码最新| 国内外毛片在线观看| 亚洲日韩美女中文字幕乱| 超碰97最新人妻| 强奸乱伦 亚洲一区| 91狠婷| 欧美视频一| 国产人伦精品一区二区三区| 综合av社区| 超碰综合色| www.久久最新地址| 丝袜AV一区二区三区| 九九色热| 人人妻人人爱人人玩| 五月天激情小说| 少妇综合| 9久久美女首页| 亚洲伊人a线观看视频| 亚洲黄a三级三级三级看三级| 日韩欧美成人性爱在线| 国产精品大屁股999| 日本天天色| 熟妇人妻丰满久久久久久久无码| 91精品电影18| 四虎影视永久在线免费| 超碰91在线| 人人澡综合涩| 激情专区综合| 最新岛国大片| 69精品| 日日AV加勒比| 长长久久免费视频| 久99在线免费观看视频| 久久99手机免费视频| 1024人妻熟女一区二区三区| 久草加勒比一区在线| 色盈盈影院| 亚洲夜夜欢无码一区二区| 白丝av| 日韩97视频| 屌色在线97视频| 日本免费一级AAA大片器| 人妻夜爽夜夜爽| 观看视频图片一区二区三区| 久久五月丁香| 亚洲制服欧美另类内射| 青娱乐国产精品| 欧美天天影院| 一区二区不卡免费| 蜜桃视频一区二区三区在线观看| 日本在线不卡一二区| 岛国黄片网站| 91亚洲影视| 91无摭挡| 北条麻妃性愛视频| 大香蕉免| 91爽啪| 日韩成人性爱电影在线播放| 欧美日韩另类在线播放| 亚洲欧美日韩制服另类| 亚洲精品久久久久久久蜜桃臀| 蜜桃一区二区三区| 日日天天久久啊啊aaa| 大香蕉九九| 日本国产高清色www视频在线| 思思热一热婷婷热一热| 久久一二三四五六七八九区区区 | 欧美在线观看综合国产| 国产精品呦一区二区三区| 久久精品一区二区三区四区五区| 东京热毛片调教| 日韩不卡网操逼中文字幕日韩| 好爽,再快点啊哈嗯嗯嗯嗯| 性爱动态120秒| 妺妺跟我一起洗澡没忍住| 久久免费99精品久久久久久| 欧美国产精品久久九九| 日韩欧美亚欧在线视频| 97超碰欧美| 91欧美经典| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 免费毛片在线播放| 九色PORNY9l原创自拍| 亚洲一区二区三区AV无码| 人人操人人操人人操人人操人人操人人人11.CM | 欧洲视频在线| 97亚洲中文| 日本欧美不卡| 无码人妻一区二区三区免费九色| 中文久久久| 亚洲97在线| 97超碰护士| 欧美人体性爱互联网第一页婷婷日本| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日操粉逼逼| 免费看A片毛毛片在线播| 91精品女厕偷拍视频| 成人性爱av| 人人玩人人添人人澡免费| 国产精品分类在线观看| 又大又长又粗又爽又黄| 操逼逼无码| 99免费在线视频| 志村玲子视频一区二区| 91在线美女| 欧美日韩精品国产91| 久久精品中文| 丰满人妻一区二区三区四区| 国产 日韩,欧美 自拍| 91性高朝久久久久久久久| 久久毛卡| 乱精品一区字幕二区| 91丝袜美腿网站| 久久一本大香蕉 | 吖在线不卡一区二区国产剧情| 欧美黑人精品在线播放| 婷婷五月综合激情| 麻豆一区在线| 欧美性性性| 操婢日韩| 九九AV| 久久99手机免费视频| 日韩精品影视| 电家庭影院午夜69久久夜色精品国产69乱| 日韩精品人妻一| 九月丁香| 精品中文一区二区| 乱性AV| 国产粉嫩出水在线播放| 丁香五月天久久精品视频一区二区三区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 人妻精品综合中文字幕在线 | 欧美亚洲宗合色性图| 美女性91| 国产激情在线观看| 绑缚麻绳人妻寝取完整版| 精品人妻一区二区蜜桃视频| 日本精品中文字幕视频| 97香蕉碰碰人妻国产欧美| 综合网亚| 免费成人自拍视频在线| 91人妻Pr| 插入粉嫩少妇视频| 成人AV超碰免费在线| 91丨九色丨熟女高潮| 少妇三P| 亚洲一二三四区| 天天插天天操| 日韩中文9| 无码精品久久| 91亚洲不卡一区| 传媒在线观看一区二区三区| 亚洲最大的综合性av| 日本日日色视频| 9久精品| 国产女人成人精品视频| 骚货 中文字幕 av| 日本色色色色色视频| 四虎884a| 五月天婷婷在线看| 97综合在线观看| 少妇久久久久| 亚洲精品丝袜-不卡成人免费……| 亚洲影视第一页| 欧美老妇曰批的视频| 亚洲综合113页| 俄罗斯及免费在线看| 可以免费观看的av| 一区二区三区看视频| 国产亚洲综合欧美一区| 男人天堂无码| 桃花色涩综合影院| 欧美综合色图网| 超碰免费在线| 国产精品午夜AV完会免费| 熟女人妻av在线资源,黄色的资源| 日本一线产区和二线产区伦理片| www.91久久| 蜜桃臀av一区二区| 六月丁丁香| JuliaAnn丝袜熟女系列| 亚洲色图在线视频| 在线αⅴ| 亚洲日韩东京热一区| av在线免费一区二区| 国产亚热在线久久| 五月丁香综合网| 好吊色综合| 亚洲男人天堂网久久| 无码137片内射在线影院| 97干天天| 亚洲国产成人高清在线| 天天日夜干| 人妻天天夜夜爽一区二区| 91丝袜在线播放| 色五月69夫妻| 夜色AV无码手机在线影院| 亚洲综合色图欧美| 久久理论字幕视频| 久久美女国产| 啊v在线观看视频| 久插综合| 超碰在线99| 激情小说图片亚洲首页| 国产AV天美传媒一区二区三区| 超碰AV在线| 精品国产Av无码久久久亚洲| 肉丝中文无码高清| 97色色色综合网站| 91超级碰| 国产51色综合久久免费| 99re免费| 亚洲美腿丝袜香蕉影视欧美成人| 99国内精品| 东北丰满熟女国产一区| 永久免费观看的毛片的网站| 色哟哟av网址| 国产极品999| 91足交| 91在线欧美| 狠操91,com| 亚洲天天艹| 婷婷五月天激情网| 成人午夜高潮av猛片| 天天综合,91入口| 九九久久国产精品| 在线只有精品| 911粉嫩人妻| 一级岛国大片| 一起草高清无码| 嗯~啊~轻一点 视频| 欧洲亚洲人妻无码中字久久三区四区| 一区二区三区四区色图| 欧美久久伊人| 日韩欧美中文| 黄色操人| yw尤物av无码点击进入麻豆| 大香蕉草草| 久久久久921| 天天舔九色婷婷| 看看小穴| 九九九九九九九精品视频| 强奸乱伦Av网| 亚洲h片在线免费观看| av黄图片在线观看| 超碰97人妻在线| 国产精选视频| 97操碰| 亚洲素人综合| 色噜噜狠狠色综无码久久| 97伪v| 97视频620| 色哟哟-国产专区| 嗯啊啊啊轻点视频 | 91N综合网| 欧美色图亚洲色,麻豆| 天天综合网合集91| 中文日韩欧美熟| 校园春色中文字幕AV| 天美传媒Av在线| 日本东京热大香蕉a片| 亚洲综合小视频小说在线观看| 毛片17S| 一区二区三区日韩欧美| 96精品久久久久中文字幕| 国产精品对白内射| 玖玖综合色| 2019天天操天天爽天天拍| 狠狠干精品一二三四五六2022| 欧美色图中文字幕| 婷婷15月天青娱乐| 欧美日本视频一区| 偷偷人人精品女女久久| 久久久久久九| 国产AAAAAABBBBB| 中文字幕五月婷婷免费| 国产真实野战在线视频| 色婷婷色99国产综合精品| 久久久婷婷| 91啪9色| 传媒免费一区二区三区| 国产久9| 国产免费内射视频| 一中国女人毛片水真多| 在线播放一级无码视频| 亚洲美女自拍偷拍视频| 日韩AV片| 超碰1997| 神马麻豆福利院| 国产狂喷潮在线精品| 国产精品久久久久久无码红治院| 强奸乱亚洲| 国内精品不卡无毒99999| 最新精品久久蜜桃| 夜夜夜夜久久久久| 国产传媒午夜理伦精品| 黄色一级视| 人妻在线中出视频| 中文字幕日韩情色| 99亚洲国产精品色一区二区三区| 欧美强奸乱| 中文字幕国产精品1区| 999 久久久| 日韩啪啪视频| 日韩丰满熟妇| 国产人伦精品一区二区三区| 208天天久久九九九| 国产色图乱伦| 我爱大香蕉| 欧洲精品一区二区三区| 天天日天天看| 成人三级片无码| 欧美97在线观看| 78操B| 国内毛片国产专区二| 高清不卡视频| 久久精品无码专区| 性爱乱伦网址| 台湾大香蕉99热| 亚洲日韩美女丝袜美腿人妻视频| 日韩人成网站在线播放| 亚洲精品天天影视综合网| 99rre在线精品99re8| 思思热国产在线视频| 四虎AV无码| 日韩一卡二卡三卡| 大地资源在线观看中文第二页| 久久久久久久久久久久黄色 | 中国和日本人色哪个不下载能放| 欧美一级特黄淫片在线观看| 日韩一999精品| 嗯嗯啊啊啊好爽| 免费av大片| 久草精品视频| 人妻一二三区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 91综合网站| 成人夜夜爽| 欧美黄页在线| 伊人AAA| 国产欧洲精品亚洲午夜拍精品| 四虎av在线| 日本一级性爱| 日韩高清一二三| 丁香六月激情| 亚洲欧美日产国产91毛片| 草草电影院| 97超碰碰碰| 蜜臀99久久精品久久久懂爱| 在线观看一卡二卡| 神马久久午夜| 人妻在线臀日韩| 日本影视久久免费| 99爱久久视频频| 中文操逼字幕| 1区2区3区中文字幕日韩| 色色毛片| 久久精品老司| 性爱视频无打码在线观看| 搞中出视频在线观看| 精品久久久久久中文字幕三区| 麻豆AV96熟妇人妻| 蜜乳AV.COM| 国产精品午夜福利视频| 国产吞精a级片激情电影| 999色欧美中文字幕| 五月丁香综合啪啪| 亚洲天天综合| 91天美传媒在线| 秋霞影音一区二区三区| 亚洲丝袜二区在线| 淫淫总合网| 五月婷婷丁香六月丁香| 黄色十八禁| 久久婷婷亚洲| 欧美人体性爱互联网第一页婷婷日本| 91九色丨国产丨爆乳| 变态乱伦伪娘灌肠一区二区| 日韩丨制服丨中文|在线| 狠狠综合| 亚洲性爱电影| 老熟乱一区二区三区四区| 欧美少妇大量自拍视频在线观看| 国产人妖的免费的视频| 超碰97.com| 岛国小电影| 国产欧美日韩精品中文| 91 丝袜在线播放| 日本黄色裸日本黄色裸体| 俺去俺来也在线www| 亚洲欧美首页| 天天草AV| 观看免费区二区三区二| 人妻日日干| 久草加勒比一区在线| 啊啊啊啊啊啊啊啊啊啊在线观看| 婷婷91| 日韩综合成人免费视频| 91热热色| 大香蕉综合在线| 91亚洲黑人| 最新中文字幕在线亚洲| 国产偷拍网站| 日韩无码第3页| 丰满搜索结果 -第18页- 久久高清无码| 日本高清_区二区三区| 91色色网站| 五月天精品| 超碰碰激情97+久| 另类图片五月| 亚洲精品成人激情在线| 国产极品精品美女视频| 男人天堂网址| 五月天伊人网| 超碰在线在公开超碰在线在公开| 日本丝袜美腿人妻九九| 91婷婷| 囯产操逼片| 八戒午夜福利理论片| 91日韩国产欧美亚洲另类精盘州至城都| 91草草草| 欧美综合色站| 99re这里只有精品中心播放| 97在线精品| 亚洲国产高清福利视频| 天天躁日日躁AAAAXXXX国产 | 欧美性爱97超碰| HEYZO高无码国产精品227| 国产成年女人免费视频播放a| 国产精品操| 91性片| 丰满人妻-区二区三区免费看| 国产成人精品一区| 综合久久99亚洲人妻中文在线| 97欧美精品综合| 九九九午夜| 中文字幕艹艹| 国产suv精品一区二区四| 欧美日韩高潮喷水91| 天天拍天天操| 爱爱动态120秒| 丰满人妻一区二区三区免费,| 人妻久久久久久| 国产成人+综合亚洲+天堂| 欧美性爱另类综合| 亚洲天堂 视频你懂的| www.色婷婷色综合| 九九色热| 大香蕉伊利av| 亚洲熟妇熟在线电影视频| 男女91| 久久一二三四不卡| 无码男人天堂| 亚洲美腿丝袜香蕉影视欧美成人| 91插B网站| 91白嫩| 亚洲97| 亚川综合视频| 国产又大又硬又长又粗| 97干在线| 日本三级日本三级三级人妇四虎| 操操操操操操| 69丨亚洲丨精品丨入口免费播放| 中文字幕色AV| 久操97| 亚洲?V无码专区在线电影| 一级aaaaa欧美中文字幕录像片| 午夜福利精品| 欧美激情综合色综合啪啪五月| 国产熟女少妇一区| 精品国产72| 东京热AV男人的天堂| 美女91网站| 免费一级a毛片久久久久久鸭绿欲| 国产三级中文有码在线视频| 99超级碰免费视频| 综合干干干av久久久综合网| 美女91av| 国产高清成人免费视频| 日韩无码黄色片| 99免费在线视频| 丰满少妇高潮无码| 久久久999国产| 精品亚洲一区在线观看| 中国亚洲呦女专区| 2025亚洲男人天堂| 成人九九| 先锋激情∨在线视频播放| AV电影在线播放| 91久久久视| 久久黄人人爽视频| 日韩乱伦影音先锋| 四月丁香婷婷| 欧美日韩制服| 成人激情无码在线视频| 亚殴在线| 欧美综合色| 国产一级内射无挡观看| 中文字幕一区av| 97视频在线视频| 岛国黄片网站| 鲁鲁色综合网| 校园春色美腿丝袜| 美国一区二区三区视频| 91精品国产综合久久久蜜臀| 久草老司机| 亚洲成aⅴ人片不卡无码| 天天爽天天| 无码九九九九| 亚洲欧美自拍偷拍| 免费农村成人少妇人妻Aa一区二区视频| 青青草中出视频| 国产野战露脸在线播放| 青青草亚洲一区| 91人人| 99精品在线观看| 国内外毛片在线观看| 国产精品毛片?v一区二区三区| 少妇 综合| 欧美激情在线观看视频| 午夜精品探花| 综合激情一一91| 强奸国产在线| 女人的天堂大香蕉网| 日本羞羞的视频在线播放| 一道本久久棕合爱| 女生91网站| 欧美九9 9 9| 青娱乐黄色录像| 日本色婷婷| 超碰99在线| 91丨九色丨东北熟女| 97在线播放| 久久久国产成人一区二区三区在线| 天堂亚洲精品久久老牛| 一线黄色免费性爱片| 最新精品久久蜜桃| 强奸乱伦亚洲第一页| 日韩啪啪啪视频| 国产精品国产自产高清AV| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 天天澡天天爽日日AV| 99热免费| 日本久久女同性恋视频| 伊人国产av| 无码外流操逼视频| 国产精品不卡一区二区三区| 97人妻免费中文字幕| 日韩av情韩国爱禁区av一区二区| 亚洲精品第一| 国产黑白丝在线| 九九AV| 人人么人人操| 老司机久久| 午夜福利视频在线一区| 亚洲丨在线| 久久熟女人| 国产精品盗摄 偷窥盗摄| 久久久男人的天堂| 亚洲国产日韩欧美熟妇在线| 欧美激情精品| 色婷婷在线视频精品导航| 人人看人人爰人人操| 欧美激情精品久久久| 亚洲成人综合在线| 欧美97| 亚洲日韩东京热一区| 日本午夜久久电影| 亚洲色图欧美一区二区不卡| 伊人网在线观看| 亚洲欧美一区二区三区一猛片| 久久久久久十| 精品国产91久久久久久一区黄无| 亚洲暴力强奸AV| 夫妻日逼| 91/欧美| www久久99| 亚洲一区二区三区在线激情| 亚洲高清少妇| av天天在线观看| 色色色欧美| 精品国产乱码久久久久久蜜臀| 97超碰天天| 日本道久久综合色色| 国产精品女aA片爽爽视频| 日韩资源网| 九九热精品免费视频| 综合免费无码中文| 天天躁日日躁狠狠躁| 久久机热| 黄网站黄视频网站进入口| 在线国产探花| 人人干黄色| 精品少妇99| 神马久久69| 天堂av2019| 人妻人人操| 草草影院日本第一页| 97超碰碰| 精品少妇99| 色偷综合| 欧美 综合| 天天综合91在线| 人、人、摸,人、人、草| 国产主播福利| 少妇高潮九九九九| 亚欧操逼片在线观看| 手机久操欧美综合色码| 97精品国产97久久久| 成人午夜无码视频| 操逼1区| 九九视频黄色片| 精品国产乱码久久| 国产搭汕a级片| 蜜桃臀久久| 欧美久久久| 1区2区3区中文字幕日韩| 日本有码影片下载| 久久综合五月天| 亚洲 欧美 手机在线观看| 涩综合导航| 久9re热视频这里只有精品| 熟女人妻一区二区三区| 久九九九九九九九热| 欧美亚洲色的图| 国产精品在线一区二区| 欧美亚洲成人在线一区二区三区| 麻豆AV96熟妇人妻| 欧美综合色站| 欧美日韩电影一区二区| 中文字幕制服欧美久久一区| 欧美中文字幕男人天堂久久精品| 99色在线| 情色AV电影| 久久极品一区二区| 欧美制服网站美腿丝袜| AV天天在线观看| 翘臀vidoes| 色月天AV导航| 欧美色图天堂网m| 欧美无圣光在线| 18岁禁 茉莉成人久久| 亚洲精品骚逼| 青青草成人视频在线观看二区| 啊啊啊快操我视频| 日日日骚女人精品| 伊人久久亚洲色欲综合网站 | 国产 日韩 欧美 人妻 熟女 中文| 大香蕉九九| 欧美后进式| 亚洲官网在线| 大香蕉综合在线| 精品少妇人妻一区二区三区| 密臀国产在线| 91天堂网| 伊人久久综合影院精品久久久| 欧亚性爱在线视频| 久久6热视频免费观看| 九九色婷婷| 暖暖精品二区三区观看| 免费网站观看www在线观| 爱妻综合网| 91亚洲图片| 91色人妻| 日本在线播放不卡一区| 婷婷五月天成人网| 青青草视频爽一爽| 欧美人妻中出| 91成人精品| 日本αv| 黑人精品成人一区二区三区| 色情成人五月天| 中文字幕乱码人妻一区二区三区,99精品| 久久99999| 一区二区三区一亚洲中文字幕、综合区灬| 天天做天天爱| 中文字幕亚洲永久精品| 婷婷九月色| 久久久熟妇熟女国产| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 性爱乱伦一区| 99久久无色码| 超碰偷拍| 日本潮催一卡操| 亚洲AV无码国产成人| 麻豆国产原创AV色哟哟| 久久网亚洲| 黄色无码高清黄色无码网站| 久久国内| 嗯~啊~快点 死我视频| 久久久性少妇| 国产女s强制榨精视频| 色丁香久久| 欧美曰韩国产精品| 一起草视频在线| 操B在线观看| 中文字幕片| 国产成人精品网站| 久久五月天婷婷丁香中文字幕| 日本久久网| 九九九九97| 欧美性爱日韩高清| 狠狠操天天干| 欧美性五月| 中文字幕国产| 男人下部插入女人下部| 人人操人人操人妻人| 亚乱色| 久久久久久久久久久久黄色 | 手机在线视频国内精品| 夜夜高潮夜夜爽高清视频一 | 国产精品福利视频播放| 超碰人人乐97| 超碰97久| 熟妇操花| 免费草草草草草视频| 久久精品久久九九精品| 天天看少妇| 亚洲一区二区三区婷婷| 亚洲天堂热| 中文字幕欧洲有码| 九月丁香综合网| 久久熟女久| 高清成年美女黄网站免费大全| 第45页一区二区| 欧美一级黄色免费专区| 国产精品91一样| 97视频在线播放| 96精品在线| 国产日韩久久| 激情一区二区三区在线观看| 亚洲中文字幕av | 精品一区二区三区最新| 久久久久久久97| 五月综合激情| 亚洲不雅视频1区二区| AV中文在线| 激情在线青青操| 激情六月天| 青青草福利视频| 操狠狠| 搡老女人老熟女91| 亚州操操穴网| 国产JDAV无码视频在线观看| 蜜桃视频精品一区二区三区| 日韩综合无码一区久久92| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩人妻一区二区精品| 蜜区区视频79| 五月丁香成人网| 天天综合97| 欧美日韩理论一区| 亚洲国产av中文字幕久久| 欧美暴力猛交| 欧美性爱视频免费一区一A| 亚洲91射| 91粉芽高清在线一区二区| 五月丁香激情四射| 久久久久久久久久久久黄色 | 盗摄女人妻在线| 51一区二区三区| 亚洲综合五月天| 人人操人人93| 欧美激情久| 成人网址在线观看| 好色综合| 中文字幕神马久久| 精品国产精品一区二区| 欧美第二页| 美日韩在线不卡人妻| 国产精品亚洲一区二区三区四区| 91老司机视频| 日韩情色AV| 日本中文字幕在线电影| 97国产人人| 欧美激情久久久久| 五月天综合网| 1人人看人人摸人人操| 嗯~啊~轻一点 视频| 在线观看AV不卡| 美女操逼福利视频| 欧美性爱一区二区| 大香蕉青青9| 素人播放一区| 亚洲AV无码AV吞精久久久久 | 四虎影库国产精品免费| 操逼逼中文字幕| 国产精品天堂| 超碰97在线中文| 啊啊啊啊视频免费| 五月婷婷丁香中文字幕| 国产品精品自在在线午夜免费| 男人的亚洲天堂| 你懂的在线观看区国产| 东北熟女91| 神马久久啊啊| 久久免费精彩视频| 国产亚洲女v在线观看| 午夜超碰| 久久女女| 妇人噜噜| www.狠狠干.coom | 激情综合亚洲| 国产精品久久久久无码A√| AV女优男人的天堂| 久久视频少妇美女| 日本伦理一区二区| 色色色999| 欧美性爱三区二区| 欧美性爱日韩高清| 99av| 久9久9久9久9久9久9| 成人久久精品| 特级大荫道BBwBBwBBW| www.天天干| 爱做久久久久久| 国产人伦a片信息免费片| 久9re热视频这里只有精品| 97色操| 美女爽爽爽刺痛洞洞| 男人天堂综合| 少妇同性| 色噜噜国产在线| 大胆91| 人妻少妇色综合| 天天色综合天天操| 在线国产一区二区av| 久久成人午夜精品影院| 国产一区二区在线播放量| 中文字幕丰满人妻日本| 久久精品店| 青草一区二区| 啊啊啊啊免费视频| 99热在线只有精品| 成人夜夜| 国产夫妻性生活视频| 夜夜爽夜夜摸夜夜操免费视频| 亚洲视频二区 | 日韩一级二级三级在线不卡观看完整| 亚洲九九视频| 91热| 天天色欧美| 97欧美日韩| 久久久九九九| 超碰精品日韩欧美国产| 人人弄人人摸| 日韩性爱免费观看视频| 人妻干天天| av最新免费中文字幕| 日本性爰一道本| 日本激情免费大片| 国产家庭乱伦网址| 老司机射| 婷婷久久五月| 色哟哟的毛片| 啊嗯好大视频在线观看| 超碰精品| 欧美日韩亚洲电影| 蜜桃臀一区二区三区久久| 四虎影视国产精品| 97中文热色| 啪啪视频免费在线观看|