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

ARTICLE DETAIL

資訊詳情

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

STM32外部中斷寄存器編程實(shí)戰(zhàn):從GPIO到NVIC的完整鏈路

STM32外部中斷寄存器編程實(shí)戰(zhàn):從GPIO到NVIC的完整鏈路 開始用寄存器寫STM32之后我最大的感受是庫函數(shù)把外設(shè)包裝得再漂亮最后真正一起配合工作的還是那一堆寄存器。上一章聊過GPIO這一章繼續(xù)走寄存器路線把外部中斷這一件事用大白話講透。外部中斷入門簡單但真正踩坑的人非常多因?yàn)樗虶PIO不同不再是你寫一個(gè)寄存器位就能完事的東西而是橫跨GPIO、復(fù)用功能、中斷控制器、內(nèi)核向量表四塊內(nèi)容任何一個(gè)環(huán)節(jié)斷了現(xiàn)象都是“按鍵沒反應(yīng)”。這篇內(nèi)容適合兩類人剛把GPIO點(diǎn)燈跑通、想進(jìn)一步理解芯片底層到底怎么響應(yīng)外部信號(hào)的初學(xué)者以及用固件庫寫了好幾個(gè)項(xiàng)目、卻說不清中斷服務(wù)函數(shù)為什么能被執(zhí)行的老工程師。這一章按我的習(xí)慣來先講清楚整條鏈路再給寄存器代碼最后把我實(shí)際調(diào)過的坑全部擺出來。1. 為什么第二章講外部中斷先建立一個(gè)整體框圖1.1 中斷不是外設(shè)而是一條完整的事件管道很多新手把外部中斷當(dāng)成一個(gè)獨(dú)立外設(shè)來學(xué)這是個(gè)誤區(qū)。外部中斷沒有自己的狀態(tài)機(jī)它實(shí)際上是一套“檢測并傳遞事件”的機(jī)制引腳電平發(fā)生變化先送到邊沿檢測電路邊沿檢測電路把結(jié)果記錄到一個(gè)掛起標(biāo)志里然后由中斷控制器決定要不要打斷CPU正在執(zhí)行的代碼CPU被允許打斷后跳到一個(gè)固定地址執(zhí)行中斷服務(wù)函數(shù)執(zhí)行完再回到原來的位置繼續(xù)干活。這個(gè)鏈條里每一環(huán)都有自己的寄存器而且分散在芯片的不同地址區(qū)域。我在第一章講GPIO時(shí)說過點(diǎn)燈的本質(zhì)就是往ODR寄存器里寫0或1。但外部中斷的整個(gè)鏈路要復(fù)雜得多GPIO負(fù)責(zé)把引腳狀態(tài)送進(jìn)來AFIO負(fù)責(zé)選擇“這個(gè)引腳連接到哪一條EXTI線”EXTI寄存器負(fù)責(zé)檢測上升沿或下降沿并產(chǎn)生請(qǐng)求NVIC負(fù)責(zé)仲裁這個(gè)請(qǐng)求的優(yōu)先級(jí)最后CPU響應(yīng)后跳轉(zhuǎn)到向量表指向的中斷函數(shù)。寫中斷代碼本質(zhì)上就是在配置這條管道上的每一個(gè)閥門。1.2 這一章學(xué)完你能做什么當(dāng)你把這條管道全部用寄存器串起來你會(huì)獲得幾個(gè)非常實(shí)用的能力。第一手動(dòng)配置外部中斷初始化不再依賴圖形化配置工具生成的那堆代碼出了問題自己看得懂。第二真正理解“清標(biāo)志位”為什么那么重要以及誤操作會(huì)導(dǎo)致什么現(xiàn)象。第三掌握一套通用的中斷調(diào)試思路以后學(xué)串口、定時(shí)器、ADC時(shí)處理中斷相關(guān)問題的邏輯是一樣的只是換了個(gè)外設(shè)名而已。我見過不少開發(fā)者固件庫用了兩三年遇到“中斷只進(jìn)一次”依然只能靠網(wǎng)上搜答案。原因很簡單他們把中斷當(dāng)函數(shù)調(diào)用沒有理解硬件掛起和軟件清除的關(guān)系。這一章把這些東西用寄存器層面對(duì)齊你會(huì)發(fā)現(xiàn)自己以后寫任何中斷外設(shè)都有底氣了。2. 動(dòng)手寫代碼前先把“誰管誰”搞清楚2.1 EXTI、NVIC、CPU三者的分工拿到參考手冊(cè)你會(huì)看到外部中斷相關(guān)的寄存器主要集中在“EXTI”這一章但真正用起來還牽扯到GPIO、AFIO、NVIC甚至啟動(dòng)文件里的向量表。我第一次接觸時(shí)也覺得頭大后來用一個(gè)比喻才理清EXTI是門鈴按鈕NVIC是處理門鈴聲音的控制面板CPU是正在書房里干活的屋主。門鈴按鈕被按下只是產(chǎn)生了一個(gè)“有人來了”的電信號(hào)控制面板判斷這個(gè)信號(hào)是否重要、是否要打擾屋主以及把哪一路門鈴排在最優(yōu)先的位置屋主聽到鈴聲后停下手頭的工作走到門口處理事情處理完再回書房繼續(xù)干活。所以當(dāng)你寫外部中斷初始化時(shí)至少要做四件事把引腳配置成輸入讓GPIO能讀到外部電平把引腳通過AFIO連接到對(duì)應(yīng)的EXTI線配置EXTI檢測邊沿并使能中斷請(qǐng)求最后配置NVIC讓CPU“愿意”響應(yīng)這個(gè)請(qǐng)求。絕大多數(shù)“不觸發(fā)”的問題都出在這四件事里漏了一件。2.2 中斷模式和事件模式不是一回事EXTI單元本身提供兩種輸出中斷請(qǐng)求和事件請(qǐng)求。中斷請(qǐng)求意味著向NVIC發(fā)出信號(hào)NVIC再?zèng)Q定是否讓CPU停下來執(zhí)行中斷服務(wù)函數(shù)。事件請(qǐng)求則不走NVIC它直接把一個(gè)脈沖信號(hào)送給其他外設(shè)比如觸發(fā)ADC開始一次轉(zhuǎn)換、觸發(fā)定時(shí)器捕捉輸入全程不需要CPU參與。這兩種模式對(duì)應(yīng)的使能寄存器不同中斷模式用EXTI_IMR事件模式用EXTI_EMR邊沿檢測配置用的都是RTSR和FTSR。初學(xué)階段我建議先把中斷模式用熟因?yàn)槭录J降氖找嫘枰浜掀渌庠O(shè)才體現(xiàn)得出來比如用外部事件讓ADC進(jìn)行高速采樣能省掉頻繁進(jìn)入中斷的開銷。但要心里有數(shù)如果哪天你看到別人代碼里只開了EMR、沒開IMR還跟你說“能采樣”那不是寫錯(cuò)了而是用了事件模式。2.3 每條EXTI線只能接一個(gè)引腳EXTI線的編號(hào)是固定的從EXTI0到EXTI15一共16根。GPIO也有16個(gè)引腳PA0、PB0、PC0這些引腳編號(hào)相同的引腳共享同一條EXTI線。也就是說PB0和PC0如果想用外部中斷都得通過EXTI0這條線但同一時(shí)刻EXTI0只能從它們中間選一個(gè)作為輸入源。這個(gè)選擇就是AFIO寄存器組里EXTICR系列寄存器干的事它的每一個(gè)四比特位域?qū)?yīng)的就是一條EXTI線值0代表PA組1代表PB組2代表PC組以此類推。這也是初學(xué)者最容易被繞暈的地方GPIOA端口號(hào)也好GPIOB端口號(hào)也好不管哪個(gè)端口只要引腳編號(hào)是0走的就是EXTI0。換句話說外部中斷的線編號(hào)跟著引腳號(hào)走不跟著端口號(hào)走。PC13按鍵的中斷對(duì)應(yīng)EXTI13PB5對(duì)應(yīng)EXTI5非常機(jī)械。3. 從零配置一個(gè)按鍵中斷初始化代碼逐步拆解3.1 實(shí)驗(yàn)場景與接線方式拿一個(gè)最常見也最穩(wěn)妥的實(shí)驗(yàn)來說一個(gè)按鍵接在PA0引腳按鍵另一端接GND板子上PA0不接其他東西。芯片內(nèi)部配置成上拉輸入這樣按鍵沒按下時(shí)PA0讀到高電平按下時(shí)PA0被拉到GND讀到低電平松手后又回到高電平產(chǎn)生一個(gè)下降沿。我們的目標(biāo)是在這個(gè)下降沿觸發(fā)EXTI0中斷在中斷里翻轉(zhuǎn)PA1上的LED狀態(tài)。如果你的按鍵接法剛好相反一端接電源、一端接PA0那觸發(fā)沿要改成上升沿內(nèi)部下拉也通過ODR位寫0來實(shí)現(xiàn)除此之外其他邏輯不變。記住一個(gè)原則邊沿方向要和外部電平變化方向一致否則中斷永遠(yuǎn)不會(huì)來。3.2 初始化順序與完整代碼先說順序這個(gè)順序我建議第一次寫的時(shí)候嚴(yán)格遵守開GPIO時(shí)鐘和AFIO時(shí)鐘把引腳配置成合適的輸入模式配置AFIO選擇EXTI線來源配置EXTI邊沿檢測使能EXTI中斷請(qǐng)求配置NVIC優(yōu)先級(jí)最后寫中斷服務(wù)函數(shù)。順序亂了比如先配NVIC再開時(shí)鐘代碼也能跑但排查問題時(shí)會(huì)多繞很多彎。完整的初始化代碼和中斷服務(wù)函數(shù)如下我直接給出可以復(fù)制到工程里驗(yàn)證的版本。void EXTI0_Init(void) { // 1. 打開GPIOA和AFIO的時(shí)鐘 RCC-APB2ENR | RCC_APB2ENR_IOPAEN; RCC-APB2ENR | RCC_APB2ENR_AFIOEN; // 2. PA0配置為上拉輸入注意是輸入模式不是輸出模式 GPIOA-CRL ~((uint32_t)0x0F 0); GPIOA-CRL | ((uint32_t)0x08 0); GPIOA-ODR | (uint32_t)1 0; // 3. AFIO選擇EXTI0的來源為PA0PA0對(duì)應(yīng)值0默認(rèn)也是0 AFIO-EXTICR[0] ~((uint32_t)0x0F 0); // 4. 下降沿觸發(fā)上升沿禁止邊沿使能 EXTI-FTSR | (uint32_t)1 0; EXTI-RTSR ~((uint32_t)1 0); // 5. 使能EXTI0的中斷請(qǐng)求不是事件請(qǐng)求 EXTI-IMR | (uint32_t)1 0; // 6. 配置NVIC這里用分組2搶占優(yōu)先級(jí)1子優(yōu)先級(jí)0 SCB-AIRCR 0x05FA0000 | (0x500); NVIC-IP[6] (uint8_t)((1 4) | (0 0x0F)); NVIC-ISER[0] | (uint32_t)1 6; } void EXTI0_IRQHandler(void) { if (EXTI-PR (uint32_t)1 0) { // 先清除掛起標(biāo)志再執(zhí)行實(shí)際功能 EXTI-PR (uint32_t)1 0; GPIOA-ODR ^ (uint32_t)1 1; } }這里面第6步的NVIC配置比較有講究。SCB-AIRCR那行設(shè)置優(yōu)先級(jí)分組0x500在常用的固件庫里對(duì)應(yīng)“2位搶占優(yōu)先級(jí)2位子優(yōu)先級(jí)”也就是總共4位優(yōu)先級(jí)寄存器拆成前兩位和后兩位。NVIC-IP[6]是配置EXTI0中斷優(yōu)先級(jí)的地方高4位有效我寫的是搶占優(yōu)先級(jí)1、子優(yōu)先級(jí)0兩個(gè)數(shù)值都只在各自范圍內(nèi)有意義。最后NVIC-ISER[0]的bit6對(duì)應(yīng)的就是EXTI0中斷編號(hào)。3.3 GPIO配置成輸入為什么還要搞四個(gè)位在CRL寄存器里PA0對(duì)應(yīng)最低一個(gè)四比特位域其中低兩位是MODE高兩位是CNF。如果你直接對(duì)著手冊(cè)看會(huì)覺得繁瑣但組合起來很有規(guī)律MODE為00表示輸入CNF為10表示上拉或下拉輸入CNF為01表示浮空輸入CNF為00表示模擬輸入。我上面寫0x08二進(jìn)制就是1000放到四比特位域里正好是CNF10、MODE00輸入模式里的上拉/下拉輸入。那到底上拉還是下拉由ODR寄存器的同一位決定。ODR位寫1是上拉寫0是下拉。所以第3行GPIOA-ODR | 1 0;就是為了把PA0內(nèi)部上拉打開。很多人把ODR當(dāng)成輸出數(shù)據(jù)寄存器覺得在輸入模式下沒用實(shí)際上它在輸入模式下就是上下拉的開關(guān)這點(diǎn)特別容易漏。3.4 中斷函數(shù)名和向量表是綁死的EXTI0的中斷服務(wù)函數(shù)只能叫EXTI0_IRQHandler這個(gè)名字不是隨便起的它定義在啟動(dòng)文件的中斷向量表里。啟動(dòng)文件給每個(gè)中斷安排了一個(gè)固定地址里面放了一個(gè)函數(shù)指針這個(gè)指針默認(rèn)指向一個(gè)空處理函數(shù)。你寫了一個(gè)同名函數(shù)鏈接器就會(huì)把它放到向量表對(duì)應(yīng)的位置你寫錯(cuò)了名字比如寫成EXTI0_Handler鏈接器會(huì)認(rèn)為向量表里還是那個(gè)空處理函數(shù)觸發(fā)中斷后程序會(huì)跳進(jìn)一個(gè)空循環(huán)里看起來就是“沒反應(yīng)”。如果按鍵觸發(fā)時(shí)程序跑飛或者卡死先查一下中斷服務(wù)函數(shù)名字和向量表是否一致。常見的外部中斷函數(shù)名我列在下面方便對(duì)照EXTI0到EXTI4是對(duì)應(yīng)中斷號(hào)6到10的EXTI0_IRQHandler、EXTI1_IRQHandler直到EXTI4_IRQHandlerEXTI5到EXTI9共用EXTI9_5_IRQHandlerEXTI10到EXTI15共用EXTI15_10_IRQHandler。4. 中斷觸發(fā)與清掛起最容易翻車的細(xì)節(jié)4.1 寫1清除掛起為什么這么反直覺外部中斷請(qǐng)求產(chǎn)生后硬件會(huì)在EXTI_PR寄存器里把對(duì)應(yīng)位置1這就是“掛起標(biāo)志”。只要掛起標(biāo)志還是1中斷控制器就會(huì)一直看到這個(gè)請(qǐng)求存在但它不會(huì)無休止地進(jìn)入同一個(gè)中斷因?yàn)镹VIC在同一優(yōu)先級(jí)下會(huì)合并掛起狀態(tài)。關(guān)鍵問題在于這個(gè)標(biāo)志怎么清除很多人第一次寫會(huì)寫成EXTI-PR ~(1 0);想把位置0。結(jié)果發(fā)現(xiàn)中斷要么不觸發(fā)要么永遠(yuǎn)卡在中斷里不出來。原因很簡單EXTI_PR是一個(gè)寫1清除寄存器硬件約定“軟件往這個(gè)位寫1表示確認(rèn)處理完這次事件硬件隨即把該位清0”。它和普通讀寫寄存器完全反著來你寫0對(duì)它來說相當(dāng)于沒操作。我推薦直接寫EXTI-PR (1 0);而不是用或賦值。原因是在高速觸發(fā)場景下讀改寫操作存在競態(tài)風(fēng)險(xiǎn)你在讀PR的瞬間另一個(gè)外部事件已經(jīng)置位了另一個(gè)掛起位你改完再寫回去可能會(huì)把這個(gè)新事件也一并處理掉。直接寫自己那一位既完成清除又不影響其他位。4.2 掛起不止一層NVIC里還有一個(gè)Pend很多人在清完EXTI_PR之后發(fā)現(xiàn)中斷還是會(huì)連續(xù)進(jìn)入兩次于是懷疑清標(biāo)志的代碼沒生效。其實(shí)這里藏著一層更深的機(jī)制NVIC自己也有一個(gè)掛起狀態(tài)叫Pending。外部中斷觸發(fā)時(shí)EXTI_PR置1同時(shí)NVIC收到請(qǐng)求也會(huì)在內(nèi)部記錄一個(gè)掛起。如果你的中斷服務(wù)函數(shù)正在執(zhí)行此時(shí)同一條EXTI線又來了一次觸發(fā)EXTI_PR會(huì)被重新置1NVIC也會(huì)把新的掛起疊加上去。你在函數(shù)末尾清EXTI_PR只能清除外設(shè)級(jí)的掛起NVIC內(nèi)部可能還壓著一條請(qǐng)求函數(shù)一退出它又立刻進(jìn)入一次。這種“清不干凈”的典型表現(xiàn)就是一次機(jī)械按鍵按下去中斷函數(shù)連續(xù)跑了兩遍第二遍看起來莫名其妙。如果遇到這個(gè)問題除了檢查按鍵硬件抖動(dòng)還可以在中斷服務(wù)函數(shù)里清PR之后把NVIC的掛起也清一下寫NVIC-ICPR[0] | (1 6);。這個(gè)寄存器同樣是寫1清除它的工作就是把NVIC里殘留的掛起請(qǐng)求清掉。當(dāng)然這只是一種兜底更關(guān)鍵的是理解你的程序里是否真的會(huì)產(chǎn)生多余的NVIC掛起。4.3 優(yōu)先級(jí)分組決定了誰能打斷誰有個(gè)高頻誤解我把外部中斷優(yōu)先級(jí)寫成了數(shù)字1怎么還是被打斷了你得先搞清這個(gè)數(shù)字的哪幾位是搶占優(yōu)先級(jí)、哪幾位是子優(yōu)先級(jí)這完全由優(yōu)先級(jí)分組決定。我上面代碼里用的是分組2也就是2位搶占、2位子優(yōu)先級(jí)此時(shí)優(yōu)先級(jí)寄存器里高兩位是搶占優(yōu)先級(jí)低兩位是子優(yōu)先級(jí)。我配置NVIC-IP[6]時(shí)寫入(1 4)意思是搶占優(yōu)先級(jí)為1子優(yōu)先級(jí)為0注意寫入時(shí)要左移4位把值放到高四位去。搶占優(yōu)先級(jí)才是決定能否打斷別人的關(guān)鍵。如果串口中斷的搶占優(yōu)先級(jí)是2外部中斷是1那么外部中斷發(fā)生時(shí)會(huì)打斷串口中斷。如果兩者搶占優(yōu)先級(jí)都是1那么子優(yōu)先級(jí)決定誰先響應(yīng)如果搶占和子優(yōu)先級(jí)都一樣NVIC會(huì)按中斷編號(hào)的自然順序來決定編號(hào)小的先響應(yīng)。在項(xiàng)目里配置多個(gè)中斷時(shí)一定要先分好組再給每個(gè)中斷定搶占優(yōu)先級(jí)否則會(huì)出現(xiàn)兩個(gè)中斷互相等待或者響應(yīng)順序混亂的問題。5. 實(shí)際項(xiàng)目里常見的五個(gè)坑和排查思路5.1 怎么按都不進(jìn)中斷按鍵按到手酸中斷一次都不進(jìn)這是最常見的開局。我建議不要亂改代碼按順序做一次靜態(tài)檢查時(shí)鐘GPIO模式AFIO映射EXTI邊沿EXTI使能NVIC中斷函數(shù)名。這七項(xiàng)里任何一項(xiàng)錯(cuò)了都進(jìn)不去。其中有兩個(gè)坑最容易藏一個(gè)是忘記打開AFIO時(shí)鐘導(dǎo)致EXTI始終選不到想要的引腳另一個(gè)是把GPIO配置成了輸出模式輸出模式下引腳不讀外部電平中斷自然永遠(yuǎn)不觸發(fā)。如果靜態(tài)檢查沒問題打開調(diào)試器看寄存器實(shí)時(shí)值。程序全速跑在中斷服務(wù)函數(shù)第一行斷點(diǎn)按一下按鍵如果停不下來看EXTI_PR寄存器按鍵按下后如果它變成1說明外部信號(hào)已經(jīng)到達(dá)EXTI問題出在NVIC或者函數(shù)名上如果它一直是0問題出在GPIO配置或者外部電路上。這一招能把排查范圍直接砍掉一半。5.2 觸發(fā)一次以后再也沒動(dòng)靜和“完全不動(dòng)”不同能進(jìn)一次說明大鏈路是通的后面不再動(dòng)常見原因有五個(gè)。第一個(gè)也是最常見的清PR時(shí)用了寫0操作其實(shí)標(biāo)志一直沒被清掉程序可能已經(jīng)卡在中斷里或者邏輯異常。第二個(gè)按鍵按下時(shí)電平確實(shí)變化了但松開時(shí)又產(chǎn)生了一個(gè)反方向的沿而你可能兩個(gè)沿都開著了進(jìn)了兩次之后狀態(tài)又翻轉(zhuǎn)回去看起來像“再也沒反應(yīng)”。第三個(gè)EXTI線被其他程序段重新改成了別的引腳AFIO配置被覆蓋。第四個(gè)老代碼里把GPIO重新配置成了復(fù)用功能導(dǎo)致引腳不再是一根普通輸入腳。第五個(gè)使用中斷函數(shù)的同時(shí)代碼里又定義了一個(gè)同名的中斷處理函數(shù)在鏈接時(shí)把真正要用的覆蓋了。排查手段還是看PR但這次要分兩個(gè)時(shí)間點(diǎn)按下時(shí)看PR松開時(shí)再看PR。如果松開時(shí)PR也置1了那就是上升沿也被觸發(fā)了去RTSR里把那一位清掉就行。5.3 一次按鍵觸發(fā)了兩次甚至三四次按鍵機(jī)械抖動(dòng)是首要嫌疑。按鍵按下的瞬間金屬彈片會(huì)連續(xù)接觸斷開幾次時(shí)間短則幾毫秒長則幾十毫秒也就是說你按下一次邊沿檢測可能看到好幾個(gè)有效沿。硬件上可以給按鍵并聯(lián)一個(gè)RC低通濾波器或者直接加一個(gè)施密特觸發(fā)器芯片但最簡單可靠的辦法是軟件消抖。我不推薦在中斷服務(wù)函數(shù)里Delay因?yàn)檠訒r(shí)會(huì)讓這條中斷的優(yōu)先級(jí)變得形同虛設(shè)其他緊急事情全部被堵住。推薦做法是中斷里只置一個(gè)標(biāo)志位主循環(huán)檢測到標(biāo)志后用狀態(tài)計(jì)數(shù)消抖。比如每次掃描都讀按鍵電平如果連續(xù)讀到同一個(gè)電平均多少次以上才認(rèn)為狀態(tài)確認(rèn)為改變了。這個(gè)做法不會(huì)浪費(fèi)CPU響應(yīng)也足夠快。uint8_t btn_count 0; uint8_t btn_state 1; void KeyScan(void) { uint8_t level ((GPIOA-IDR (1 0)) 0) ? 1 : 0; if (level btn_state) { btn_count 0; } else { btn_count; if (btn_count 5) { btn_state level; btn_count 0; } } }這段代碼在主循環(huán)里反復(fù)執(zhí)行l(wèi)evle為1表示按下狀態(tài)連續(xù)5次都讀到1才確認(rèn)按鍵真的按下。這個(gè)方案比在中斷里Delay要健康得多原因是主循環(huán)哪怕稍微慢了一點(diǎn)也不會(huì)阻塞其他中斷的及時(shí)響應(yīng)。5.4 中斷服務(wù)函數(shù)里干了太多活系統(tǒng)卡頓這是新手最容易又最隱蔽的坑。外部中斷觸發(fā)了你想在中斷里打印日志、刷新屏幕、寫Flash然后把整個(gè)邏輯都放進(jìn)ISR。中斷服務(wù)函數(shù)執(zhí)行期間CPU處于特權(quán)狀態(tài)大部分其他中斷都在等它如果ISR執(zhí)行了10毫秒這10毫秒內(nèi)連系統(tǒng)滴答定時(shí)器都得不到及時(shí)處理表現(xiàn)出來的就是系統(tǒng)卡頓、界面停頓。正確的做法是讓ISR短小精悍先判斷掛起位清掛起置一個(gè)全局標(biāo)志或者讀取需要的狀態(tài)然后立即退出。真正耗時(shí)的工作放到主循環(huán)里處理。ISR里只做“貼封條”的動(dòng)作別在里面搞“施工”。如果確實(shí)需要快速響應(yīng)外部信號(hào)并保存波形數(shù)據(jù)那也要保證每個(gè)操作都是必要的不能出現(xiàn)打印這種慢速外設(shè)操作。5.5 讀寄存器發(fā)現(xiàn)寫的值和讀出來的不一樣寫寄存器后回讀不對(duì)這種事我遇到過好幾次大部分時(shí)候不是芯片壞了。最常見的原因是外設(shè)時(shí)鐘沒開。你在RCC里沒打開GPIO時(shí)鐘往GPIO寄存器寫值寫操作就像打到了空氣墻上硬件外設(shè)根本沒有工作時(shí)鐘寄存器不狀態(tài)。調(diào)試器的外設(shè)窗口還會(huì)顯示你寫入的值因?yàn)檎{(diào)試接口模擬了總線寫入但實(shí)際內(nèi)部電路沒跑起來。所以一開始我總會(huì)強(qiáng)調(diào)開時(shí)鐘永遠(yuǎn)是第一步。另一個(gè)常見原因是讀改寫之間的殘留。比如你想把PA0模式改成輸入只在CRL寄存器用了按位或而沒有先清除原有四位的值這就會(huì)和之前的配置疊加出奇怪的模式。正確做法是先與一個(gè)反掩碼清零再或上目標(biāo)值。代碼習(xí)慣上我把這兩句寫在一起寧可多花一遍讀寫也不要讓狀態(tài)殘留。6. 調(diào)試驗(yàn)證與進(jìn)階思路6.1 最實(shí)用的五步調(diào)試法我把外部中斷的調(diào)試總結(jié)成五步每一步都在回答“信號(hào)走到了哪”。第一步在中斷服務(wù)函數(shù)第一行打斷點(diǎn)全速運(yùn)行按按鍵看能不能停住。第二步如果停不住看EXTI_PR有沒有因?yàn)榘存I而變成1以此判斷外部信號(hào)是否進(jìn)入了EXTI。第三步如果EXTI_PR是1但仍沒進(jìn)中斷去查NVIC的使能位和掛起狀態(tài)看中斷請(qǐng)求是否到達(dá)了NVIC。第四步如果NVIC里一切都對(duì)查中斷服務(wù)函數(shù)名和向量表是否匹配。第五步如果中斷函數(shù)確實(shí)進(jìn)去了但功能沒實(shí)現(xiàn)再查ISR內(nèi)部的清標(biāo)志和執(zhí)行邏輯。這套思路最大的好處是每一步都對(duì)應(yīng)一個(gè)獨(dú)立的硬件模塊不會(huì)出現(xiàn)“改一下AFIO、改一下NVIC、再改一下GPIO”這種亂槍打鳥式的操作。我調(diào)試寄存器外設(shè)時(shí)基本都是這么一層一層剝開的。6.2 不同型號(hào)的寄存器差異要注意上面所有代碼基于STM32F1系列。如果你用的是其他系列的芯片寄存器名字和結(jié)構(gòu)會(huì)有變化。F4系列里AFIO這個(gè)模塊被SYSCFG替代引腳的EXTI選擇寄存器不叫AFIO_EXTICR而是放在SYSCFG里名字也變成了SYSCFG_EXTICR寫代碼時(shí)如果照著F1的寄存器名找編譯都過不了。EXTI本身的功能大同小異但I(xiàn)MR、EMR、RTSR、FTSR這些寄存器的偏移和位數(shù)也可能在不同系列里有細(xì)微差別。所以我強(qiáng)調(diào)一個(gè)習(xí)慣拿到新板子先打開對(duì)應(yīng)型號(hào)的參考手冊(cè)找到EXTI章節(jié)對(duì)照寄存器地址和位定義寫代碼不要直接抄其他型號(hào)的程序。固件庫和HAL庫里的寄存器結(jié)構(gòu)體定義已經(jīng)幫你把地址算好了但不代表寄存器含義也一定一樣查手冊(cè)永遠(yuǎn)是最終答案。6.3 三個(gè)可以繼續(xù)練下去的小實(shí)驗(yàn)基礎(chǔ)按鍵中斷跑通之后建議做三個(gè)擴(kuò)展實(shí)驗(yàn)把這塊真正吃透。第一個(gè)實(shí)驗(yàn)把按鍵從PA0挪到PB0只改AFIO_EXTICR的配置體會(huì)端口不同但EXTI線編號(hào)不變的邏輯。第二個(gè)實(shí)驗(yàn)試著同時(shí)使用兩個(gè)不同的EXTI線比如PA0和PC13分別進(jìn)不同的中斷服務(wù)函數(shù)看看NVIC的兩個(gè)使能位怎么獨(dú)立工作。第三個(gè)實(shí)驗(yàn)再看一眼EXTI_EMR把它使能后觸發(fā)事件配合ADC采樣或者定時(shí)器輸入捕獲體會(huì)一下“事件”和“中斷”的區(qū)別到底在哪。實(shí)驗(yàn)做到第三步你會(huì)對(duì)“外部中斷”這個(gè)詞有一個(gè)完全不一樣的理解它不只是讓CPU停下工作去處理按鍵更是一套通用的信號(hào)分發(fā)機(jī)制可以把外部脈沖送給不同的外設(shè)而不一定非要CPU介入。這種理解一旦建立后面學(xué)串口空閑中斷、定時(shí)器捕獲比較中斷都能輕松遷移。最后說點(diǎn)我在實(shí)際調(diào)試?yán)锏捏w會(huì)。外部中斷這類東西十個(gè)新手九個(gè)栽在清標(biāo)志上還有一個(gè)栽在AFIO時(shí)鐘上。遇到怪現(xiàn)象別急著改代碼先開調(diào)試器的外設(shè)寄存器窗口把EXTI-PR盯住按一下按鍵看看它有沒有變化。這一位變了問題就在后面的NVIC或中斷函數(shù)這一位不變問題就在前面的GPIO或電路。這個(gè)思路幫我在好幾個(gè)項(xiàng)目里省了大把時(shí)間希望對(duì)你也有用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久久久久久久久久久久久乱码| 97超碰jingpin| 日日日日日| 五月丁香亭亭| 久久久久久久久久久人妻| 五月天激情视频| 乱伦图一区| 亚洲精品美女久久久久久久久| 欧美人妻精品一区二区| www.狠狠操| 精彩视频日韩| 在线 欧美 亚洲| 国产午夜精品理论片a大结局| 欧美性爱日韩高清| 亚洲熟女中文字幕在线| 啊啊啊用力在线观看| 欧美九九99久久精品| 男生女生啊啊啊啊| 97K超碰在线| 亚洲风情在线观看| 午夜视频好爽啊| 性爱乱伦一区| 怡红院成人av| 久久亚洲AV无码白度| 国产女人高潮嗷嗷嗷叫小说| 玖玖综合色| 欧美乱妇狂野欧美在线视频| 九九九九九九九九九国产精品 | 亚洲综合小说另类图欧美视频激情小说色五月天| 伊色综合天堂色97| 91色花堂| 激情五月综合网| 久久久人妻| 大香蕉一人| 美女写真| 日韩78m视频| 日韩精品字幕| 九九精品美女高溯喷水| 亚洲久久久久| 99re这里只有精品中心播放| 久久东京热久久| 噜噜在线| 九九热re99re6在线精品| 久操网址| 青青草一本道福利视频| 日本精品高清一二区一本到| 激情另类激情| 我爱大香蕉| 97jingpin| 99re公开精品免费视频| 色臀aV| 中文字幕精品一区二区精| 欧美综合第一| 无码最新| 亚洲色天堂九9| 天天干天天狼在线视频| 91天天综合日韩欧美| www.yw尤物| 欧美激情区| 国产女上位好爽在线| 久久久草草精品| 无码人妻丰满热妇又大又粗| 殴美色网| 性生活无遮挡纯毛片在线看| 亚洲精品aa久久伊人| 久久9久久| 九月丁香| 日韩欧美午夜一区二区| 亚洲日韩资源| 97视频在线观看高清资源| 久久黄色性爱视频| 亚洲九九九| 亚洲欧洲精品成人| www网站黄| 操一操摸一摸| 欧美,亚洲,日韩,v,天堂,手机在线观看| 欧美黄色片AAAAA| 97干97色| 亚洲人综合| 亚洲综合春色| 九九成人| 亚洲高清无码AAA久久久精品| 超碰美女97| 亚洲精品国产av天美传媒| 麻花传媒免费网站在线观看| 亚欧洲一区二区视频| 亚洲天堂热| 精品无码一区二区三区| 国产精品熟女一区二区三区| av天堂加勒比| 国产97综合| 日本99一区二区| 日本熟妇熟色97一本在线观看| 精品久久久久久无码| 传媒在线观看一区二区三区| …中文字幕亚洲乱,97人妻无码费视… | 亚洲无码成人精品| 青娱乐999| 天啪| 欧美精品97| 99超碰网| 亚洲激情久久久伊人综合| 国产性爱欧美性爱在线| 99热日| 日韩超碰精品综合| 亚洲少妇在线影音| 色哟哟av网址| 亚洲性综合11| 91爱剪切久久| 五月亭亭六月丁香| 国产资源中文字幕在线| 亚洲精品一二牛牛| 国产精品一区二区亚洲人成毛片| 免费一级黄色录像影片| 丁香五月综合| 熟女精品一区二区三区| 无码一区二区三区四区五区六区七区八区九区十区视频 | 午夜成人福利影视| 大香网伊人久久综合网eew| 亚州色图狠狠干| 九九热精彩视频| 肉丝中文无码高清| 成人国产二区三区在线,男女精品。| 久久香蕉国产线看观看亚洲女人 | 天天干1区2区在线| 老熟妇91| 黄色大片免费在线| 國產尤物AV尤物在線觀看| 国产精品国产拍高清AV| 强奸少妇AV导航网| 做爱福利视频一区二区| 亚洲色婷婷综合久久一区二区三区| 日本黄色精品| 国产最新小视频在线播放下载| 国产精品宅男免费| 狼人综合婷婷激情四射 | 久热69九色熟妇97| 久久精品人妻一区| 精彩国产视频播放1区2区| 熟女少妇视频| 欧美激情视频一区二区三区不卡| 日本东京热久久久电影| 中国的操老妇女| 日韩激情中文字幕有码| 四虎精品亚洲| 欧美激情亚洲色图| 中文字幕一区二区在线日韩精品| 玖玖超碰熟| 亚洲欧美日韩夜夜| 成人久久久| 日韩精彩免费| 麻豆国产精品午夜视频| 操人妻逼91| 国产一区在线免费播放| 人妖欧美一区二区| 91人妻超碰| 国产精品网址| 国产精品剧情| 色男人色天堂东京热| 国产精品无码av| 国产乱不卡| 中文伊人大香蕉视频| 操B视频日韩无码| 天堂亚洲精品| 96国产污污污丝袜| 少妇二级| 亚州操逼网| 麻豆三极片| 亚洲资源网| 翘臀vidoes| 国产女人与拘做受视频免费| 熟女人妻一区二区三区免费看| 三级网站超变态精品| 亚洲Av无码成人精品国产| 91亚洲色图| 日本999精品视频| 国产真实野战在线视频| 国产探花精品在线| 亚洲成人黄色在线观看| 亚洲午夜蜜臀| 欧美玖玖爱免费玖玖| 亚洲日韩肥臀视频在线观看| 成功精品影院| 欧美很很操视频| 熟女激情综合网| 97色综合中文网| q2午夜理论片夜色av| 欧洲Au麻豆| 国产免费一区二区三区最新不卡| 丁香九月激情啪| 午夜爽爽爽在线观看永久入口姬片| 国产肏逼网站| 亚欧高清| 老外又粗又长一晚做五次| 国产400孕妇孕交群| 免看60秒涩涩视频| 99精品综合久久久久五月天| 九九热re99re6在线精品| 欧美日韩97在线| 国产精品久久久吖| 91在线免费精品视频| 亚洲加勒比久久日本道| 国产精品午夜AV完会免费| 狠狠爱夜夜| 啊v在线观看视频| 日逼97| 女生久久网| 欧美日韩在线视频网站| 爱妃国产亚洲视频中文字幕| 26uuu性物| 3028国产精品| 天天日天天操心| 婷婷99狠狠躁天天躁| 激情深爱五月天| 视频二区美腿丝袜制服人妻欧美| 麻豆国产av网| 91精品久久久久久77777| 九99久久| 国产精品夜夜| 黄色人人| 日韩中文字幕人妻视频| 欧美性爱在线无码| 天天操天天射青青草| 成人A片男人的天堂| 东京热99999| 在线洲亚线| 日韩欧美性吧婷婷乱伦大香蕉| 草草影院最新网址| 开心五月深爱五月| 熟女丰满人妻一区| 中文字幕视频免费| 亚洲精品97| 日本东京热加勒比久久| 99热这里只有精品9| 最新加勒比丝袜在线| 蜜臀99999| 少妇高潮喷水无套久久久久久| 男人午夜天堂| 国产精品久久久三级无码| 另类图片五月| 99re6国产精品99re| 91精片| 在线观看色视频| 超碰2017| 国产免费一区在线观看| 欧美少妇第一页| 天天操福利视频综合网站| 国产亚洲色婷婷久久99精品91 - 百度| 东京热男人的天堂精品| 激情图片伦理国产一区二区日韩| 99蜜月精品久久| 中文字幕在线免费观看2| 日韩av不卡在线观看| 97干色天堂| 亚洲美腿丝袜香蕉影视欧美成人| 熟女乱伦A| 1区2区3区中文字幕日韩| 欧美性暴力猛交| 美女写真| 玖玖综合色| 久久综合九色综合欧洲98| 丁香五月性| 欧美专区17页| 亚洲无码久久久久久久| 久久久111| 蜜乳成人AV| 大香交伊人网| 欧洲一区二区三区四区在线观看| 强奸乱伦日韩AV| 色亚州人久干视频在线观看免费版| 伊人丁香五月婷婷| 欧美美女后入| 欧美黑人精品一区二区| 国产精品69久久久久久久| 日韩无码黄色片| 青青伊人久久| 狠狠色噜噜狠狠狠狠2018| 精品国产网站| 小视频玖玖| 亚洲精品不卡一二三区| 黄色性爱网网| 精品免费囯产一区二区三区| 综合激情婷婷| 日韩兔费看黄片| 97se综合网| 亚洲图片日本AⅤ欧美在线| 欧美一二在线| 欧美黄片欧美黄片xxx| 另类老少妇| 97AV爱| 92性色国产午夜福利在线661| 国产精品久久天天干| 国产成人AV麻豆| 国产av强奸美女| 殴美色网| 伊人久久亚洲中文字幕不卡| 亚洲欧美大香蕉| 97超碰9| 爱爱动态试试看6 0秒| 在线A日本| 美女黄页网站| 超碰久久草| 91九色在线| 搡老女人911熟妇老熟女| 日日黄色三级网站| 亚洲色图大香| 国产午夜无码片在线观看影视| 97欧美超碰| 60秒免费小视频| 夜夜一区二区| 免费a在线播放v| 九七色图| 我爱操| 熟妇熟女一区二三区| 国产精品自拍欧美在线| 欧美精品69性爱| 国产精品对白自产拍| 97久久精品亚洲中六字幕| 国产AV高清AV无码| 日本在线播放不卡一区| 国产亚洲中文不卡二区| 国产兽交视频在线播放| 九久9精品| 色九九久九九| 亚洲好色人妻| 亚洲AV在线资源| 久久久99久9| 丁香五月自拍| 九九碰九九爱97超碰| 日韩美女操b| 国产辣妈在线视频福利| 一个色导综合| 色汉综合| 天堂v无码免费视频| 欧美成人精品欧美一级乱黄一区二…| 亚洲AV不卡在线观看| 色 亚洲 91| 99热91| a网站免费观看| 亞洲久久直播| 国产美女91视频| 日韩欧美成人大香蕉| 超碰97欧美在线| 欧美亚州手机在线| 一区黄二区黄| 亚洲综合113页| 亚洲 欧美 小说| 国产超碰在线一区| 久久久久密臀视频| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 久久同城AV| 日韩综合97P| 欧美在线干| 99在线观看视频在线高清| 男人的天堂Va| 欧美一区二区三区不卡高清视频| 一起草欧美| 午夜福利在线合集| 337p大胆噜噜噜噜噜91Av| 爱av免费| 青娱乐av在线| 91久久午夜无码鲁丝片久久人妻| 大屁股国产在线视频| 久久这里只精品| 神马九九| 一级久久性爱视频| 天天日日夜夜| 天天摸夜夜操视频| 唯美清纯 妖精视频| 国产精品爆乳懂色蜜乳| 成年人性爱日韩| 久久久亚洲精品电影免费看| 超碰69| 亚洲情色 欧美| xxx0国产在线播放| 99这里只有精品| 亚洲欧洲色情高清| 91处女在线观看| 中日韩熟女| 久久久久久久久久久人妻| 久久久久久裸体| 久久久久久久久久久久色网| 国语少妇精| 久久综合资源一区二区| 亚洲情色一区三区| 成人国产二区三区在线,男女精品。| 天天懆天天日| 爱爱动态120秒| 超碰吊日色| heyZO天然素人无码AⅤ专区| 日本 情色 1区| 色视频蜜乳| 欧美AB在线观看| 玖玖久久久| 国产女人和拘做爰视频 | 欧美成人性爱视频大全| 国产欧美后入| 中文字幕日韩电影人妻| 日韩AV电影网站| 激情文学小说一区二区| 日韩性爱再线视频| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲最新Av| 日韩精品一区二区三区四虎影视| 91操熟女视频| 亚洲操人| 亚洲情色 自拍| 日韩欧美亚洲一区二区三区影院| 国产精品久久久久久久久久二区三区| 少妇3P性爱自拍| 青青草在线视频欧美| 亚洲 无码 偷拍| 青青青操| 国产亚洲精品A在线观看下载| 日韩美女久久一区二区三区| a片在线播放| 绯色AV粉色AV蜜臀AV| 成年无码动漫av片无尽在线| 看一级黄色视频| 欧美色97| 国产白领连续中出在线观看| 日本操逼视频不卡直接放| 国产一区麻豆免费观看| 91国模| 91人人爽人人爽| 影音先锋日本一区二区| 亚洲图片偷拍欧美| 农村妇女一级二级三级视频| 囯产精品久久久久久久久久梁医生| 熟女在线视频| 香蕉热人人精品| 久久久一区二区| 国产亚洲在线| 欧美不在线| 国产小炒后入式| 丁香六月综合激情| 国产一区二区成人av在线播放| 亚洲日韩少妇一道本视频| 在线可观看的黄色网址| 国产精品久久久 | 熟妇色99| 无码最新| 婷婷五月天激情四射| 欧美美女啪啪视频| 黄aaaaaaaaaaaaaaaaaa色网站| 国产精品诱惑| 99re在线视频| 小骚逼被操的爽不爽| 久久久久成人蜜桃精品| 亚州伊人色综台| 97人肏| 色爱欲亚洲| 九九热在线视频| 亚洲资源站| 亚洲男人在线观看天堂| 另类专区加勒比| 操操操操操操| 神马久久久久久久久久| 99操| 日韩懂色网| 久久做97| 久久久99999久网站| 亚洲大色堂| 午夜啊啊啊| 国产精品。| 97欧美精品综合| 中文字幕日产av人| 操我啊啊啊啊啊| 国产美脚女优尤物在线观看| 日本97久久久精品| 91国产美女丝袜足交精品视频 | 久久e6只有精品| 禁十八久久| 91激情网| 色网亚洲人| 亚洲久久天堂| 蜜臀中文无码午夜| 极品色综合| 久久老女人| 亚洲综合影院| 国产探花日韩援交| 国产亚洲精品美女久久久久久2021| 亚洲第一狼人丝袜美女另类| 天天看,天天做| 色五月激情综合网| 国模限制级电影| 天堂国产AV| 综合欧美日韩在线| 女上位精品在线| 伦理日韩国产久久| 外国免费性情大片| 无码一区免费在线不卡| 日本免费一级AAA大片器| 亚洲蜜桃V妇女| 国产 日韩 另类 视频一区爱| 狠狠爱综合网| 亚洲成人一二三区| 97超碰超欧美。| 中国熟妇| 亚洲男人综合| 欧美啪啪女女| 日本大片日本一区二区免费高清| 天天综合网在线| 啊啊啊啊二区好大| 日韩天天综合| 国产精品99精品视频网站| 精品亚洲国产成人精品| 天天干美少妇一区| 97色色,97综合| 蜜桃天美传媒AV一区二区三区| 黑人娇小av在线播放| 国产成人一级av88| 久久综合99| 97日视频| 天天综合欧美黑人| 丝袜人妻av一区二区| 可以免费观看的日韩av毛片| 久久久久久久一级黄色打同平台| 中国熟女网站| 男人午夜天堂| 国内毛片国产专区二| 天天欧美欧美亚洲网| 2017大香蕉国产精品久久| 日韩欧视频| 粉嫩av久久一区二区三区| 国产精品一二三在线看| 操我啊啊啊啊啊| 91欧美少妇| 人人操人人操人人操人人操人人操人人人11.CM | 另类天堂| 97操在线| 大香蕉乱级| 综合色图亚洲欧美| 中文字幕午夜精品久久久| 久久久啊啊| 狠狠色五月亚洲91| 秋霞久久亚洲精品成人| 99r九九| 加勒比无码毛片| 人妻二区| 啊啊啊com| 国产91 丝袜在线播放| 亚洲精品官网在线观看| 东京热激情视频一二三区| 超碰欧美97资源| 午夜福利一区二区影院| 乱人伦 国语对白:视频直接看| 亚州九九九精品视频| 超碰欧美97资源| 国产一区二区成人av在线播放| 人妻熟女一区在| 青青草华人在线欧美在线| 欧美日韩日产免费网站看| 校园春色亚洲欧洲| 2021国产成人精品久久| 99热只有| 欧美激情内射| 欧美婷婷五月天| 好爽要喷了| 一起草日韩| 亚州春色| 一区操逼日比视频| 成人A片男人的天堂| 乱抡国产91| 久久久久久久久久久人妻| 亚洲91色| 婷婷色一区| 亚洲欧美黄| 女人爽到高潮久久久| 97免费视频在线| 久久99视频| 91高清欧美| 婷婷丁香熟妇综合网| 骚日日av| 婷婷啪啪| 99热这里都是精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 国产精品久久伊人| 亚洲欧洲激情| 亚洲国产日韩欧美熟妇在线| 78m成人视线| 噜噜噜无码AV一级一级久久影院| 久久婷婷一区| 国产激情久久久| 啊啊啊啊啊啊在线| 亚洲天堂色图| 中文?日韩?免费?精品| 中文字幕88av在线| www.91理论| 人妻无码视频一区二区三区久久| 久久精品色欧美aⅴ一区二区| 久久久久婷婷精品av电影| 人人看人人摸人人色| 久夜操| renqi久久久久久久久久久久| 91狠狠综| 五月天久久婷婷亚洲| 午夜精品久久久久久久久久蜜桃| 青青操视频在线| 中文字幕jul-617人妻熟女| 亚洲色图欧美色18直播在线| 人人喜人人妻| 欧美日韩午夜精品一区二区三区| 久久夜精品一区二区三区| 黑人黄片在线免费观看| 激情小说激情视频| 欧美熟妇精品黑人巨大一二三区| 高清成年美女黄网站免费大全| 99re在线视频这里只有精品| 夜夜操二区| 中文字幕视频在线观看| 久久中出在线| 日本亚洲熟女视频| 97av在线观看| 操逼999| 99久re热视频精品98| 亚洲在线a| 青青草色插素人| 久久婷色| 丁香婷婷五月| 风骚少妇视频中文字幕| 激情AV| 懂色中文一区二区三区| 欧美亚洲在线| 骚乳在线| 乱伦系列一区二区| 热99这里有精品综合久久| 欧美91精彩| 日日夜夜干| 蜜乳Av成人片网站| 欧美春色| 中文字幕AV片| 成年女人一区| 欧美不卡二区| w w w.久久精品| 91强在线播放| 中文字幕黑人大片| 日韩性爱免费视频在线网站| 高清孕妇孕交 交| 99黄页网站| 97资源制服丝袜| 欧美久久人人网| 亚洲男人天堂网| 精品大全99999| 亚洲伊人久久精品狠狠在线| 色五月综合| 一类无码操逼视频| 婷婷综合伊人一区| 懂色av中文字幕| 麻豆精品A片免费观看| www久| 久久m| 极品五月天噜噜| 亚洲欧洲精品视频发布| 一区二区三区美女超清| 哈哈操电影| 欧美日韩国产人人| 操美女人妻| 天天爽爽爽爽| 久久香蕉国产线看观看猫咪av| 亚洲无码成人精品| 欧美在线视频播放| 高树玛利亚无码流出| 天天日夜夜爽| 黄色av片三级三级三级免费看| A级国产欧美激情在线| 欧美一区二区| 九久久精品| 福利在线视频一区二区| 日产国产精品中文久久婷婷| 色色五月天激情| 久久亚洲AV无码专区国产精品| 亚欧无码线免费观看视频| 91美| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 人妻色情天天操| 丁香色婷婷| 日韩激情小说一区二区| 亚洲人妻中文在线视频| 蜜臀中文字幕| 麻豆天天躁天天揉揉AV| 伊人网在线视频| 熟妇艹鸡八| 成人AV素股で擦久久| 久久激情五月| 久久久久国产无av| 国产乱人伦AVA麻豆软件.| 亚洲色图亚洲| 久久久无码视频| 蜜臀久久久99久久久久 | 99操| 久久婷色| 六月婷婷色综合| 99视频精品| 久久久夜夜嗨免费视频| 国产蜜臀精品一区二区尤物| 艳美熟妇先锋一二三区| 色色色网站| 五月丁香狠狠爱| 九九RE视频在线精品| 国产92麻豆天美精品色欲5| 亚洲字幕一区二区| 99这里只有精品国产| 国产粉嫩蜜臀av一区二区三区| 97碰| 久久精品国产亚洲5555| 久久人妻| 久久六六| 91网站18禁| 亚洲丝袜诱惑| 色吧91| 国产自制av蜜乳| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 亚洲精品三| 韩国午夜理伦三级好看| 强奸乱伦Av网| 第一高清av中文字幕| 久操不卡视频| 久9热| 伊人成人中文字幕久久网| 67914亚洲精品| 99国内精品| 国产久久一区二区三区野外在线| 久久伊人网视频一区二区三区| 顶级少妇BT天堂| 国产超碰在线一区| 丝袜狠狠草尤物 91| 欧美日本视频一区| 96麻豆精品一区二区三区| 日韩无码一区二区三区| 人人操人人摸人人骑| av毛片aaaaa免费看| 国产一进一出视频网站| 亚洲无码超碰免费| 91天天| 亚洲色宗合| 激情小说亚洲| 亚洲一区二区三区播放在线| 成人av影院在线观看| 国产操偷| 综合色色网| 天无日色综合| 色老汉色| 久久成人午夜狠狠| 超碰在线91| 人妻偷拍一区二区三区| 黑人无码一区二区| 91黑丝在线播放| 欧洲乱码一区二区| 色呦色呦色精品| 揉揉日日日日| 自拍偷拍 日韩欧美| 亚洲欧美一区二区三区一猛片| 天天躁日日躁AAAXX| 青青国产精品在线| 夜草欧美| 少妇天堂| 久久亚洲欧美中文字幕国语 | 伊人大香蕉在线| 日日噜噜夜夜久久亚洲一区二区 | 亚洲欧美日韩制服另类| 九九精品无码专区免费| 探花精品视频| 久草资源欧美在线视频| 97操碰| 富女玩鸭子一级毛片| 欧美人人AAA| 91暧暧| 国产日韩中文字幕欧美| 精品视频在线观看| 久久无码电影| 97亚洲一区| 午夜国产成人福利视频| 日韩有码免费视频| 性欧美天天| 黄页网站成人免费| 国产传媒午夜理伦精品| 午夜丁香婷婷| 久久伊人青青草| 男人的天堂com| 久久美女国产| 亚洲……91| 久久一二三四五六七八九区| 少妇厨房愉情理伦片bd在线观看| 无遮挡h肉动漫在线观看| 蜜臀AV一区二区三区激情综合| 亚洲色图8| 亚洲男人在线观看天堂| 免费αⅴ在线观看| 婷婷五月天成人| 九九av| 日产操逼| a网站免费观看| 久久精品视频一区三区小泽玛利亚| 久草在线| 99热自拍| 欧美一品道| 神马久久久久久| 一区在线国产播放| 国产第11页| 欧洲在线性爱视频| 五月婷婷六月色| 热热色色综合| 欧洲综合无码| 亚洲AV成人精品网站在AV| 国产成人超碰在线| 91一起操| 97超碰中文字幕| 九九九九精品九九九九| 91精品丝袜在线观看| 午夜毛片高清免费不卡| 天天色欧美| 久久精品色欧美aⅴ一区二区| 日韩精品人妻中文字幕久久久| 97天天插| 午夜啪啪片| 大香蕉欧美伊| 日本506070| 无码又爽又硬又激情免费视频| 操老熟女AV| 一区二区三区 日韩欧美| 欧美熟女激情| AAAA级日本片免费视频| AV中文在线可看| 漂亮人妻被强中文字幕hd| 国产亚州精品美女久久久免费| 18一区二区三区| 资源新线在线天堂| 在线人人人人人人精品超| 婷婷色香| 97超碰jingpin| 夜夜狠狠躁日日躁色视频| 久久国产乱子伦精品免费女,网站| 人妻乱仑一区二区三区| 欧美亚洲激情一二三| 强奸乱伦AV网址| 91中文精品日韩欧美在线| 人人性爱视频免费| 大香蕉伊利av| 亚洲 日本 国产 综合| 乱伦a片视频| 日日夜夜噜| 91丨九色丨国产丨人妻在线| 91久久午夜无码鲁丝片久久人妻| 亚洲一区二区三区春色| 天天弄欧美| 国产福利视频精品视频| 884t在线| 亚洲国产婷婷在线播放| 国产女人9999| 日韩av一级黄片| 久久中文字幕女同性恋一区| 999国产精品999| 亚洲日本大香蕉1| 超碰在线成人| 97视频一区| 日本一区二区不卡精品| 观看免费区二区三区二| CCYY草草影院地址入口| 日韩中文字幕av在线播放| 欧美激情性久久久久久| 亚洲 91 在线| 九九九九九九免费视频| 国产大学生高潮在线播放| 精品人妻一区二区免费看| 国内外色色色色色成人视频| 青娱乐91| 日本三级日本三级三级人妇四虎| 囯戸精品高潮呻吟旡码| 亚洲国产中文字幕| 亚洲欧洲网站免费观看| 97久久久久| 久久久久9999| 97国产|免费| 67914亚洲精品| 天天看夜夜看日日干| 欧美熟女妇同| 日韩午夜精品一区二区三区电影| 91老妇女| 中文字幕丝袜美腿| 无码丰满熟妇一区二区浪潮AV| 亚洲中文字幕一区| 91大胆欧美| 人人干黄色| 亚洲高清男人天堂| 日日干夜夜干| 欧美一区二区日韩三区| 97超级色碰碰| 久久婷五月| 久久精品国产99精品亚洲蜜... | 久久精精区一区二区一蜜桃一区二区| 日韩精品资源专区二区| 东北操逼| 大香蕉520| 国产无吗在线播放| 97jingpin| 精品女人999| 国产乱色国产精品免费视| 97在线日韩中文字幕| 日本91白丝| 欧美一级特黄淫片在线观看| 亚洲情色 自拍| 九九久久久久久爱| 免费a在线播放v| 99无码| 91AV天美在线视频| 日韩pv中文| 操逼1区| 白丝一区| 日本黄色天堂| 日产国产精品中文久久婷婷| 日韩99精品视频综合区| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 丁香激情网| 熟女五十路一区二区三| 天美传媒AV在线| 综合欧美日韩在线| 亚洲欧美大| 日韩成人大片一区二区| 欧美18 在线观看| 后入合集| av线电影| 大香蕉AV丝袜| 亚洲夜夜欢无码一区二区| 男人久久天堂| 色天天野狼综合社区| 一区二区三区无卡视频在线观看| 成人日韩欧美| 人人操人人搞人人草| 又大又大又大又粗爽高潮观看 | 成人天天爽| 成人AV素股で擦久久| 国产一级αv免费看片| 少妇一级婬片免费放一级a性色.| 日韩十八禁| 天天操熟妇| 欧美国产视频| 青青操97| 亚洲福利中文字幕在线| 一级@啪啪视频| 少妇色| 一卡二卡三卡| 久久视频,这里只有精品| 刺激精品视频| 九九热精品在线| 夜夜操狠狠操| 国产一区二区在线电影| 国产精品呦一区二区三区| 免费A片三p视频| 诱惑网综合| 78m成人视线| 伊人96在线| 骚逼一区二区| 熟女自慰久久久| 国产女上位好爽在线| 亚洲精品男人的天堂| 思思热国产在线视频| 色狠狠综合噜一二三区| 女人的久久久| 色婷婷电影网| 首页中文字幕中文字幕免费| 高清国产成人无码| 国产日韩无码一区二区三区久久区| 天堂无码| 校园春色五月天| 狠狠躁伊人中文字幕| K8久久久久| 久久久久96| 天天综合网亚洲综合网| 在线观看A啊啊啊| 中文字幕日韩精品一区二区三区| 日韩AV中文字幕电影| 中文字幕一区 二区三四五 区日 日骚| 精品久久久亚洲AV成人网站| 东北丰满熟女国产一区| 国产一区二区三区白丝| 色黄污美女啪啪啪免费网站| 老熟女乱伦片| 一个人免费视频观看在线WWW| 国产二区三区免费视频| 国产精品不卡高清在线观看| 中文字幕熟女人妻丝袜| 色欧洲| 深夜福利黄片| 人人操人人插 - 百度 - 百度| 久艹日日日| 国产精品午夜AV完会免费 | 欧美综合网1| 人妻内射一区二区在线视频| 亚洲 另类 丝袜 自拍 动漫| 亚洲精品一区二区免费在线观看| 亚洲一区二区 麻豆传媒| 色天堂综合| 少妇内射www在线观看视频| 91精品久久久久久77777| 超碰2017| 操逼网站网站| 成人97人人超碰人人| 国产精品久久久久久久AV大片| 欧美岛国精品在线观看| 超碰国产精品无码| 6080YYY午夜理论片在线观看| 日va操| 午夜无码精品免费看性色| 国产浮力影院第1页| 精品国产精品一区二区| 91丨九色丨大屁股| 啊啊啊com| 少妇与黑人高潮在线| 操逼精品视频| 国产天天噜一噜久久久| rion磁力链接| 国产女人视频三四五区| 国产一区二区三区高清视频| 日本成人免费一区二区三区| 琪琪精品免费一区二区三区| 在免费jIzzjIzz在线视频| 伊人久久大香大香线蕉中文| 天美传媒一二三区永久网站| 欧美熟女妇同| 日本最新1区2区3区| 风月影院男女十八禁| 欧美精品亚洲精品日韩传电影| 性欧美| 天天综合欧美| 日韩强奸av| 能在线播放的国产三级| 操逼操逼视频操逼| 图片区小说区| 欧美制服另类丝袜| www.男人天堂| 91精品导航| 国产无码精品成人| 少妇干B| 日本91白丝| 97超碰人操| 天天拍夜夜| 啪啪啪东京| 亚洲激情在线| 久久中日麻豆| 久热网| 亚洲一区日韩精品| 久久久久久AⅤ无码免费肉站| 久久日韩毛| 中文熟女五十乱码在线| 亚洲欧美天堂| 色在线综合| 我要看免费韩日黄片| 裸模AV女优| 91N综合网在线| 九九热九九| 奇米狠999| 99久久婷婷| 大香蕉欧美日韩| 亚洲黄色电影| 免费观看性欧美一级| 国产成年免费大片黄在线观看| 五月天精品| 人妻人人澡人人爽人人| 日本大香蕉综合网| 国产网站在线播放| 俺去也婷婷| 欧美97日韩精品| 999综合网| 日韩欧美字幕亚洲一区二区| 九九在线精品| 97在线资源| 亚洲电影中字一区二区| 你懂得91| 伊人aaa| 熟女探花啪啪| 日韩黄色电影网站| 色欲人妻一区二区在线| 好吊色综合| 多乙久久久久久| 啊好爽受不了无码| 日逼97| 啪一啪免费视频| 18岁禁 茉莉成人久久| 97精品久久| 新版天堂中文资源8在线| 青娱乐大香蕉| 狠狠婷婷亚洲中文综合久久| 九九aV| 欧美极品少妇| 国产操逼网站亚洲一级黄色| av一区二区三区 中文| 夜精品久无码| 欧美一级黄色免费专区| 九九热免费视频| 亚洲综合射| 性久久久| 精品人妻一区二区三区-国产精品| 欧美日综合| 自拍偷拍 日韩无码| 欧美人妻中出| 精品国模无码| 国产亚洲 中文欧美久久| 农村少妇久久久久久久| 免费啪啪一级视频| 9精品久久| 欧美欧美啪啪视频| 920日本午夜免费| 91中出视频| 伊人久久婷婷| 日本幼女18+| 91动漫操逼视频| 97 九色| 日韩一区二区精彩视频| 99丝袜福利在线播放| 另类欧美色| 中文字幕 人妻不满 在线视频| 乱子伦一区二区三区国产精品| 精品人妻1区| 丝袜喷水在线| 999久久久免费精品国产牛牛| 日本有码久久| 天天做天天爱| 色女女女导航| 亚州男人天堂| 人妻少妇精品一区二区三区| 97亚洲中文| 强奸乱伦av电影| 97在线欧| 丰满的三级少妇欧美久久久| 欧美日韩人妻少妇 一区二区三区| 欧亚性爱在线视频| 免费成人在线熟妇网| 浪人综合网| 黄色十八禁| 成人97人人超碰人人| 欧美综合色站| 97爱| 97玖玖超碰| 午夜精品久久久久久久久久蜜桃| 怡春苑东京热| 日本一级婬片试看三分钟| 91激情综合| 久久精品国产免费观看99| 久久久久极品| aaa一级黄片| 午夜精品久久久久久久久久久久久 | 大香蕉一线视频| 干妹子| 天天插天天操| 美女啊啊啊啊啊| 天无日色综合| 中文字幕天堂在线| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 久久丁香久草综合网| 91欧美美女日韩国产婷婷| av在线不卡一区二区三区| 天天热精品| 欧美日韩第一页| 五十路熟女人妻一区二区三区四区五| 天天欧美欧美亚洲网| 人人操,人人液| 99啪啪| 天天干天天操天天干天天操| 欧美色九九|