家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生

亚洲自拍偷拍一区二区-瑟瑟视频在线观看-国产午夜麻豆影院在线观看-超碰久操-在线精品亚洲欧美日韩国产-久久久久久久久久亚洲-色吧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
  • 点击这里给我发消息点击这里给我发消息点击这里给我发消息
网站栏目导航: 培训课程 手机硬件 手机软件 综合维修 学校资讯 考证指南 就业导航 招生指南 教学管理 入学须知 学校图片 教学大纲 师资力量 学生感言 学校概况 教学实景 手机维修培训资讯 电脑维修培训 维修间故事 手机维修培训 液晶电视维修培训 家电维修资料网 电器维修资料网 招生地区 刷机教程 家电维修 手机技巧 老版网站 招生平台网络工程
友情链接: 监控安装培训 电动工具维修 家电维修学校 电工培训学校 液晶电视维修 焊工培训学校 电工焊工学校 电脑维修学校 家电维修培训 电脑维修培训 家装电工培训网络安装维护 主板维修 液晶显示器 笔记本电脑维修 电脑组装维护 电脑硬件维修 电脑维修 电工考证 电工证 装修电工 水电工 维修电工 电工 焊接技术 电焊工 焊工 电动设备维修 电动工具维修 制冷维修 空调维修 冰箱维修  更多>>
阳光-手机维修教育品牌学校
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,包头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市 主站蜘蛛池模板: 日本亚洲欧美在线 | 99久久精品一区二区成人 | 香蕉钻洞视频 | 极品大长腿啪啪高潮露脸 | 国产精品一区二区人人爽 | 双性皇帝高h喷汁呻吟 | 毛片a级免费 | 久久激情免费视频 | 精品国产乱码久久久久久闺蜜 | 视频在线观看网站免费 | 国产大片一区二区 | 亚洲欧美一区二区久久 | 欧洲综合色 | 国产激情在线播放 | 99爱国产 | 亚洲婷婷久久综合 | 六月丁香在线视频 | 亚洲日本天堂 | 久久wwww | 午夜痒痒网| 精品不卡一区二区 | av网站在线观看免费 | 九九热在线精品视频 | 精品久久久久久久 | 亚洲高清视频免费观看 | 亚洲深夜视频 | 黄色二级视频 | 毛片网站大全 | 一区二区三区福利 | 日韩欧美三级视频 | 国产欧美精品 | 国产精品久久久久久久久久久久午夜 | 国产91免费视频 | 潘金莲一级淫片aaaaa武则天 | 九色国产精品 | 欧美极品少妇xxxxⅹ免费视频 | 九九热精品视频 | 久久a毛片 | 亚洲三级在线播放 | 久草免费av | 99久久久国产精品 | 日本中文字幕免费 | 国产高清欧美 | 日韩美女中文字幕 | 精品亚洲一区二区三区 | 亚洲精品12p| 中文字幕淫 | 污视频软件在线观看 | 中文字幕成人动漫 | 日韩视频在线一区二区 | 在线视频免费观看一区 | 久久男人网 | aaa亚洲精品 | 久久香蕉综合 | 成人xvideos免费视频 | 欧美色图五月天 | 日韩一区二区三区在线视频 | 亚洲女成人图区 | 中文字幕日韩三级 | 草草视频在线 | 日韩综合一区二区三区 | 香蕉视频好色先生 | 国产精品一区二区免费 | 香蕉福利视频 | 国产精品7区 | 一级免费看片 | 九色91蝌蚪 | 天天操免费视频 | 午夜视| 亚洲天堂社区 | 在线观看国产小视频 | 欧美在线视频免费 | 中文字幕日韩免费 | 亚洲精品在线观 | 亚洲视频七区 | 草久久免费视频 | 久久艹精品视频 | 波多野结衣中文字幕一区二区三区 | 五月丁香花 | 亚洲高清在线 | 一区二区免费在线观看 | 成人高潮片免费视频 | 亚洲天堂男人av | 星空大象在线观看免费播放 | 亚洲黄色小说网址 | 91老司机在线视频 | 成人av夸克网址 | 日韩一级av毛片 | 久久久久久在线观看 | 新狠狠干 | 亚洲区 欧美区 | 夜夜操夜夜干 | 性做久久 | 国产欧美在线 | 中文字幕在线观看的网站 | 亚洲黄业 | 亚洲免费在线 | 99热在线免费观看 | 国产你懂的 | 操网站 | 亚洲精品自拍视频 | 91亚洲精华国产精华精华液 | 日韩午夜视频在线观看 | 日本黄网站在线观看 | 冲田杏梨一区二区三区 | 国产1区在线 | 国产娇小性色xxxxx视频 | 高清视频在线免费观看 | 日本高清视频在线 | 国产精品色 | 午夜天堂在线 | 亚洲一区欧美二区 | 一区二区三区在线播放 | 亚洲成年网| 奴色虐av一区二区三区 | 一级片大全 | 在线亚洲天堂 | 亚洲精品国产第一综合99久久 | 91黄免费 | 超碰66| 五月色婷 | 全黄一级裸体片 | 日韩在线视频播放 | 精品国产一二区 | 五月天丁香网 | 成人一级片 | 午夜免费毛片 | 成人免费毛片aaaaaa片 | 午夜精品在线 | 国产91久久久久 | 成人一级免费视频 | 99久久99| 欧美另类一区二区 | 欧美一级淫片免费视频黄 | 狠狠躁天天躁夜夜添人人 | 午夜精品一区二区三区在线播放 | 成人羞羞国产免费动态 | 日韩欧美在线一区二区 | 亚洲一区二区三区中文字幕 | 亚洲日本在线观看视频 | 欧美一级爆毛片 | 亚洲一区二区福利 | 91av在线视频播放 | 99re久久精品国产 | 在线观看国产精品入口男同 | 欧美激情免费 | 91精品国产高清一区二区三密臀 | 爱爱短视频 | 国产精品视频久久久久久 | 欧美八区 | 欧美日本黄色 | 欧美一区二区三区在线 | 日本一区二区三区四区视频 | 国产日产久久高清欧美一区 | 亚洲v日韩v综合v精品v | 亚洲 日本 欧美 中文幕 | 国产精品初高中害羞小美女文 | 精品国产乱码久久久久久闺蜜 | 粗大黑人巨茎大战欧美成人免费看 | 狠狠搞视频 | 欧美爱爱网站 | 亚洲天堂2013 | av网站在线观看免费 | 在线观看国产精品入口男同 | 日韩激情影院 | 色视频免费观看 | 天天干天天操天天干 | 一区二区三区中文字幕 | 国产成人资源 | 亚洲精品国产二区 | 看av在线 | 亚洲国产精品午夜久久久 | www99re| 亚洲国产视频一区二区三区 | 黄色一级大片在线免费看国产一 | 91视频国产高清 | 毛片毛片毛片毛片毛片毛片毛片 | 国产又猛又粗 | 筱田优全部av免费观看 | 亚洲精品国产精华 | 香蕉网色 | 天堂在线一区 | 狠狠香蕉 | 五月婷婷丁香综合 | 久久国产综合 | 欧美人与动物xxxx | 四虎网址在线观看 | 俄罗斯videodesxo极品 | 亚洲欧美日韩一区 | 欧美日b视频 | 国产成人精品网 | 69网站在线观看 | 久久国产精品精品国产色婷婷 | 丁香婷婷色 | 中文字幕7 | 极品美女啪啪 | 国产精品自拍视频一区 | chinese精品自拍hd | 亚洲涩综合 | 好吊色网站 | 国产淫视频 | 波多野结衣在线播放视频 | 91手机视频在线观看 | 亚洲欧美日韩另类 | 中文字幕在线日韩 | 亚洲一区色图 | 中国精品久久 | 国产精品99视频 | 日日爽夜夜 | 精品一区二区三区免费 | 亚洲三级在线 | 宅男噜噜噜一区二区三区 | 麻豆一区二区三区四区 | 黄在线免费观看 | 久久久久久69 | 欧美色图一区二区三区 | 亚洲国产清纯 | 亚洲一页 | 日夜夜操 | 宅男噜噜66国产精品观看 | 亚洲永久精品在线观看 | 国产 日韩 欧美 成人 | 亚洲精品成 | 日本黄色免费网址 | 国产精品国产一区二区三区四区 | 成人国产网站 | 精品国产一级片 | 午夜在线成人 | 88av在线播放 | 国产激情一区二区三区 | 成人做爰9片免费视频 | 一级黄色国产片 | 黄色网页在线看 | 国产欧美在线视频 | 久久久在线免费观看 | 夜夜se | 日本午夜免费 | 91成人福利 | 最新视频–x99av | 国产真人毛片 | 男人的天堂a在线 | 日日草夜夜操 | 欧美成人dvd在线视频 | 国产18页 | 一区二区三区欧美在线观看 | 香蕉网站视频 | 国产精品美女啪啪 | 中文字幕在线观看不卡视频 | 北条麻妃99精品青青久久 | 久久久久久黄 | av网站导航 | 日在线视频 | 国产一区免费视频 | 青青青草视频在线 | 亚洲视频八区 | 日韩最新视频 | 最新毛片基地 | 久久久97| 日本a级在线| 亚洲成人精品久久 | 日韩 欧美 精品 | 国产精品300页 | www.爱爱.com| 91超级碰| 亚洲图片 欧美 | 1024精品一区二区三区日韩 | 成年人在线免费看 | 99成人在线视频 | 亚洲国产成人精品视频 | 全黄一级男人和女人 | 成人av网址在线观看 | 公肉吊粗大爽色翁浪妇视频 | 亚洲二区在线视频 | 国产午夜小视频 | 免费黄在线 | 国产欧美高清视频 | 亚洲成人av网址 | 志在出位国语完整在线观看 | 久久精品99国产精品日本 | 久久久久亚洲精品男人的天堂 | 91麻豆精品91久久久久同性 | 久久咪咪| 美日韩一区二区三区 | 99热99色 | 午夜影院免费观看 | 真实亲伦对白清晰在线播放 | 久久久久久久久久免费视频 | 天天综合av | 欧美日韩精品一区二区三区 | 欧美大片免费在线观看 | av一级在线观看 | √天堂资源地址在线官网 | 午夜播放| 日韩美女久久 | 国产精品久久久久久网站 | 插插射射| www.天天操.com | 老鸭窝久久 | 黄色片一区二区三区 | 一级片免费 | 欧美天天 | 国产黄色www | 97超碰人人模人人人爽人人爱 | 91网站视频在线观看 | 精品成人在线视频 | 青青久在线| 国产精品久久久久永久免费 | 91av精品| 国产又爽又黄的视频 | 欧美一本 | 亚洲伦理网站 | 国产草草影院ccyycom | av永久网站 | 成人免费视频一区二区 | 青草操 | 男人的天堂黄色 | 午夜999 | 久久图库| 日本中出视频 | 哺乳喂奶一二三区乳 | 国产 日韩 欧美 在线 | 天天视频色 | gogogo日本免费观看电视动漫 | 青草视频污 | 在线观看视频免费 | 91成人在线观看高潮 | 日韩中文字幕一区二区三区 | 国产精品久久久久久久久久久久午夜 | 欧美一级欧美三级在线观看 | www.欧美精品 | 4438五月天| 在线视频天堂 | 日日日插插插 | 国产不卡av在线 | 无套暴操| 中文在线字幕av | 20日本xxxxxxxxx46 亚洲欧洲在线播放 | 韩国精品视频一区 | 亚洲图欧美| 国产午夜视频在线 | 秋霞毛片少妇激情免费 | xxxx国产片 | 精品国产视频在线 | 国产一区二区三区免费观看 | 超碰97人人在线 | av88av | 四虎影院在线观看免费 | 大桥未久视频在线观看 | 日韩视频免费观看 | 青青草免费观看视频 | 欧洲毛片 | 四虎永久免费影院 | 国产精品一区二区综合 | 欧美黄色一区 | 成年人网站在线 | 在线视频福利 | 亚洲综合一 | 亚洲永久在线观看 | 青青草55 | 国产a久久| 久久久久综合 | 国产伊人av | 欧美大片一区 | 激情五月婷婷网 | 可以看的av网址 | 日韩专区视频 | 国产真实交换夫妇视频 | 在线精品视频免费观看 | 老司机福利精品 | 欧美一区二区三区在线播放 | www.五月激情 | 91激情网 | 九九热在线免费观看 | 欧美亚洲激情视频 | 男女做的视频 | 按摩ⅹxxx性hd中国 | 成人精品福利视频 | 亚洲精品久久久蜜桃动漫 | 特级毛片爽www免费版 | 亚洲精品国产欧美 | av免费看在线 | 九九在线精品 | 午夜精品视频在线观看 | 国产精品系列视频 | 另类天堂网 | 超碰麻豆 | 欧美激情动态图 | 岛国一区二区三区 | 国产一二三级 | 色肉色伦交av色肉色伦 | 日本精品国产 | 干操网| a毛片在线观看 | 日韩在线视频中文字幕 | 美女一区| 国语对白av| 99久久99热这里只有精品 | 手机看片亚洲 | 午夜av在线免费观看 | 国产99在线观看 | 欧美人妖乱大交 | 黄色片视频在线观看免费 | 欧美bbbbbbbbbbbb18av | www.激情五月.com| 亚洲视频一区在线观看 | 伊人av在线 | 青青草原国产在线观看 | 亚洲美女网站在线观看 | 国产福利第一视频 | 国产精品三级在线 | 黄色成年人网站 | 亚洲激情av | 国产区福利 | 爆操网站 | 一区二区在线视频播放 | 欧美日本国产 | 午夜视频h| 另类一区 | 在线高清观看免费 | 爱操视频 | 国产在线精品成人免费怡红院 | а√中文在线资源库 | 国产精品成人免费一区久久羞羞 | xx99小雪 | 久久亚洲成人av | 亚洲第一男人天堂 | 国产精品一品二区三区的使用体验 | wwwxxxx日本 | 午夜宅男网 | 精品欧美久久 | 精品国产一区二 | 黄色com | 一区视频免费在线观看 | 亚洲最大色网站 | 日韩操操操 | 欧美日韩国产第一页 | 久久综合加勒比 | 伊人一区| 日本免费色 | www欧美日韩 | 欧美高h| 国产日本在线 | 香蕉视频黄色在线观看 | 天天躁日日躁aaaa视频 | 一节黄色片 | av777777| 先锋资源一区 | 91精品久久久久久久久久入口 | 国产无套精品一区二区 | av男人的天堂网 | 久久国产精品免费视频 | 又湿又紧又大又爽a视频国产 | 99热欧美| 伊人网综合在线 | 色播视频在线播放 | 国产人久久人人人人爽 | 黄色成人免费网站 | 蜜桃av一区 | 日本a级大片| 蕾丝视频污 | 手机看片日本 | 最近最好的2019中文 | 天天操夜夜爱 | 成人六区| 色婷婷视频| 久久国产精品偷 | 在线成人毛片 | 污视频网站入口 | 天堂在线网 | 精品久久网 | 亚洲精品成人在线视频 | 免费黄色成人 | 亚洲成人中文字幕在线 | a视频在线 | 国产一级淫片免费 | 色婷婷欧美 | 香蕉久| 91欧美日韩麻豆精品 | 91成人在线网站 | 99xav| wwwxxx在线播放 | 快射天堂网 | 天天综合天天 | 九九精品久久 | 天堂视频在线 | 一级黄色片免费看 | 成人爽爽视频 | 91色在线观看 | 青娱乐久久 | 中日韩在线 | 四虎永久在线精品 | 狠狠2020 | 色婷婷视频在线 | 麻豆成人在线 | 国产一二三四在线 | 欧美大片黄 | 天堂网av在线播放 | 亚洲丁香婷婷 | 91成人激情 | 日韩高清av在线 | 狠狠躁夜夜躁人人爽视频 | 国产美女极度色诱视频www | 亚洲天堂自拍 | 婷婷av一区二区三区 | 亚洲视频一二三 | 一区二三国产好的精华液视频 | www.中文字幕av| 第一色影院 | 精品美女一区二区三区 | 国产精品嫩草久久久久 | 久久人成 | 国产精品精品 | 红桃视频成人 | 美女视频黄色 | 小视频在线观看 | 超碰精品在线观看 | 欧洲亚洲一区二区三区 | 精品在线免费观看视频 | 97干干| 亚洲 欧美 成人 | 成人福利午夜 | 久久久久久网址 | 又湿又紧又大又爽a视频国产 | 国产精品久久久久永久免费 | 乐播av一区二区三区 | 欧美一级淫片007 | 一区二区在线视频播放 | 天堂а√在线最新版中文在线 | 国产精品视频一区二区三区不卡 | 国产精品久久久久av | 国产精品久久久久久久久久妞妞 | 免费毛片在线 | 中文字幕线人 | 伊人影院在线视频 | 国产精品久久影院 | 日韩精品少妇 | 一本视频在线 | 亚洲视频一二三区 | 国产精品suv一区二区69 | 成人一级片在线观看 | 久久亚洲国产成人精品性色 | 欧美成人免费观看 | 国产成人亚洲欧洲在线 | 成人一二三 | 性刺激网站 | 美女日批网站 | 在线视频久久 | 成人综合影院 | 国产原创精品 | 精品视频在线一区 | 亚洲最大免费视频 | 欧美视频a | 亚洲爱v | 欧美精品在线播放 | www,色| 久久综合激情 | 欧美日视频 | 国产一页 | 免费一级片在线观看 | 亚洲狼人av | 日本一区二区精品视频 | 黑人巨大精品欧美一区免费视频 | 91成人综合 | 国产精品伦一区二区 | 亚洲国产成人一区二区精品区 | 91超碰在线免费观看 | 成人综合网址 | 伊人蕉久影院 | 337p亚洲精品色噜噜狠狠 | 嫩操影院 | 特级av | 欧美成人免费网站 | av最新| 久久免费成人 | 性色视频 | 欧美日本久久 | 婷婷免费视频 | 可以免费看毛片的网站 | 一级性生活黄色片 | av特黄 | 欧美综合激情 | 人人爱av| 97超碰在线资源 | 久久911 | 国产一区在线播放 | 天堂网在线看 | 狠狠撸狠狠干 | 日韩大片在线观看 | 亚洲黄色在线看 | 美女黄色免费网站 | 午夜诱惑痒痒网 | 国产在线伊人 | 麻豆精品国产传媒av绿帽社 | av免费在线观看网址 | 日本一级三级三级三级 | 91香蕉久久| 日韩1页| 男女免费看 | 亚洲一区 国产 | 影音先锋91 | 天堂网在线观看视频 | 亚洲成人精品一区 | 久久精品亚洲 | 午夜精品视频 | www.亚洲国产 | 在线午夜av| 青青国产视频 | 久久精品国产亚洲沈樵 | 日韩国产免费 | 一区二区三区精品在线观看 | 亚洲最大免费视频 | 99精品热视频 | 国产区在线观看视频 | 狠狠操综合 | 日本黄网站在线观看 |