家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生

亚洲自拍偷拍一区二区-瑟瑟视频在线观看-国产午夜麻豆影院在线观看-超碰久操-在线精品亚洲欧美日韩国产-久久久久久久久久亚洲-色吧av-www.激情.com-特黄视频在线观看-五月天激情开心网-天天操夜夜欢-成人激情在线观看-蜜臀av在线播放一区二区三区-亚洲无人区码一码二码三码-亚洲日本一区二区-久久特黄

您的位置:網站首頁 > 電器維修資料網 > 正文 >

STM32單片機基礎學習:從勉強看懂一行程序到IO口研究

★★★★★【文章導讀】:STM32單片機基礎學習:從勉強看懂一行程序到IO口研究具體內容是:剛好勉勉強強看懂一行程序繼續學習中,先把開發板自帶一個例子做了些精簡,以免看得嚇人。。。。就是這個,讓portd上接的4個led分別點亮。開始研究代碼intmain(void){init_all_periph();。。.。。.看到這一行,開…

來源: 日期:2013-11-29 9:19:06 人氣:標簽:

STM32單片機基礎學習:從勉強看懂一行程序到IO口研究

     剛好勉勉強強看懂一行程序

  繼續學習中,先把開發板自帶一個例子做了些精簡,以免看得嚇人。。。。
  
  就是這個,讓portd上接的4個led分別點亮。
  開始研究代碼
  int main(void)
  {
  init_all_periph();
  。。.。。.
  看到這一行,開始跟蹤,于是又看到了下面的內容
  void init_all_periph(void)
  {
  rcc_configuration();
  。。.。。.
  繼續跟蹤
  void rcc_configuration(void)
  {
  systeminit();
  。。.。。.
  這行代碼在system_stm32f10x.c中找到了。
  void systeminit (void)
  {
  /* reset the rcc clock configuration to the default reset state(for debug purpose) */
  /* set hsion bit */
  rcc-》cr |= (uint32_t)0x00000001;
  /* reset sw, hpre, ppre1, ppre2, adcpre and mco bits */
  #ifndef stm32f10x_cl
  rcc-》cfgr &= (uint32_t)0xf8ff0000;
  #else
  rcc-》cfgr &= (uint32_t)0xf0ff0000;
  #endif /* stm32f10x_cl */
  /* reset hseon, csson and pllon bits */
  rcc-》cr &= (uint32_t)0xfef6ffff;
  /* reset hsebyp bit */
  rcc-》cr &= (uint32_t)0xfffbffff;
  /* reset pllsrc, pllxtpre, pllmul and usbpre/otgfspre bits */
  rcc-》cfgr &= (uint32_t)0xff80ffff;
  #ifndef stm32f10x_cl
  /* disable all interrupts and clear pending bits */
  rcc-》cir = 0x009f0000;
  #else
  /* reset pll2on and pll3on bits */
  rcc-》cr &= (uint32_t)0xebffffff;
  /* disable all interrupts and clear pending bits */
  rcc-》cir = 0x00ff0000;
  /* reset cfgr2 register */
  rcc-》cfgr2 = 0x00000000;
  #endif /* stm32f10x_cl */
  /* configure the system clock frequency, hclk, pclk2 and pclk1 prescalers */
  /* configure the flash latency cycles and enable prefetch buffer */
  setsysclock();
  }
  這一長串的又是什么,如何來用呢?看來,偷懶是不成的了,只能回過頭去研究stm32的時鐘構成了。
  相當的復雜。

     系統的時鐘可以有3個來源:內部時鐘hsi,外部時鐘hse,或者pll(鎖相環模塊)的輸出。它們由rcc_cfgr寄存器中的sw來選擇。
  sw(1:0):系統時鐘切換
  由軟件置’1’或清’0’來選擇系統時鐘源。 在從停止或待機模式中返回時或直接或間接作為系統時鐘的hse出現故障時,由硬件強制選擇hsi作為系統時鐘(如果時鐘安全系統已經啟動)
  00:hsi作為系統時鐘;
  01:hse作為系統時鐘;
  10:pll輸出作為系統時鐘;
  11:不可用。
  ////////////////////////////////////////////////////////////////////
  pll的輸出直接送到usb模塊,經過適當的分頻后得到48m的頻率供usb模塊使用。
  系統時鐘的一路被直接送到i2s模塊;另一路經過ahb分頻后送出,送往各個系統,其中直接送往sdi,fmsc,ahb總線;8分頻后作為系統定時器時鐘;經過apb1分頻分別控制plk1、定時器tim2~tim7;經過apb2分頻分別控制plk2、定時器tim1~tim8、再經分頻控制adc;
  由此可知,stm32f10x芯片的時鐘比之于51、avr、pic等8位機要復雜復多,因此,我們立足于對著芯片手冊來解讀程序,力求知道這些程序代碼如何使用,為何這么樣使用,如果自己要改,可以修改哪些部分,以便自己使用時可以得心應手。
  單步執行,看一看哪些代碼被執行了。
  /* reset the rcc clock configuration to the default reset state(for debug purpose) */
  /* set hsion bit */
  rcc-》cr |= (uint32_t)0x00000001;
  120s52109-1.jpg
  這是rcc_cr寄存器,由圖可見,hsion是其bit 0位。
  hsion:內部高速時鐘使能
  由軟件置’1’或清零。
  當從待機和停止模式返回或用作系統時鐘的外部4-25mhz時鐘發生故障時,該位由硬件置’1’來啟動內部8mhz的rc振蕩器。當內部8mhz時鐘被直接或間接地用作或被選擇將要作為系統時鐘時,該位不能被清零。
  0:內部8mhz時鐘關閉;
  1:內部8mhz時鐘開啟。
  ///////////////////////////////////////////////////////////////////////
  /* reset sw, hpre, ppre1, ppre2, adcpre and mco bits */
  #ifndef stm32f10x_cl
  rcc-》cfgr &= (uint32_t)0xf8ff0000;
  點擊看大圖
  這是rcc_cfgr寄存器
  該行程序清零了mc0[2:0]這三位,和adcpre[1:0],ppre2[2:0],ppre1[2:0],hpre[3:0],sws[1:0]和sw[1:0]這16位。
  /*
  mco: 微控制器時鐘輸出,由軟件置’1’或清零。
  0xx:沒有時鐘輸出;
  100:系統時鐘(sysclk)輸出;
  101:內部8mhz的rc振蕩器時鐘輸出;
  110:外部4-25mhz振蕩器時鐘輸出;
  111:pll時鐘2分頻后輸出。
  */
  /* reset hseon, csson and pllon bits */
  rcc-》cr &= (uint32_t)0xfef6ffff;
  清零了pllon,hsebyp,hserdy這3位。
  /* reset hsebyp bit */
  rcc-》cr &= (uint32_t)0xfffbffff;
  清零了hsebyp位 ///???為什么不一次寫??
  hsebyp:外部高速時鐘旁路,在調試模式下由軟件置’1’或清零來旁路外部晶體振蕩器。只有在外部4-25mhz振蕩器關閉的情況下,才能寫入該位。
  0:外部4-25mhz振蕩器沒有旁路;
  1:外部4-25mhz外部晶體振蕩器被旁路。
  所以要先清hseon位,再清該位。
  /* reset pllsrc, pllxtpre, pllmul and usbpre/otgfspre bits */
  rcc-》cfgr &= (uint32_t)0xff80ffff;
  清零了:usbpre,pllmul,pllxtpr,pllsrc共7位
  /* disable all interrupts and clear pending bits */
  rcc-》cir = 0x009f0000;
  ////這個暫不解讀
  setsysclock();
 跟蹤進入該函數,可見一連串的條件編譯:

 
  單步運行,執行的是:
  #elif defined sysclk_freq_72mhz
  setsysclockto72();
  為何執行該行呢,找到sysclk_preq_**的相關定義,如下圖所示。
  
  這樣就得到了我們所要的一個結論:如果要更改系統工作頻率,只需要在這里更改就可以了。
  可以繼續跟蹤進入這個函數來觀察如何將工作頻率設定為72mhz的。
  static void setsysclockto72(void)
  {
  __io uint32_t startupcounter = 0, hsestatus = 0;
  /* sysclk, hclk, pclk2 and pclk1 configuration ---------------------------*/
  /* enable hse */
  rcc-》cr |= ((uint32_t)rcc_cr_hseon);
  //開啟hse
  /* wait till hse is ready and if time out is reached exit */
  do
  {
  hsestatus = rcc-》cr & rcc_cr_hserdy;
  startupcounter++;
  } while((hsestatus == 0) && (startupcounter != hsestartup_timeout));
  //等待hse確實可用,這有個標志,即rcc_cr寄存器中的hserdy位(bit 17),這個等待不會無限長,有個超時策略,即每循環一次計數器加1,如果計數的次數超過hsestartup_timeout,就退出循環,而這個hsestartup_timeout在stm32f10x.h中定義,
  #define hsestartup_timeout ((uint16_t)0x0500) /*!《 time out for hse start up */
  ///////////////////////////////////////////////////////////////////////////////////////////////
  if ((rcc-》cr & rcc_cr_hserdy) != reset)
  {
  hsestatus = (uint32_t)0x01;
  }
  else
  {
  hsestatus = (uint32_t)0x00;
  }
  ///再次判斷hserdy標志位,并據此給hsestatus變量賦值。
  if (hsestatus == (uint32_t)0x01)
  {
  /* enable prefetch buffer */
  flash-》acr |= flash_acr_prftbe;
  /* flash 2 wait state */
  flash-》acr &= (uint32_t)((uint32_t)~flash_acr_latency);
  flash-》acr |= (uint32_t)flash_acr_latency_2;
  /* hclk = sysclk */
  rcc-》cfgr |= (uint32_t)rcc_cfgr_hpre_div1;
  //找到定義: #define rcc_cfgr_hpre_div1 ((uint32_t)0x00000000) /*!《 sysclk not divided */
  /* pclk2 = hclk */
  rcc-》cfgr |= (uint32_t)rcc_cfgr_ppre2_div1;
  //找到定義:#define rcc_cfgr_ppre2_div1 ((uint32_t)0x00000000) /*!《 hclk not divided */
  /* pclk1 = hclk */
  rcc-》cfgr |= (uint32_t)rcc_cfgr_ppre1_div2;
  //找到定義:#define rcc_cfgr_ppre1_div2 ((uint32_t)0x00000400) /*!《 hclk divided by 2 */
  #ifdef stm32f10x_cl
  ……
  #else
  /* pll configuration: pllclk = hse * 9 = 72 mhz */
  rcc-》cfgr &= (uint32_t)((uint32_t)~(rcc_cfgr_pllsrc | rcc_cfgr_pllxtpre |
  rcc_cfgr_pllmull));
  rcc-》cfgr |= (uint32_t)(rcc_cfgr_pllsrc_hse | rcc_cfgr_pllmull9);
  #endif /* stm32f10x_cl */
  //以上是設定pll的倍頻系數為9,也就是說,這個72m是在外部晶振為8m時得到的。
  /* enable pll */
  rcc-》cr |= rcc_cr_pllon;
  /* wait till pll is ready */
  while((rcc-》cr & rcc_cr_pllrdy) == 0)
  {
  }
  /* select pll as system clock source */
  rcc-》cfgr &= (uint32_t)((uint32_t)~(rcc_cfgr_sw));
  rcc-》cfgr |= (uint32_t)rcc_cfgr_sw_pll;
  /* wait till pll is used as system clock source */
  while ((rcc-》cfgr & (uint32_t)rcc_cfgr_sws) != (uint32_t)0x08)
  {
  }
  }
  else
  { /* if hse fails to start-up, the application will have wrong clock
  configuration. user can add here some code to deal with this error */
  /* go to infinite loop */
  while (1)
  {
  }
  }
  }

  至此,我們可以歸納幾條:
  (1) 時鐘源有3個
  (2) 開機時默認是hsi起作用,可以配置為所要求的任意一個時鐘
  (3) 配置時必須按一定的順序來打開或都關閉一些位,并且各時鐘起作用有一定的時間,因此要利用芯片內部的標志位來判斷是否可以執行下一步。
  (4) 如果外部時鐘、pll輸出失效,系統可以自動回復到hsi(開啟時鐘安全系統)
  (5) hsi的頻率準確度可以達到+/- 1%,如果有必要時,還可以用程序來調整這個頻率,可調的范圍大致在200khz左右。
   后讓我們來感受一下勞動的果實吧--試著改改頻率看有何反應。
  為查看更改后的效果,先記錄更改前的數據。將調試切換到仿真,在第一條:
  delay(0xaffff);
  指令執行前后,分別記錄下status和sec
  status:2507 3606995
  sec:0.00022749 0.05028982
  將振蕩頻率更改為36mhz,即
  。。.
  #define sysclk_freq_36mhz 36000000 //去掉該行的注釋
  /* #define sysclk_freq_48mhz 48000000 */
  /* #define sysclk_freq_56mhz 56000000 */
  /*#define sysclk_freq_72mhz 72000000*/ //將該行加上注釋
  再次運行,結果如下:
  status:2506 3606994
  sec:0.00008478 0.10036276
  基本上是延時時間長了一倍。改成硬件仿真,將代碼寫入板子,可以看到led閃爍的頻率明顯變慢了。

io研究

  前面的例子研究了時鐘,接下來就來了解一下引腳的情況
  main.c中,有關i/o口的配置代碼如下:
  void gpio_configuration(void)
  {
  gpio_inittypedef gpio_initstructure;
  /* configure io connected to ld1, ld2, ld3 and ld4 leds *********************/
  gpio_initstructure.gpio_pin = gpio_pin_8 | gpio_pin_9 | gpio_pin_10 | gpio_pin_11;
  gpio_initstructure.gpio_mode = gpio_mode_out_pp;
  gpio_initstructure.gpio_speed = gpio_speed_50mhz;
  gpio_init(gpiod, &gpio_initstructure);
  這幾行代碼是將gpiod的第8,9,10和11引腳配置成輸出,并且還可以設定輸出引腳的速度(驅動能力?),這里設定為 50mhz,這應該是常用的,還有可以設置為2mhz的。那么如何將引腳設置成輸入呢?查看電路原理圖,gpiod.0~gpio.4是接一個搖桿的5個按鈕的,因此,下面嘗試著將它們設置成為輸入端。
  gpio_initstructure.gpio_pin=gpio_pin_0|gpio_pin_1|gpio_pin_2|gpio_pin_3|gpio_pin_4;
  gpio_initstructure.gpio_mode = gpio_mode_in_floating;
  gpio_init(gpiod, &gpio_initstructure);
  第1行和第3行完全是照抄,第2行那個gpio_mode_in_floating是在stm32f10x_gpio.h中找到的。
  
  當然是因為這里還有gpio_mode_out_pp,所以猜測應該是它了。至于還有其他那么多的符號就不管了。
  定義完成,編譯完全通過,那就接下來準備完成下面的代碼了。
  int main(void)
  {
  init_all_periph();
  while(1)
  { if( gpio_readinputdatabit(gpiod,gpio_pin_0)) //1
  { gpio_resetbits(gpiod, gpio_pin_8);
  }
  else
  { /* turn on ld1 */
  gpio_setbits(gpiod, gpio_pin_8);
  /* insert delay */
  }
  。。.。。.
  標號為1的行顯然其作用是判斷gpiod.0引腳是0還是1。這個函數是在stm32f10x_gpio.c中找到的。
  uint8_t gpio_readinputdatabit(gpio_typedef* gpiox, uint16_t gpio_pin)
  {
  uint8_t bitstatus = 0x00;
  /* check the parameters */
  assert_param(is_gpio_all_periph(gpiox));
  assert_param(is_get_gpio_pin(gpio_pin));
  if ((gpiox-》idr & gpio_pin) != (uint32_t)bit_reset)
  {
  bitstatus = (uint8_t)bit_set;
  }
  else
  {
  bitstatus = (uint8_t)bit_reset;
  }
  return bitstatus;
  }
  雖然程序還有很多符號看不懂(沒有去查),但憑感覺它應該是對某一個引腳的狀態進行判斷,因為這個函數的類型是uint8_t,估計stm32沒有bit型函數(需要驗證),所以就用了uint8_t型了),如果是讀的端口的值,應該用uint16_t型。這一點在下面也可以得到部分的驗證:
  uint16_t gpio_readinputdata(gpio_typedef* gpiox)
  uint16_t gpio_readoutputdata(gpio_typedef* gpiox)
  這些函數是讀引腳及輸出寄存器的數據的。

 再次編譯,也是順利通過,依法炮制,將其他三個引腳輸入控制led的代碼也寫上,為保險起見,先用軟件仿真,免得反復擦寫flash(順便說一句,目前還沒有搞定將代碼寫入ram及從ram中執行)
  點擊看大圖
  進入仿真后打開外圍部件接口,單步執行,果然如同設想那樣運作了,單擊pins 0后面的勾,再次運行,果然pin8后面的勾沒了。做到這里,就感覺到用keil的好處了,這塊熟啊,幾乎沒有花時間在上面,一用就成了。

  • 1
  • 2
  • 下一頁

【看看這篇文章在百度的收錄情況】

聯系方式

  • 0731-85579057 , 13308461099
  • 點擊這里給我發消息點擊這里給我發消息點擊這里給我發消息
網站欄目導航: 培訓課程 手機硬件 手機軟件 綜合維修 學校資訊 考證指南 就業導航 招生指南 教學管理 入學須知 學校圖片 教學大綱 師資力量 學生感言 學校概況 教學實景 手機維修培訓資訊 電腦維修培訓 維修間故事 手機維修培訓 液晶電視維修培訓 家電維修資料網 電器維修資料網 招生地區 刷機教程 家電維修 手機技巧 老版網站 招生平臺網絡工程
友情鏈接: 監控安裝培訓 電動工具維修 家電維修學校 電工培訓學校 液晶電視維修 焊工培訓學校 電工焊工學校 電腦維修學校 家電維修培訓 電腦維修培訓 家裝電工培訓網絡安裝維護 主板維修 液晶顯示器 筆記本電腦維修 電腦組裝維護 電腦硬件維修 電腦維修 電工考證 電工證 裝修電工 水電工 維修電工 電工 焊接技術 電焊工 焊工 電動設備維修 電動工具維修 制冷維修 空調維修 冰箱維修  更多>>
陽光-手機維修教育品牌學校
點擊這里給我發消息 點擊這里給我發消息 點擊這里給我發消息
電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校 電工培訓學校 電動車維修學校 摩托車維修學校 摩托車維修培訓 手機維修培訓 家電維修培訓 電腦維修培訓 電動工具維修培訓 液晶電視維修培訓 安防監控培訓 空調維修培訓 網絡營銷培訓 網站設計培訓 淘寶網店培訓 電器維修培訓 家電維修學校 電工培訓 焊工培訓 電工學校
中山市,固原市,銀川市,玉樹,海東,隴南市,酒泉市,張掖市,天水市,金昌市,蘭州市,榆林市,延安市,渭南市,銅川市,阿里,山南,拉薩市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,畢節,銅仁,遵義市,貴陽市,甘孜州,資陽市,達州市,宜賓市,南充市,遂寧市,綿陽市,瀘州市,自貢市,三亞市,崇左市,河池市,玉林市,欽州市,梧州市,柳州市,梅州市,肇慶市,湛江市,佛山市,珠海市,韶關市,湘西州,懷化市,郴州市,張家界市,邵陽市,株洲市,仙桃市,隨州市,荊州市,荊門市,襄樊市,黃石市,駐馬店市,信陽市,南陽市,漯河市,中衛市,石嘴山市,海西,海南藏州,黃南州,海北,甘南,慶陽市,平涼市,武威市,白銀市,嘉峪關市,安康市,漢中市,咸陽市,寶雞市,林芝,日喀則,昌都,迪慶,德宏,大理,西雙版納,紅河州,臨滄市,麗江市,保山市,曲靖市,黔東州,黔西州,安順市,六盤水市,涼山州,阿壩州,雅安市,廣安市,眉山市,內江市,廣元市,德陽市,攀枝花市,成都市,海口市,來賓市,百色市,貴港市,北海市,桂林市,南寧市,云浮市,揭陽市,潮州市,清遠市,陽江市,汕尾市,惠州市,茂名市,江門市,汕頭市,深圳市,廣州市,婁底市,永州市,益陽市,岳陽市,湘潭市,長沙市,恩施州,黃岡市,孝感市,鄂州市,十堰市,武漢市,周口市,商丘市,三門峽市,許昌市,焦作市,安陽市,鶴壁市,平頂山市,開封市,鄭州市,聊城市,濱州市,德州市,萊蕪市,日照市,泰安市,煙臺市,濰坊市,東營市,淄博市,上饒市,濟南市,撫州市,宜春市,贛州市,新余市,九江市,景德鎮市,寧德市,南平市,泉州市,莆田市,廈門市,宣城市,亳州市,六安市,宿州市,黃山市,滁州市,安慶市,淮北市,馬鞍山市,蚌埠市,蕪湖市,合肥市,麗水市,舟山市,衢州市,金華市,湖州市,嘉興市,寧波市,宿遷市,鎮江市,鹽城市,連云港市,蘇州市,徐州市,南京市,綏化市,牡丹江市,佳木斯市,大慶市,鶴崗市,哈爾濱市,白城市,白山市,遼源市,吉林市,葫蘆島市,鐵嶺市,盤錦市,阜新市,錦州市,本溪市,鞍山市,沈陽市,錫林郭勒盟,通遼市,烏海市,呂梁市,忻州市,晉中市,晉城市,陽泉市,太原市,廊坊市,承德市,保定市,邯鄲市,唐山市,寧夏,甘肅省,西藏,貴州省,重慶市,廣西,湖南省,河南省,江西省,安徽省,江蘇省,黑龍江省,遼寧省,山西省,天津市,四平市,內蒙古,吳忠市,果洛,西寧市,定西市,商洛市,西安市,那曲,黔南州,巴中市,樂山市,賀州市,防城港市,東莞市,河源市,常德市,衡陽市,咸寧市,宜昌市,濮陽市,新鄉市,洛陽市,菏澤市,臨沂市,威海市,濟寧市,棗莊市,青島市,吉安市,鷹潭市,萍鄉市,南昌市,龍巖市,漳州市,三明市,福州市,池州市,巢湖市,阜陽市,銅陵市,淮南市,臺州市,紹興市,溫州市,杭州市,泰州市,揚州市,淮安市,南通市,常州市,無錫市,大興安嶺,黑河市,七臺河市,伊春市,雙鴨山市,雞西市,齊齊哈爾市,延邊,松原市,通化市,長春市,朝陽市,遼陽市,營口市,丹東市,撫順市,大連市,阿拉善盟,興安盟,烏蘭察布市,巴彥淖爾市,呼倫貝爾市,鄂爾多斯市,赤峰市,包頭市,呼和浩特市,臨汾市,運城市,朔州市,長治市,大同市,衡水市,滄州市,張家口市,邢臺市,秦皇島市,石家莊市,青海省,陜西省,云南省,四川省,海南省,廣東省,湖北省,山東省,福建省,浙江省,上海市,吉林省,河北省,北京市 亚洲自拍偷拍一区二区-瑟瑟视频在线观看-国产午夜麻豆影院在线观看-超碰久操-在线精品亚洲欧美日韩国产-久久久久久久久久亚洲-色吧av-www.激情.com-特黄视频在线观看-五月天激情开心网-天天操夜夜欢-成人激情在线观看-蜜臀av在线播放一区二区三区-亚洲无人区码一码二码三码-亚洲日本一区二区-久久特黄
  • <abbr id="kgs4e"><strong id="kgs4e"></strong></abbr>
    <abbr id="kgs4e"><code id="kgs4e"></code></abbr>
    <cite id="kgs4e"><samp id="kgs4e"></samp></cite>
  • <kbd id="kgs4e"></kbd>
  • <abbr id="kgs4e"></abbr>
    <kbd id="kgs4e"><noscript id="kgs4e"></noscript></kbd>
    主站蜘蛛池模板: 欧美成人一区二区三区| 欧美日韩黄视频| 九九视频直播综合网| 久久精品视频中文字幕| 在线一区二区日韩| 久久九九国产| 欧美午夜激情小视频| 国产日韩精品在线播放| 精品一区二区亚洲| 美女扒开尿口让男人操亚洲视频网站| 亚洲精品美女在线观看| 欧美制服丝袜第一页| 欧美日韩美女在线| 亚洲男人的天堂网站| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲免费在线播放| 久久亚洲私人国产精品va| 国产精品www| 日韩精品久久久久久久玫瑰园 | 国产精品福利片| 国产字幕视频一区二区| 一区二区在线免费视频| 在线中文字幕一区| 欧美极品在线视频| 亚洲国产欧美一区二区丝袜黑人| 久久精品国产2020观看福利| 午夜精品亚洲| 国产精品亚洲一区二区三区在线| 久久激情视频久久| 久久综合九色| 日韩av在线网| 午夜国产欧美理论在线播放| 国产欧美日韩三级| 亚洲国产美女| 欧美大片免费| 亚洲日韩中文字幕| 久久成年人视频| 国产又爽又黄的激情精品视频| 最新日韩中文字幕| 久久er精品视频| 国产亚洲综合在线| 亚洲精品久久久久久下一站| 欧美视频观看一区| 欧美人与性动交| 欧美日韩成人激情| 欧美成人亚洲成人日韩成人| 欧美成人自拍| 久久精品国产亚洲精品2020| 鲁鲁狠狠狠7777一区二区| 亚洲精品国产品国语在线| 亚洲一区二区在线免费观看| 国产日韩欧美在线一区| 亚洲视频你懂的| 国语自产精品视频在线看8查询8 | 亚洲一区二区三区国产| 国产精品日本精品| 亚洲美洲欧洲综合国产一区| 国产精品久久久久久久7电影| 亚洲黄色成人久久久| 欧美日韩免费一区| 91久久夜色精品国产九色| 欧美日韩亚洲激情| 久久99久久99精品中文字幕 | 亚洲网站在线观看| 黄色av日韩| 欧美在线欧美在线| 亚洲免费一在线| 欧美多人爱爱视频网站| 亚洲激情在线观看| 狠狠干成人综合网| 麻豆精品网站| 亚洲国产日韩欧美| 国内在线观看一区二区三区| 欧美在线一区二区| 深夜成人在线观看| 国产精品高潮呻吟久久av黑人| 亚洲六月丁香色婷婷综合久久| 国产日韩一区| 久久手机精品视频| 亚洲国产精品久久| 亚洲激情自拍图| 欧美日韩精品欧美日韩精品 | 日韩亚洲精品视频| 国产精品久久一区主播| 亚洲欧美日韩国产中文| 丝袜一区二区三区| 红桃av永久久久| 欧美+日本+国产+在线a∨观看| 久久91精品国产91久久跳| 国产亚洲欧美日韩精品| 久久久天天操| 亚洲国内自拍| 日韩国产欧美精品一区二区三区| 欧美日本在线视频| 午夜天堂精品久久久久| 亚洲第一二三四五区| 亚洲国产91精品在线观看| 欧美精品一区二区三区在线播放| 亚洲视频一二| 欧美成人免费观看| 日韩电视剧免费观看网站| 国产精品美女视频网站| 美日韩免费视频| 亚洲午夜精品在线| 久久91亚洲精品中文字幕| 在线观看中文字幕不卡| 国产欧美日韩视频一区二区三区 | 羞羞答答国产精品www一本| 国产一区二区三区18| 国产一区二区三区久久久 | 欧美乱妇40p| 在线日韩欧美| 国产精品豆花视频| 欧美日韩1区2区3区| 久久婷婷一区| 香蕉乱码成人久久天堂爱免费 | 欧美成人免费一级人片100| 国产免费成人av| 欧美日韩精品免费观看视频| 美女视频黄免费的久久| 欧美在线啊v一区| 一区二区三区久久精品| 亚洲黄网站在线观看| 夜夜嗨av一区二区三区四区| 韩国精品一区二区三区| 国产乱码精品一区二区三区不卡| 欧美日韩中文字幕综合视频 | 亚洲欧美激情四射在线日 | 日韩成人在线电影网| 国产精品美女www爽爽爽| 男人天堂欧美日韩| 久久久国产精品一区| 欧美一级大片在线免费观看| 亚洲专区一区| 欧美一区二区性| 久久激情中文| 久久久夜色精品亚洲| 午夜性色一区二区三区免费视频| 一区二区三欧美| 一区二区三区视频免费在线观看 | 亚洲色图18p| 亚洲福利视频久久| 日韩成人在线视频观看| 亚洲美女动态图120秒| 在线观看中文字幕不卡| 亚洲国产福利在线| 亚洲小视频在线| 综合激情国产一区| 超碰97人人做人人爱少妇| 欧美人交a欧美精品| 九九久久国产精品| 99这里只有精品| 亚洲午夜羞羞片| 欧美一区二区三区电影在线观看| 久久精品夜色噜噜亚洲aⅴ| 久久精品日产第一区二区| 久久影院午夜论| 欧美日韩国语| 国产手机视频一区二区| 一区二区三区在线看| 精品无人区太爽高潮在线播放 | 欧美激情五月| 欧美丝袜第一区| 国产日韩成人精品| 一区精品在线| 这里只有精品久久| 亚洲国产一成人久久精品| 亚洲精品国精品久久99热一| 一区二区三区 在线观看视频| 亚洲一区二区三区免费观看| 久久国产精品网站| 欧美日韩精品伦理作品在线免费观看| 国产精品久久久久av| 国产日韩欧美在线播放不卡| 亚洲国产成人精品电影| 北条麻妃一区二区三区中文字幕| 最新高清无码专区| 欧美在线亚洲一区| 欧美吻胸吃奶大尺度电影| 国产专区精品视频| 日韩在线免费视频观看| 日韩视频在线观看国产| 久久欧美肥婆一二区| 国产精品久久久久久福利一牛影视| 影音先锋亚洲电影| 欧美乱妇40p| 午夜久久久久久| 欧美日韩精品高清| 亚洲美女av在线播放| 亚洲日本中文字幕| 久久综合五月天婷婷伊人| 国产欧美午夜| 久久这里有精品视频| 午夜欧美精品| 国产农村妇女毛片精品久久莱园子| 一区二区三区视频免费| 亚洲午夜精品久久久久久浪潮| 欧美高清视频www夜色资源网| 悠悠资源网亚洲青| 亚洲精品1234| 欧美国产另类| 亚洲欧美一区二区三区在线| 99精品免费视频| 欧美精品日韩精品| 日韩激情av在线免费观看| 日韩视频一区二区三区在线播放免费观看 | 午夜精品影院| 国产精品成人一区二区艾草| 亚洲性生活视频| 亚洲综合99| 国产嫩草一区二区三区在线观看 | 欧美日韩123| 亚洲欧美日韩视频一区| 亚洲欧美日韩直播| 国产亚洲精品久久久| 亚洲国产欧美日韩另类综合| 欧美片第1页综合| 国产一区二区日韩| 久久亚洲精品网站| 亚洲欧美精品一区二区| 久久激情久久| 日韩精品亚洲视频| 久久精品72免费观看| 亚洲成人久久网| 午夜视频在线观看一区二区三区| 国产偷国产偷亚洲高清97cao| 亚洲精品在线看| 国产日韩精品综合网站| 99精品久久久| 国内成+人亚洲+欧美+综合在线| aⅴ色国产欧美| 国内精品免费在线观看| 亚洲与欧洲av电影| 日韩成人在线免费观看| 久久―日本道色综合久久| 永久555www成人免费| 欧美大片91| 亚洲国产日韩综合一区| 国产女优一区| 欧美一区二区三区电影在线观看| 精品一区电影国产| 免费欧美视频| 亚洲精品九九| 亚洲第一色中文字幕| 久久久之久亚州精品露出| 精品国产一区二区三区四区在线观看| 欧美激情精品久久久久久久变态 | 国产欧美精品日韩| 亚洲男人第一av网站| 亚洲级视频在线观看免费1级| 久久精品亚洲热| 在线播放国产一区中文字幕剧情欧美| 欧美精品久久久久a| 亚洲第一中文字幕| 国产一区在线看| 久久影院午夜论| 亚洲第一区在线观看| 国产精品一区二区三区成人| 欧美伊人久久| 九九精品视频在线| 国内精品久久久久影院 日本资源| 欧美在线观看视频在线| 久久国产精品首页| 精品999网站| 欧美超级免费视 在线| 亚洲精品一二三| 亚洲精选在线观看| 国产精品美女在线| 久久久国产精品一区二区中文| 亚洲国产精品久久| 亚洲一品av免费观看| 国产精品国产一区二区| 欧美一区二区私人影院日本| 亚洲国产欧美久久| 亚洲天堂男人天堂| 国外成人网址| 国产精品久久久爽爽爽麻豆色哟哟| 欧美一区二区在线播放| 亚洲欧洲日本一区二区三区| 亚洲图中文字幕| 狠狠入ady亚洲精品| 欧美美女视频| 久久久久久9| 亚洲午夜电影网| 亚洲第一页在线| 亚洲一品av免费观看| 国产亚洲欧美中文| 欧美日韩一区二区三区在线观看免 | 美女国产一区| 一本色道久久88综合日韩精品| 精品久久久av| 一本色道久久88亚洲综合88| 在线播放日韩欧美| 国产欧美日韩不卡| 国产精品电影网站| 欧美精选一区| 美玉足脚交一区二区三区图片| 午夜日韩在线观看| 亚洲婷婷在线| 亚洲精品在线免费| 亚洲激情成人在线| 亚洲国内自拍| 欧美精品日韩三级| www国产精品视频| 国产亚洲精品一区二区| 亚洲精品自在久久| 日韩激情在线视频| 日韩国产精品亚洲а∨天堂免| 伊人久久综合97精品| 在线观看av一区| 亚洲激情第一页| 亚洲精品中文字幕av| 亚洲国产精品悠悠久久琪琪| 亚洲精品久久7777777| 狠狠色狠狠色综合日日小说| 国产视频在线观看一区| 国产一区二区精品久久99| 国产视频亚洲精品| 激情欧美一区二区| 亚洲成人aaa| 亚洲跨种族黑人xxx| 日韩国产在线看| 亚洲午夜精品视频| 日韩在线免费观看视频| 中文字幕视频一区二区在线有码| 色播久久人人爽人人爽人人片视av| 国产一区二区三区视频| 日韩最新av在线| 久久久精品一区二区三区| 中文字幕欧美精品在线| 久久精品国产久精国产思思| 久久成人在线视频| 亚洲裸体俱乐部裸体舞表演av| 妖精视频成人观看www| 一区二区三区国产盗摄| 亚洲综合社区| 久久综合成人精品亚洲另类欧美| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美 日韩 国产在线| 欧美日韩亚洲三区| 国产真实久久| 国产一区二区av| 亚洲激情图片小说视频| 亚洲在线视频一区| 欧美大尺度在线| 国产日韩欧美高清| 亚洲级视频在线观看免费1级| 一区二区亚洲欧洲国产日韩| 亚洲日本视频| 久久爱91午夜羞羞| 国产精品av久久久久久麻豆网| 国语自产精品视频在线看| 亚洲视频在线看| 亚洲国产精品第一区二区三区| 亚洲综合色激情五月| 欧美成人综合网站| 国内成+人亚洲| 色老头一区二区三区在线观看| 亚洲毛片在线观看.| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩大片一区二区三区| 国产一区二区三区四区五区美女 | 日韩成人在线视频网站| 欧美日本高清一区| 亚洲一二三级电影| 欧美激情第8页| 一区二区在线视频| 亚洲国产合集| 久热精品视频在线免费观看| 国产一区二区三区四区五区美女| 日韩一区二区福利| 亚洲午夜三级在线| 欧美午夜宅男影院| 中文精品99久久国产香蕉| 亚洲少妇一区| 精品一区二区三区电影| 欧美精品日韩www.p站| 欧美一进一出视频| 国产欧美一区二区三区在线看蜜臀 | 国产午夜久久| 久久精品中文字幕电影| 亚洲性xxxx| 国产精品高精视频免费| 在线观看久久久久久| 在线亚洲欧美视频| 欧美日韩国产色视频| 亚洲国产高潮在线观看| 日韩亚洲欧美精品| 欧美日韩国产精品专区| 亚洲欧美日韩精品| 午夜免费日韩视频| 国产色综合久久| 欧美日产国产成人免费图片| 免费一级欧美片在线观看| 亚洲成人久久久| 亚洲欧美视频一区| 国产一区二区三区四区hd| 亚洲国产精品视频| 欧美三区不卡| 久久夜色精品国产欧美乱| 久久久久久一区二区| 在线观看日产精品| 亚洲欧美日韩国产综合在线| 国产日韩欧美一区二区三区在线观看 | 亚洲日本久久| 欧美日韩视频一区二区| 日日狠狠久久偷偷四色综合免费 | 国产精品视频yy9099| 亚洲第一免费播放区| 欧美精品福利视频| 久久这里有精品| 欧美精品自拍偷拍动漫精品| 久久天天躁夜夜躁狠狠躁2022| 欧美激情综合色| 久久亚洲一区二区三区四区五区高 | 欧美在线视频免费播放| 在线精品在线| 久久天天躁狠狠躁夜夜av| 亚洲欧美国产一本综合首页| 老**午夜毛片一区二区三区| 中文字幕在线视频日韩| 欧美日韩成人一区| 亚洲精品之草原avav久久| 国产一区在线播放| 久久久噜噜噜久噜久久| 久久久精品久久久久| 欧美香蕉视频| 亚洲综合大片69999| 国产偷国产偷亚洲清高网站| 欧美激情免费观看| 亚洲伦理在线| 日韩久久精品电影| 欧美国产丝袜视频| 99riav国产精品| 亚洲福利视频免费观看| 欧美1区2区3区| 亚洲美女视频在线观看| 在线日韩欧美| 欧美人与性动交cc0o| 艳妇臀荡乳欲伦亚洲一区| 日韩av在线免费看| 国产精品国产三级国产专播品爱网| 亚洲视频网站在线观看| 一本大道亚洲视频| 国产欧美va欧美va香蕉在| 欧美中文在线观看国产| 亚洲国产欧美国产综合一区| 亚洲第一视频网| 欧美视频在线一区二区三区| 亚洲男人第一av网站| 久久久久北条麻妃免费看| 国内精品视频在线播放| 欧美大片在线看免费观看| 亚洲一区二区三区视频| 久久av在线看| 亚洲精品大尺度| 国产精品极品美女粉嫩高清在线| 欧美专区一区二区三区| 亚洲人体1000| 精品国产欧美一区二区五十路| 国产一区二区三区黄| 欧美黄色免费| 久久久国产精品一区二区三区| 亚洲美女诱惑| 超碰精品一区二区三区乱码| 日韩精品福利网站| 国产日韩综合| 欧美日韩日本网| 蜜臀99久久精品久久久久久软件| 这里只有精品丝袜| 亚洲国产人成综合网站| 亚洲视频在线免费看| 国模叶桐国产精品一区| 欧美亚一区二区| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美日韩精品欧美日韩精品 | 一本色道久久综合一区| 综合136福利视频在线| 在线不卡视频| 国内精品视频在线播放| 国产精品久久久久久久久久久久久久| 欧美黄色一区二区| 麻豆精品视频在线观看| 久久本道综合色狠狠五月| 在线亚洲欧美视频| 一本色道精品久久一区二区三区| 亚洲第一页中文字幕| 久久成人精品视频| 久久精品夜夜夜夜夜久久| 一区二区三区四区视频| 精品一区精品二区| 日韩av在线精品| 亚洲国产欧美一区| 亚洲国模精品一区| 亚洲国产精品yw在线观看| 国内精品亚洲| 伊人男人综合视频网| 在线观看亚洲a| 亚洲电影免费观看高清完整版在线| 国内精品亚洲| 在线日韩电影| 亚洲免费一在线| 亚洲欧美国产另类| 亚洲日本成人女熟在线观看 | 亚洲理论电影网| 亚洲精品免费观看| 一本色道久久99精品综合| 中文高清一区| 亚洲综合成人在线| 久久精品夜色噜噜亚洲a∨ | 国产手机视频一区二区| 国产视频一区在线观看| 精品91久久久久| 精品一区二区电影| 日韩一区二区精品视频| 欧美另类xxx| 99精品欧美一区二区三区综合在线| 99视频在线精品国自产拍免费观看 | 亚洲精品美女在线观看播放| 日韩av一卡二卡| 一个人www欧美| 亚洲动漫精品| 亚洲视频在线观看三级| 欧美在线综合| 欧美人成在线| 国产亚洲欧洲| 亚洲人成77777在线观看网| 欧美尺度大的性做爰视频| 亚洲精品一区二区三区樱花| 欧美亚洲综合在线| 欧美国产欧美亚州国产日韩mv天天看完整 | 久久精品亚洲| 欧美肥婆在线| 国产女精品视频网站免费| 亚洲成色999久久网站| 色多多国产成人永久免费网站| 亚洲欧洲午夜| 久久精品主播| 欧美性大战久久久久久久蜜臀 | 中文欧美日韩| 日韩有码在线视频| 国产女优一区| 亚洲天堂av高清| 久久在线免费观看视频| 另类综合日韩欧美亚洲| 国产精品多人| 日韩av有码在线| 乱亲女秽乱长久久久| 亚洲天堂偷拍| 欧美精品国产精品| 激情久久久久久久久久久久久久久久 | 九九视频直播综合网| 亚洲午夜视频在线观看| 欧美大片在线观看一区二区| 国产亚洲综合在线| 久久天天躁狠狠躁夜夜躁| 亚洲欧美一区二区激情| 欧美a级一区二区| 黄色成人在线网站| 亚洲激情自拍| 欧美xart系列高清| 国产一区成人| 欧美乱大交xxxxx| 久久精品视频在线| 国产一区二区三区久久久久久久久| 日韩中文字幕精品视频| 午夜精品久久久久久99热软件| 欧美三级在线视频| 亚洲午夜精品视频| 欧美一区二区三区免费观看视频| 国产精品二区在线| 精品国偷自产在线| 久久综合一区二区| 亚洲精品一区久久久久久| 一区二区三区导航| 欧美日韩一区在线观看| 在线视频国产日韩| 久久久久久有精品国产| 国产综合色一区二区三区| 日韩午夜在线播放| 国产精品成av人在线视午夜片| 日韩色av导航| 欧美成人激情视频| 亚洲天堂网站在线观看视频| 欧美亚洲在线播放| 影音先锋亚洲视频| 亚洲欧美日韩电影| 黄色国产精品| 亚洲香蕉网站| 国产在线精品自拍| 亚洲午夜激情在线| 国产日韩亚洲欧美精品| 99精品免费网| 国产拍揄自揄精品视频麻豆| 亚洲精品国精品久久99热| 国产精品激情av在线播放| 最新日韩在线| 国产精品视频xxxx| 日韩视频免费在线观看| 国产精品制服诱惑| 一区二区三区四区国产精品| 国产偷自视频区视频一区二区| 一本色道精品久久一区二区三区| 国产女主播在线一区二区| 在线一区欧美| 在线日本欧美| 另类成人小视频在线| 视频直播国产精品| 欧美日韩亚洲一区二区三区| 亚洲激情亚洲| 影音先锋久久久| 久久天天狠狠| 久精品免费视频| 国产日韩欧美在线一区| 亚洲欧美激情四射在线日|