日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

spi收发时的寄存器sr不变_「正点原子Linux连载」第二十七章SPI实验(二)

發(fā)布時(shí)間:2023/12/9 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spi收发时的寄存器sr不变_「正点原子Linux连载」第二十七章SPI实验(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1)實(shí)驗(yàn)平臺(tái):正點(diǎn)原子Linux開發(fā)板

2)摘自《正點(diǎn)原子I.MX6U嵌入式Linux驅(qū)動(dòng)開發(fā)指南

關(guān)注官方微信號(hào)公眾號(hào),獲取更多資料:正點(diǎn)原子

文件bsp_spi.c中有兩個(gè)函數(shù):spi_init和spich0_readwrite_byte,函數(shù)spi_init是SPI初始化函數(shù),此函數(shù)會(huì)初始化SPI的時(shí)鐘,通道等。函數(shù)spich0_readwrite_byte是SPI收發(fā)函數(shù),通過此函數(shù)即可完成SPI的全雙工數(shù)據(jù)收發(fā)。

接下來在文件bsp_icm20608.h中輸入如下內(nèi)容:

示例代碼27.3.3 bsp_icm20608.h文件代碼

1 #ifndef _BSP_ICM20608_H

2 #define _BSP_ICM20608_H

3/***************************************************************

4 Copyright ? zuozhongkai Co., Ltd. 1998-2019. All rights reserved.

5 文件名 : bsp_icm20608.h

6 作者 : 左忠凱

7 版本 : V1.0

8 描述 : ICM20608驅(qū)動(dòng)文件。

9 其他 : 無

10 論壇 : www.openedv.com

11 日志 : 初版V1.0 2019/3/26 左忠凱創(chuàng)建

12 ***************************************************************/

13 #include "imx6ul.h"

14 #include "bsp_gpio.h"

15

16/* SPI片選信號(hào) */

17 #define ICM20608_CSN(n)(n ? gpio_pinwrite(GPIO1,20,1):

gpio_pinwrite(GPIO1,20,0))

18

19 #define ICM20608G_ID 0XAF/* ID值 */

20 #define ICM20608D_ID 0XAE/* ID值 */

21

22/* ICM20608寄存器

23 *復(fù)位后所有寄存器地址都為0,除了

24 *Register 107(0X6B) Power Management 1 = 0x40

25 *Register 117(0X75) WHO_AM_I = 0xAF或者0xAE

26 */

27/* 陀螺儀和加速度自測(cè)(出產(chǎn)時(shí)設(shè)置,用于與用戶的自檢輸出值比較) */

28 #define ICM20_SELF_TEST_X_GYRO 0x00

29 #define ICM20_SELF_TEST_Y_GYRO 0x01

30 #define ICM20_SELF_TEST_Z_GYRO 0x02

31 #define ICM20_SELF_TEST_X_ACCEL 0x0D

32 #define ICM20_SELF_TEST_Y_ACCEL 0x0E

33 #define ICM20_SELF_TEST_Z_ACCEL 0x0F

34/***********省略掉其他宏定義*************/

35 #define ICM20_ZA_OFFSET_H 0x7D

36 #define ICM20_ZA_OFFSET_L 0x7E

37

38/*

39 * ICM20608結(jié)構(gòu)體

40 */

41struct icm20608_dev_struc

42{

43 signedint gyro_x_adc; /* 陀螺儀X軸原始值 */

44 signedint gyro_y_adc; /* 陀螺儀Y軸原始值 */

45 signedint gyro_z_adc; /* 陀螺儀Z軸原始值 */

46 signedint accel_x_adc; /* 加速度計(jì)X軸原始值 */

47 signedint accel_y_adc; /* 加速度計(jì)Y軸原始值 */

48 signedint accel_z_adc; /* 加速度計(jì)Z軸原始值 */

49 signedint temp_adc; /* 溫度原始值 */

50

51 /* 下面是計(jì)算得到的實(shí)際值,擴(kuò)大100倍 */

52 signedint gyro_x_act; /* 陀螺儀X軸實(shí)際值 */

53 signedint gyro_y_act; /* 陀螺儀Y軸實(shí)際值 */

54 signedint gyro_z_act; /* 陀螺儀Z軸實(shí)際值 */

55 signedint accel_x_act; /* 加速度計(jì)X軸實(shí)際值 */

56 signedint accel_y_act; /* 加速度計(jì)Y軸實(shí)際值 */

57 signedint accel_z_act; /* 加速度計(jì)Z軸實(shí)際值 */

58 signedint temp_act; /* 溫度實(shí)際值 */

59};

60

61struct icm20608_dev_struc icm20608_dev;/* icm20608設(shè)備 */

62

63/* 函數(shù)聲明 */

64unsignedchar icm20608_init(void);

65void icm20608_write_reg(unsignedchar reg,unsignedchar value);

66unsignedchar icm20608_read_reg(unsignedchar reg);

67void icm20608_read_len(unsignedchar reg,unsignedchar*buf,

unsignedchar len);

68void icm20608_getdata(void);

69 #endif

文件bsp_icm20608.h里面先定義了一個(gè)宏ICM20608_CSN,這個(gè)是ICM20608的SPI片選引腳。接下來定義了一些ICM20608的ID和寄存器地址。第41行定義了一個(gè)結(jié)構(gòu)體icm20608_dev_struc,這個(gè)結(jié)構(gòu)體是ICM20608的設(shè)備結(jié)構(gòu)體,里面的成員變量用來保存ICM20608的原始數(shù)據(jù)值和經(jīng)過轉(zhuǎn)換得到的實(shí)際值。實(shí)際值是有小數(shù)的,本章例程取兩位小數(shù),為了方便計(jì)算,實(shí)際值擴(kuò)大了100倍,這樣實(shí)際值就是整數(shù)了,但是在使用的時(shí)候要除100重新得到小數(shù)部分。最后就是一些函數(shù)聲明,接下來在文件bsp_icm20608.c中輸入如下所示內(nèi)容:

示例代碼27.3.4 bsp_icm20608.c文件代碼

/***************************************************************

Copyright ? zuozhongkai Co., Ltd. 1998-2019. All rights reserved.

文件名 : bsp_icm20608.c

作者 : 左忠凱

版本 : V1.0

描述 : ICM20608驅(qū)動(dòng)文件。

其他 : 無

論壇 : www.openedv.com

日志 : 初版V1.0 2019/3/26 左忠凱創(chuàng)建

***************************************************************/

1 #include "bsp_icm20608.h"

2 #include "bsp_delay.h"

3 #include "bsp_spi.h"

4 #include "stdio.h"

5

6struct icm20608_dev_struc icm20608_dev;/* icm20608設(shè)備 */

7

8/*

9 * @description : 初始化ICM20608

10 * @param : 無

11 * @return : 0 初始化成功,其他值初始化失敗

12 */

13unsignedchar icm20608_init(void)

14{

15unsignedchar regvalue;

16 gpio_pin_config_t cs_config;

17

18/* 1、ESPI3 IO初始化

19 * ECSPI3_SCLK -> UART2_RXD

20 * ECSPI3_MISO -> UART2_RTS

21 * ECSPI3_MOSI -> UART2_CTS

22 */

23 IOMUXC_SetPinMux(IOMUXC_UART2_RX_DATA_ECSPI3_SCLK,0);

24 IOMUXC_SetPinMux(IOMUXC_UART2_CTS_B_ECSPI3_MOSI,0);

25 IOMUXC_SetPinMux(IOMUXC_UART2_RTS_B_ECSPI3_MISO,0);

26 IOMUXC_SetPinConfig(IOMUXC_UART2_RX_DATA_ECSPI3_SCLK,0x10B1);

27 IOMUXC_SetPinConfig(IOMUXC_UART2_CTS_B_ECSPI3_MOSI,0x10B1);

28 IOMUXC_SetPinConfig(IOMUXC_UART2_RTS_B_ECSPI3_MISO,0x10B1);

29

30/* 初始化片選引腳 */

31 IOMUXC_SetPinMux(IOMUXC_UART2_TX_DATA_GPIO1_IO20,0);

32 IOMUXC_SetPinConfig(IOMUXC_UART2_TX_DATA_GPIO1_IO20,0X10B0);

33 cs_config.direction = kGPIO_DigitalOutput;

34 cs_config.outputLogic =0;

35 gpio_init(GPIO1,20,&cs_config);

36

37/* 2、初始化SPI */

38 spi_init(ECSPI3);

39

40 icm20608_write_reg(ICM20_PWR_MGMT_1,0x80);/* 復(fù)位 */

41 delayms(50);

42 icm20608_write_reg(ICM20_PWR_MGMT_1,0x01);/* 關(guān)閉睡眠 */

43 delayms(50);

44

45 regvalue = icm20608_read_reg(ICM20_WHO_AM_I);

46 printf("icm20608 id = %#X", regvalue);

47if(regvalue != ICM20608G_ID && regvalue != ICM20608D_ID)

48return1;

49

50 icm20608_write_reg(ICM20_SMPLRT_DIV,0x00); /* 輸出速率設(shè)置 */

51 icm20608_write_reg(ICM20_GYRO_CONFIG,0x18);/* 陀螺儀±2000dps */

52 icm20608_write_reg(ICM20_ACCEL_CONFIG,0x18);/* 加速度計(jì)±16G */

53 icm20608_write_reg(ICM20_CONFIG,0x04);/* 陀螺BW=20Hz */

54 icm20608_write_reg(ICM20_ACCEL_CONFIG2,0x04);

55 icm20608_write_reg(ICM20_PWR_MGMT_2,0x00);/* 打開所有軸 */

56 icm20608_write_reg(ICM20_LP_MODE_CFG,0x00);/* 關(guān)閉低功耗 */

57 icm20608_write_reg(ICM20_FIFO_EN,0x00); /* 關(guān)閉FIFO */

58return0;

59}

60

61/*

62 * @description : 寫ICM20608指定寄存器

63 * @param - reg : 要讀取的寄存器地址

64 * @param – value : 要寫入的值

65 * @return : 無

66 */

67void icm20608_write_reg(unsignedchar reg,unsignedchar value)

68{

69/* ICM20608在使用SPI接口的時(shí)候寄存器地址只有低7位有效,

70 * 寄存器地址最高位是讀/寫標(biāo)志位,讀的時(shí)候要為1,寫的時(shí)候要為0。

71 */

72 reg &=~0X80;

73

74 ICM20608_CSN(0); /* 使能SPI傳輸 */

75 spich0_readwrite_byte(ECSPI3, reg); /* 發(fā)送寄存器地址 */

76 spich0_readwrite_byte(ECSPI3, value); /* 發(fā)送要寫入的值 */

77 ICM20608_CSN(1); /* 禁止SPI傳輸 */

78}

79

80/*

81 * @description : 讀取ICM20608寄存器值

82 * @param - reg : 要讀取的寄存器地址

83 * @return : 讀取到的寄存器值

84 */

85unsignedchar icm20608_read_reg(unsignedchar reg)

86{

87unsignedchar reg_val;

88

89/* ICM20608在使用SPI接口的時(shí)候寄存器地址只有低7位有效,

90 * 寄存器地址最高位是讀/寫標(biāo)志位,讀的時(shí)候要為1,寫的時(shí)候要為0。

91 */

92 reg |=0x80;

93

94 ICM20608_CSN(0); /* 使能SPI傳輸 */

95 spich0_readwrite_byte(ECSPI3, reg); /* 發(fā)送寄存器地址 */

96 reg_val = spich0_readwrite_byte(ECSPI3,0XFF);/* 讀取寄存器的值*/

97 ICM20608_CSN(1); /* 禁止SPI傳輸 */

98return(reg_val); /* 返回讀取到的寄存器值 */

99}

100

101/*

102 * @description : 讀取ICM20608連續(xù)多個(gè)寄存器

103 * @param - reg : 要讀取的寄存器地址

104 * @return : 讀取到的寄存器值

105 */

106void icm20608_read_len(unsignedchar reg,unsignedchar*buf,

unsignedchar len)

107{

108unsignedchar i;

109

110/* ICM20608在使用SPI接口的時(shí)候寄存器地址,只有低7位有效,

111 * 寄存器地址最高位是讀/寫標(biāo)志位讀的時(shí)候要為1,寫的時(shí)候要為0。

112 */

113 reg |=0x80;

114

115 ICM20608_CSN(0);/* 使能SPI傳輸 */

116 spich0_readwrite_byte(ECSPI3, reg);/* 發(fā)送寄存器地址 */

117for(i =0; i < len; i++)/* 順序讀取寄存器的值 */

118{

119 buf[i]= spich0_readwrite_byte(ECSPI3,0XFF);

120}

121 ICM20608_CSN(1);/* 禁止SPI傳輸 */

122}

123

124/*

125 * @description : 獲取陀螺儀的分辨率

126 * @param : 無

127 * @return : 獲取到的分辨率

128 */

129float icm20608_gyro_scaleget(void)

130{

131unsignedchar data;

132float gyroscale;

133

134 data =(icm20608_read_reg(ICM20_GYRO_CONFIG)>>3)&0X3;

135switch(data){

136case0:

137 gyroscale =131;

138break;

139case1:

140 gyroscale =65.5;

141break;

142case2:

143 gyroscale =32.8;

144break;

145case3:

146 gyroscale =16.4;

147break;

148}

149return gyroscale;

150}

151

152/*

153 * @description : 獲取加速度計(jì)的分辨率

154 * @param : 無

155 * @return : 獲取到的分辨率

156 */

157unsignedshort icm20608_accel_scaleget(void)

158{

159unsignedchar data;

160unsignedshort accelscale;

161

162 data =(icm20608_read_reg(ICM20_ACCEL_CONFIG)>>3)&0X3;

163switch(data){

164case0:

165 accelscale =16384;

166break;

167case1:

168 accelscale =8192;

169break;

170case2:

171 accelscale =4096;

172break;

173case3:

174 accelscale =2048;

175break;

176}

177return accelscale;

178}

179

180/*

181 * @description : 讀取ICM20608的加速度、陀螺儀和溫度原始值

182 * @param : 無

183 * @return : 無

184 */

185void icm20608_getdata(void)

186{

187float gyroscale;

188unsignedshort accescale;

189unsignedchar data[14];

190

191 icm20608_read_len(ICM20_ACCEL_XOUT_H, data,14);

192

193 gyroscale = icm20608_gyro_scaleget();

194 accescale = icm20608_accel_scaleget();

195

196 icm20608_dev.accel_x_adc =(signedshort)((data[0]<<8)|

data[1]);

197 icm20608_dev.accel_y_adc =(signedshort)((data[2]<<8)|

data[3]);

198 icm20608_dev.accel_z_adc =(signedshort)((data[4]<<8)|

data[5]);

199 icm20608_dev.temp_adc =(signedshort)((data[6]<<8)|

data[7]);

200 icm20608_dev.gyro_x_adc =(signedshort)((data[8]<<8)|

data[9]);

201 icm20608_dev.gyro_y_adc =(signedshort)((data[10]<<8)|

data[11]);

202 icm20608_dev.gyro_z_adc =(signedshort)((data[12]<<8)|

data[13]);

203

204/* 計(jì)算實(shí)際值 */

205 icm20608_dev.gyro_x_act =((float)(icm20608_dev.gyro_x_adc)/

gyroscale)*100;

206 icm20608_dev.gyro_y_act =((float)(icm20608_dev.gyro_y_adc)/

gyroscale)*100;

207 icm20608_dev.gyro_z_act =((float)(icm20608_dev.gyro_z_adc)/

gyroscale)*100;

208 icm20608_dev.accel_x_act =((float)(icm20608_dev.accel_x_adc)/

accescale)*100;

209 icm20608_dev.accel_y_act =((float)(icm20608_dev.accel_y_adc)/

accescale)*100;

210 icm20608_dev.accel_z_act =((float)(icm20608_dev.accel_z_adc)/

accescale)*100;

211 icm20608_dev.temp_act =(((float)(icm20608_dev.temp_adc)-25)/

326.8+25)*100;

212}

文件bsp_imc20608.c是ICM20608的驅(qū)動(dòng)文件,里面有7個(gè)函數(shù),我們依次來看一下。第1個(gè)函數(shù)是icm20608_init,這個(gè)是ICM20608的初始化函數(shù),此函數(shù)先初始化ICM20608所使用的SPI引腳,將其復(fù)用為ECSPI3。因?yàn)槲覀儽菊碌腟PI片選采用軟件控制的方式,所以SPI片選引腳設(shè)置成了普通的輸出模式。設(shè)置完SPI所使用的引腳以后就是調(diào)用函數(shù)spi_init來初始化SPI3,最后初始化ICM20608,就是配置ICM20608的寄存器。第2個(gè)和第3個(gè)函數(shù)分別是icm20608_write_reg和icm20608_read_reg,這兩個(gè)函數(shù)分別用于寫/讀ICM20608的指定寄存器。第4個(gè)函數(shù)是icm20608_read_len,此函數(shù)也是讀取ICM20608的寄存器值,但是此函數(shù)可以讀取連續(xù)多個(gè)寄存器的值,一般用于讀取ICM20608傳感器數(shù)據(jù)。第5和第6個(gè)函數(shù)分別是icm20608_gyro_scaleget和icm20608_accel_scaleget,這兩個(gè)函數(shù)分別用于獲取陀螺儀和加速度計(jì)的分辨率,因?yàn)橥勇輧x和加速度的測(cè)量范圍設(shè)置的不同,其分辨率就不同,所以在計(jì)算實(shí)際值的時(shí)候要根據(jù)實(shí)際的量程范圍來得到對(duì)應(yīng)的分辨率。最后一個(gè)函數(shù)是icm20608_getdata,此函數(shù)就是用于獲取ICM20608的加速度計(jì)、陀螺儀和溫度計(jì)的數(shù)據(jù),并且會(huì)根據(jù)設(shè)置的測(cè)量范圍計(jì)算出實(shí)際的值,比如加速度的g值、陀螺儀的角速度值和溫度計(jì)的溫度值。

最后在main.c中輸入如下內(nèi)容:

示例代碼27.3.5 main.c文件代碼

/**************************************************************

Copyright ? zuozhongkai Co., Ltd. 1998-2019. All rights reserved.

文件名 : mian.c

作者 : 左忠凱

版本 : V1.0

描述 : I.MX6U開發(fā)板裸機(jī)實(shí)驗(yàn)19 SPI實(shí)驗(yàn)

其他 : SPI也是最常用的接口,ALPHA開發(fā)板上有一個(gè)6軸傳感器ICM20608,

這個(gè)六軸傳感器就是SPI接口的,本實(shí)驗(yàn)就來學(xué)習(xí)如何驅(qū)動(dòng)I.MX6U

的SPI接口,并且通過SPI接口讀取ICM20608的數(shù)據(jù)值。

論壇 : www.openedv.com

日志 : 初版V1.0 2019/1/17 左忠凱創(chuàng)建

**************************************************************/

1 #include "bsp_clk.h"

2 #include "bsp_delay.h"

3 #include "bsp_led.h"

4 #include "bsp_beep.h"

5 #include "bsp_key.h"

6 #include "bsp_int.h"

7 #include "bsp_uart.h"

8 #include "bsp_lcd.h"

9 #include "bsp_rtc.h"

10 #include "bsp_icm20608.h"

11 #include "bsp_spi.h"

12 #include "stdio.h"

13

14/*

15 * @description : 指定的位置顯示整數(shù)數(shù)據(jù)

16 * @param - x : X軸位置

17 * @param - y : Y軸位置

18 * @param – size : 字體大小

19 * @param - num : 要顯示的數(shù)據(jù)

20 * @return : 無

21 */

22void integer_display(unsignedshort x,unsignedshort y,

unsignedchar size,signedint num)

23{

24char buf[200];

25

26 lcd_fill(x, y, x +50, y + size, tftlcd_dev.backcolor);

27

28 memset(buf,0,sizeof(buf));

29if(num <0)

30 sprintf(buf,"-%d",-num);

31else

32 sprintf(buf,"%d", num);

33 lcd_show_string(x, y,50, size, size, buf);

34}

35

36/*

37 * @description : 指定的位置顯示小數(shù)數(shù)據(jù),比如5123,顯示為51.23

38 * @param - x : X軸位置

39 * @param - y : Y軸位置

40 * @param – size : 字體大小

41 * @param - num : 要顯示的數(shù)據(jù),實(shí)際小數(shù)擴(kuò)大100倍,

42 * @return : 無

43 */

44void decimals_display(unsignedshort x,unsignedshort y,

unsignedchar size,signedint num)

45{

46signedint integ;/* 整數(shù)部分 */

47signedint fract;/* 小數(shù)部分 */

48signedint uncomptemp = num;

49char buf[200];

50

51if(num <0)

52 uncomptemp =-uncomptemp;

53 integ = uncomptemp /100;

54 fract = uncomptemp %100;

55

56 memset(buf,0,sizeof(buf));

57if(num <0)

58 sprintf(buf,"-%d.%d", integ, fract);

59else

60 sprintf(buf,"%d.%d", integ, fract);

61 lcd_fill(x, y, x +60, y + size, tftlcd_dev.backcolor);

62 lcd_show_string(x, y,60, size, size, buf);

63}

64

65/*

66 * @description : 使能I.MX6U的硬件NEON和FPU

67 * @param : 無

68 * @return : 無

69 */

70void imx6ul_hardfpu_enable(void)

71{

72uint32_t cpacr;

73uint32_t fpexc;

74

75/* 使能NEON和FPU */

76 cpacr = __get_CPACR();

77 cpacr =(cpacr &~(CPACR_ASEDIS_Msk | CPACR_D32DIS_Msk))

78|(3UL<< CPACR_cp10_Pos)|(3UL<< CPACR_cp11_Pos);

79 __set_CPACR(cpacr);

80 fpexc = __get_FPEXC();

81 fpexc |=0x40000000UL;

82 __set_FPEXC(fpexc);

83}

84

85/*

86 * @description : main函數(shù)

87 * @param : 無

88 * @return : 無

89 */

90int main(void)

91{

92unsignedchar state = OFF;

93

94 imx6ul_hardfpu_enable(); /* 使能I.MX6U的硬件浮點(diǎn) */

95 int_init(); /* 初始化中斷(一定要最先調(diào)用!) */

96 imx6u_clkinit(); /* 初始化系統(tǒng)時(shí)鐘 */

97 delay_init(); /* 初始化延時(shí) */

98 clk_enable(); /* 使能所有的時(shí)鐘 */

99 led_init(); /* 初始化led */

100 beep_init(); /* 初始化beep */

101 uart_init(); /* 初始化串口,波特率115200 */

102 lcd_init(); /* 初始化LCD */

103

104 tftlcd_dev.forecolor = LCD_RED;

105 lcd_show_string(50,10,400,24,24,

(char*)"IMX6U-ALPHA SPI TEST");

106 lcd_show_string(50,40,200,16,16,(char*)"ICM20608 TEST");

107 lcd_show_string(50,60,200,16,16,(char*)"ATOM@ALIENTEK");

108 lcd_show_string(50,80,200,16,16,(char*)"2019/3/27");

109

110while(icm20608_init()) /* 初始化ICM20608 */

111{

112 lcd_show_string(50,100,200,16,16,

(char*)"ICM20608 Check Failed!");

113 delayms(500);

114 lcd_show_string(50,100,200,16,16,

(char*)"Please Check! ");

115 delayms(500);

116}

117 lcd_show_string(50,100,200,16,16,(char*)"ICM20608 Ready");

118 lcd_show_string(50,130,200,16,16,(char*)"accel x:");

119 lcd_show_string(50,150,200,16,16,(char*)"accel y:");

120 lcd_show_string(50,170,200,16,16,(char*)"accel z:");

121 lcd_show_string(50,190,200,16,16,(char*)"gyro x:");

122 lcd_show_string(50,210,200,16,16,(char*)"gyro y:");

123 lcd_show_string(50,230,200,16,16,(char*)"gyro z:");

124 lcd_show_string(50,250,200,16,16,(char*)"temp :");

125 lcd_show_string(50+181,130,200,16,16,(char*)"g");

126 lcd_show_string(50+181,150,200,16,16,(char*)"g");

127 lcd_show_string(50+181,170,200,16,16,(char*)"g");

128 lcd_show_string(50+181,190,200,16,16,(char*)"o/s");

129 lcd_show_string(50+181,210,200,16,16,(char*)"o/s");

130 lcd_show_string(50+181,230,200,16,16,(char*)"o/s");

131 lcd_show_string(50+181,250,200,16,16,(char*)"C");

132

133 tftlcd_dev.forecolor = LCD_BLUE;

134

135while(1)

136{

137 icm20608_getdata();/* 獲取數(shù)據(jù)值 */

138/* 在LCD上顯示原始值 */

139 integer_display(50+70,130,16, icm20608_dev.accel_x_adc);

140 integer_display(50+70,150,16, icm20608_dev.accel_y_adc);

141 integer_display(50+70,170,16, icm20608_dev.accel_z_adc);

142 integer_display(50+70,190,16, icm20608_dev.gyro_x_adc);

143 integer_display(50+70,210,16, icm20608_dev.gyro_y_adc);

144 integer_display(50+70,230,16, icm20608_dev.gyro_z_adc);

145 integer_display(50+70,250,16, icm20608_dev.temp_adc);

146

147/* 在LCD上顯示計(jì)算得到的原始值 */

148 decimals_display(50+70+50,130,16,

icm20608_dev.accel_x_act);

149 decimals_display(50+70+50,150,16,

icm20608_dev.accel_y_act);

150 decimals_display(50+70+50,170,16,

icm20608_dev.accel_z_act);

151 decimals_display(50+70+50,190,16,

icm20608_dev.gyro_x_act);

152 decimals_display(50+70+50,210,16,

icm20608_dev.gyro_y_act);

153 decimals_display(50+70+50,230,16,

icm20608_dev.gyro_z_act);

154 decimals_display(50+70+50,250,16,

icm20608_dev.temp_act);

155 delayms(120);

156 state =!state;

157 led_switch(LED0,state);

158}

159return0;

160}

文件main.c一開始有兩個(gè)函數(shù)integer_display和decimals_display,這兩個(gè)函數(shù)用于在LCD上顯示獲取到的ICM20608數(shù)據(jù)值,函數(shù)integer_display用于顯示原始數(shù)據(jù)值,也就是整數(shù)值。函數(shù)decimals_display用于顯示實(shí)際值,實(shí)際值擴(kuò)大了100倍,此函數(shù)會(huì)提取出實(shí)際值的整數(shù)部分和小數(shù)部分并顯示在LCD上。另一個(gè)重要的函數(shù)是imx6ul_hardfpu_enable,這個(gè)函數(shù)用于開啟I.MX6U的NEON和硬件FPU(浮點(diǎn)運(yùn)算單元),因?yàn)楸菊率褂玫搅烁↑c(diǎn)運(yùn)算,而I.MX6U的Cortex-A7是支持NEON和FPU(VFPV4_D32)的,但是在使用I.MX6U的硬件FPU之前是先要開啟的。

第110行調(diào)用了函數(shù)icm20608_init來初始化ICM20608,如果初始化失敗的話就會(huì)在LCD上閃爍提示語句。最后在main函數(shù)的while循環(huán)中不斷的調(diào)用函數(shù)icm20608_getdata獲取ICM20608的傳感器數(shù)據(jù),并且顯示在LCD上。實(shí)驗(yàn)程序編寫就到這里結(jié)束了,接下來就是編譯、下載和驗(yàn)證了。

27.4編譯下載驗(yàn)證

27.4.1 編寫Makefile和鏈接腳本

修改Makefile中的TARGET為icm20608,然后在在INCDIRS和SRCDIRS中加入“bsp/spi”和“bsp/icm20608”,修改后的Makefile如下:

示例代碼27.4.1.1 Makefile文件代碼

1 CROSS_COMPILE ?= arm-linux-gnueabihf-

2 TARGET ?= icm20608

3

4/* 省略掉其它代碼...... */

5

6 INCDIRS := imx6ul

7 stdio/include

8 bsp/clk

9 bsp/led

10 bsp/delay

11 bsp/beep

12 bsp/gpio

13 bsp/key

14 bsp/exit

15 bsp/int

16 bsp/epittimer

17 bsp/keyfilter

18 bsp/uart

19 bsp/lcd

20 bsp/rtc

21 bsp/i2c

22 bsp/ap3216c

23 bsp/spi

24 bsp/icm20608

25

26 SRCDIRS := project

27 stdio/lib

28 bsp/clk

29 bsp/led

30 bsp/delay

31 bsp/beep

32 bsp/gpio

33 bsp/key

34 bsp/exit

35 bsp/int

36 bsp/epittimer

37 bsp/keyfilter

38 bsp/uart

39 bsp/lcd

40 bsp/rtc

41 bsp/i2c

42 bsp/ap3216c

43 bsp/spi

44 bsp/icm20608

45

46/* 省略掉其它代碼...... */

47

48$(COBJS): obj/%.o : %.c

49 $(CC) -Wall -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -Wa,

-mimplicit-it=thumb -nostdlib -fno-builtin

-c -O2 $(INCLUDE) -o $@ $<

50

51 clean:

52 rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(COBJS)$(SOBJS)

第2行修改變量TARGET為“icm20608”,也就是目標(biāo)名稱為“ap3216c”。

第23和24行在變量INCDIRS中添加SPI和ICM20608的驅(qū)動(dòng)頭文件(.h)路徑。

第43和44行在變量SRCDIRS中添加SPI和ICM20608驅(qū)動(dòng)文件(.c)路徑。

第49行加入了“-march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard”指令,這些指令用于指定編譯浮點(diǎn)運(yùn)算的時(shí)候使用硬件FPU。因?yàn)楸菊率褂玫搅烁↑c(diǎn)運(yùn)算,而I.MX6U是支持硬件FPU的,雖然我們?cè)趍ain函數(shù)中已經(jīng)打開了NEON和FPU,但是在編譯相應(yīng)C文件的時(shí)候也要指定使用硬件FPU來編譯浮點(diǎn)運(yùn)算。

鏈接腳本保持不變。

27.4.2編譯下載

使用Make命令編譯代碼,編譯成功以后使用軟件imxdownload將編譯完成的icm20608.bin文件下載到SD卡中,命令如下:

chmod 777 imxdownload //給予imxdownload可執(zhí)行權(quán)限,一次即可

./imxdownload icm20608.bin /dev/sdd //燒寫到SD卡中

燒寫成功以后將SD卡插到開發(fā)板的SD卡槽中,然后復(fù)位開發(fā)板。如果ICM20608工作正常的話就會(huì)在LCD上顯示獲取到的傳感器數(shù)據(jù),如圖27.4.2.1所示:

圖27.4.2.1LCD界面

在圖27.4.2.1中可以看到加速度計(jì)Z軸在靜止?fàn)顟B(tài)下是0.98g,這不正是重力加速度。溫度傳感器測(cè)量到的溫度是31.39°C,這個(gè)是芯片內(nèi)部的溫度,并不是室溫!芯片內(nèi)部溫度一般要比室溫高。如果動(dòng)一下開發(fā)板的話加速度計(jì)和陀螺儀的數(shù)據(jù)就會(huì)變化。

總結(jié)

以上是生活随笔為你收集整理的spi收发时的寄存器sr不变_「正点原子Linux连载」第二十七章SPI实验(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲va欧美va国产va黑人 | 久草视频在线资源站 | 国产成人在线网站 | 亚洲成人黄色 | 久久久久久高潮国产精品视 | 日韩首页 | 少妇超碰在线 | 欧美日韩视频一区二区三区 | 成人国产精品免费 | 久久成人高清视频 | 亚洲精品在线免费观看视频 | 婷婷丁香在线 | av免费电影在线 | 人人爱人人爽 | 91福利社在线观看 | 国产91综合一区在线观看 | 最新中文字幕在线观看视频 | 久久99热精品 | 激情欧美xxxx | 亚洲涩涩涩 | 日韩理论在线观看 | 在线观看免费一级片 | 在线不卡中文字幕播放 | 正在播放日韩 | 国际精品久久久久 | 色婷婷电影网 | 特黄色大片 | 特级西西www44高清大胆图片 | 91字幕| 日韩欧美精品在线视频 | 天天干夜夜夜 | 成年人在线观看免费视频 | av网址最新 | 国产精品乱码高清在线看 | av888av.com| 天天在线操 | 日韩欧美在线高清 | 午夜av剧场 | 亚洲精品国内 | 91探花在线视频 | 欧美网站黄色 | 国产精品密入口果冻 | 蜜桃视频日韩 | 日本在线视频一区二区三区 | 日本三级吹潮在线 | 探花视频在线观看免费版 | 狠狠狠色丁香婷婷综合激情 | 国产精品一区二区在线 | 久久综合色一综合色88 | 久久综合免费 | 色香com. | 日韩在线欧美在线 | 日韩视频一区二区在线观看 | 日韩电影久久久 | 国产不卡精品 | japanesefreesexvideo高潮 | 中文字幕人成乱码在线观看 | 亚洲天堂社区 | 国产一区二区在线免费播放 | 国产精品免费成人 | 欧美乱码精品一区 | 亚洲国产经典视频 | 欧美日韩一区二区三区在线观看视频 | 中文字幕一区av | 亚洲理论在线 | 九九热在线视频免费观看 | 国产美女精品视频 | av 在线观看| 一级做a视频 | 激情网站网址 | 91日韩在线 | 成人免费视频视频在线观看 免费 | 天天操天天干天天摸 | 亚洲国产一区二区精品专区 | 国产黑丝一区二区三区 | 国产手机在线观看 | 黄色一二级片 | 精品亚洲网 | 91视频午夜 | www91在线观看 | 少妇av片| 九九视频在线 | 99在线视频精品 | 中文字幕高清免费日韩视频在线 | 欧美一级在线观看视频 | 激情五月看片 | 婷婷色综 | 字幕网在线观看 | 亚洲精品色婷婷 | 久久深夜 | 人人插人人看 | 日韩精品一区不卡 | 视频一区二区国产 | 国产色一区| 中文字幕 国产视频 | 亚洲在线视频播放 | 69久久久久久久 | 日韩欧美一区二区三区在线观看 | 国产成人精品亚洲 | 香蕉视频在线视频 | 中文字幕一二 | 九九综合久久 | 午夜性生活片 | 日本三级香港三级人妇99 | 久久福利精品 | 丝袜av一区| 国产色视频网站2 | 中文字幕 国产 一区 | 国产精品原创视频 | 国产在线综合视频 | 精品国产伦一区二区三区观看说明 | 久久欧美综合 | 99视频在线免费 | 97超碰超碰久久福利超碰 | 美女免费黄视频网站 | 国产精品久久久久久久久久免费看 | 日韩精品在线看 | 天天爽天天射 | 在线看国产一区 | 亚洲精品高清一区二区三区四区 | 99热亚洲精品 | 欧美韩国日本在线 | jizz18欧美18| 特级毛片网 | 日本精品va在线观看 | 免费久久网站 | 日韩免费高清在线 | 麻豆网站免费观看 | 日韩中文字幕视频在线 | 天天干夜夜操视频 | 久久国产精品色婷婷 | 国产成人精品电影久久久 | 久久艹国产视频 | 久草| 欧美日韩性 | 欧美另类z0zx| 天堂va在线高清一区 | 黄色免费电影网站 | 五月婷在线播放 | 国产精品久久久久久久av电影 | 国产一区在线免费 | 91精品福利在线 | 亚洲情婷婷 | 97麻豆视频| 99视 | 亚洲高清精品在线 | 91精彩在线视频 | 九九久久久久久久久激情 | 成人在线视频免费观看 | 99c视频在线 | 99久久精品国产亚洲 | 亚洲精品国内 | 美女黄网站视频免费 | 干 操 插 | 天堂av在线免费 | 亚洲国产成人精品在线观看 | 日韩专区在线 | 亚洲免费精品视频 | 91亚洲精品国偷拍自产在线观看 | 成年人电影免费看 | 欧美美女视频在线观看 | 成年人黄色大片在线 | 欧美日本中文字幕 | 精品久久久久久久久久 | 99成人精品 | 国产不卡片 | 日日夜夜av | 亚洲一级电影视频 | 国产高清中文字幕 | 久久久久久久99精品免费观看 | 嫩草伊人久久精品少妇av | 免费看三级黄色片 | 日本中文字幕在线观看 | 国产尤物在线 | 三三级黄色片之日韩 | 久久电影中文字幕视频 | 国产精品igao视频网入口 | 久久毛片网 | 五月天综合在线 | 91精品啪在线观看国产线免费 | 日韩av成人在线观看 | 日韩av男人的天堂 | 99久久成人 | 天天综合网天天综合色 | 成人a级免费视频 | 欧美在线视频a | 免费视频久久久 | 久久精品3 | 黄色软件大全网站 | 欧美日韩在线播放 | 在线看国产精品 | 国产色资源 | 蜜臀av夜夜澡人人爽人人 | 久久久久在线视频 | 欧美极品一区二区三区 | 日韩视频二区 | 成人在线播放视频 | 91在线观 | 欧美精品久久天天躁 | 深爱激情婷婷网 | 国产精品高 | 蜜臀av性久久久久av蜜臀三区 | 国产一区二区三区网站 | 亚洲全部视频 | 黄色精品在线看 | 久久再线视频 | 久色婷婷 | 在线视频电影 | 日本精品久久久久中文字幕5 | 91九色最新地址 | 久草资源在线观看 | 国产精品情侣视频 | 久久精品4 | www操操 | 伊人av综合 | 免费av网站观看 | 亚洲精品动漫久久久久 | 欧美精品xxx | 免费日韩三级 | 久久久午夜视频 | 天天超碰 | 日韩欧美在线综合网 | av一区二区三区在线 | 91一区二区三区在线观看 | 国产 日韩 欧美 自拍 | 成人电影毛片 | 免费不卡中文字幕视频 | 在线观看国产中文字幕 | 日韩在线无 | 99国内精品久久久久久久 | 精品在线小视频 | 在线性视频日韩欧美 | 蜜臀aⅴ国产精品久久久国产 | 五月婷婷狠狠 | 久久96国产精品久久99漫画 | 伊人永久在线 | 天天综合色 | 蜜臀av夜夜澡人人爽人人 | 99国产一区二区三精品乱码 | 最新av网址在线观看 | 亚洲久久视频 | 亚洲男男gaygayxxxgv | 99精品在线 | 一级黄色片在线免费看 | 久爱综合 | 91亚洲永久精品 | 日韩av影视在线观看 | 午夜精品剧场 | 亚洲毛片在线观看. | www.久久久.cum | 国产精品夜夜夜一区二区三区尤 | 天天干天天干天天射 | 激情综合网五月激情 | 天天插天天干天天操 | 成人av免费在线看 | 天天射综合网视频 | 久在线观看 | 一级黄色片网站 | 在线天堂8√ | 人人添人人澡 | 欧美日韩国产一区二区在线观看 | 国产精品久久久久免费 | 久久人人爽人人片 | 精品xxx| 欧美综合色在线图区 | 成人一级片免费看 | 黄网站www| 精品国产电影一区二区 | 亚洲免费精品一区二区 | 亚洲国产三级 | 亚洲va欧美va | 精品久久亚洲 | 国产精品久久久久久久久久了 | 正在播放亚洲精品 | 中文字幕国产精品一区二区 | 国内精品久久久久影院一蜜桃 | 在线黄色国产 | 中文字幕在线免费97 | 亚洲国产中文在线 | 一区二区三区在线免费观看 | 亚洲资源在线观看 | 又黄又网站 | 色综合中文综合网 | 精品主播网红福利资源观看 | 日韩免费在线观看网站 | 久久狠狠亚洲综合 | 成人影音av | 亚洲天天在线日亚洲洲精 | 成人福利av | 日本精品一区二区在线观看 | 韩国视频一区二区三区 | 久久久久免费观看 | www.xxx.性狂虐 | 国产一区二区视频在线播放 | 丁香激情五月婷婷 | 四虎国产免费 | 狠狠的干 | 日韩av看片 | 国产伦精品一区二区三区… | 五月综合激情 | 欧美日韩三区二区 | 久久精品日本啪啪涩涩 | 2023亚洲精品国偷拍自产在线 | 久久99国产精品免费 | 999久久久久久久久 69av视频在线观看 | www.色午夜.com | 91精品国| 国产精品久久久久久久久久直播 | 色婷婷午夜| 操一草 | 欧美一级性生活片 | 成人在线视频观看 | av电影中文 | 精品国产一区二区三区蜜臀 | 中文字幕免费观看 | 综合网成人 | 日产乱码一二三区别在线 | 色婷久久| 在线观看av国产 | 99国产一区二区三精品乱码 | 久久久精品99 | 免费在线观看视频a | 国产精品成人av在线 | 欧美91成人网 | 91成年人网站 | 日韩黄色中文字幕 | 日韩在线播放视频 | www.xxxx变态.com| 免费在线播放视频 | 91免费版在线 | 午夜国产一区二区 | 久久综合五月婷婷 | 99免费精品 | 福利视频一区二区 | 精品国产一区二区三区蜜臀 | 免费福利视频导航 | 亚洲美女视频网 | 欧美一级片免费播放 | 国产精品一区二区视频 | 日韩中文字幕免费视频 | 99热最新地址 | 91经典在线 | 欧美少妇的秘密 | 成人久久18免费网站麻豆 | 国产中文字幕在线免费观看 | 91看毛片| 有码中文字幕在线观看 | 天天射天天干天天爽 | 日韩区欧美久久久无人区 | 伊人夜夜 | 91精品久久久久 | 色天堂在线视频 | 欧美精品国产综合久久 | 婷婷中文字幕综合 | 又黄又爽又色无遮挡免费 | 亚洲精品免费在线观看视频 | 超碰人人射 | 中文在线√天堂 | 黄色免费网站 | 91视频国产高清 | 正在播放亚洲精品 | 一区二区三区日韩精品 | 日韩在线激情 | 在线观看免费国产小视频 | 国产精品第一 | av网站在线免费观看 | 一区二区三区视频 | 国产成人高清在线 | 天天综合久久综合 | 不卡中文字幕av | 97av在线| 久草在线这里只有精品 | 久久精品99久久久久久2456 | 亚洲男人天堂a | 最近最新中文字幕视频 | 毛片1000部免费看 | 欧美成年黄网站色视频 | 99久久精品免费看国产一区二区三区 | 综合色婷婷 | 国产一级黄色电影 | 国产人在线成免费视频 | 久久久网址 | 久久久久免费精品视频 | 国产91免费看 | 在线观看国产www | avhd高清在线谜片 | 国产偷在线 | 999久久久免费精品国产 | 激情电影影院 | 国产精品v欧美精品 | 精品亚洲一区二区三区 | 高清av网站| 激情久久伊人 | 成人午夜免费剧场 | 国产精品乱码久久久久 | 91精品久久久久久综合五月天 | 欧美性春潮 | 久久论理 | 亚洲国产免费看 | 91最新国产 | 国产精品久久毛片 | 97在线观视频免费观看 | .国产精品成人自产拍在线观看6 | 亚洲自拍av在线 | 五月天天色 | 青草视频免费观看 | 色www永久免费| 国产高清免费在线播放 | 99在线热播 | 久久精品播放 | 99热超碰在线 | 中文字幕在线视频国产 | 97成人精品视频在线观看 | 久久久久久综合网天天 | 国产精品久久久久久久久毛片 | 五月天综合网站 | 免费看日韩片 | av片中文| 五月婷婷色丁香 | www免费在线观看 | 91精品国产三级a在线观看 | 国产精品一区二区吃奶在线观看 | 成全在线视频免费观看 | av在线免费网 | 丁香六月五月婷婷 | 亚洲精品99久久久久中文字幕 | 久久久国产毛片 | 久久久久久久免费观看 | 黄色网在线播放 | 久久亚洲私人国产精品va | 国产高清在线视频 | 69绿帽绿奴3pvideos | 中文字幕第一页在线视频 | 日韩免费三级 | 午夜av免费看 | 精品一区二区免费在线观看 | 97精品国产97久久久久久春色 | 久久久国产精品网站 | 黄色影院在线免费观看 | 久久精品免视看 | 最近在线中文字幕 | 91最新在线观看 | 国产色视频一区二区三区qq号 | 亚洲精品国产区 | 在线观看韩国av | www99精品 | 日韩午夜剧场 | av在线免费观看黄 | av在线播放中文字幕 | 欧美一级视频一区 | 久草久草在线观看 | 国产一级片免费播放 | 一区二区三区四区在线 | 99久久99久久精品免费 | 久久免费看a级毛毛片 | 麻豆国产精品一区二区三区 | 激情狠狠干 | 成人a免费 | 日韩欧美高清免费 | 麻花豆传媒mv在线观看 | 黄色大片日本免费大片 | 99超碰在线观看 | 在线观看av黄色 | 中文字幕色在线 | 国产中文字幕久久 | 国产 亚洲 欧美 在线 | 色网av| 青青草华人在线视频 | 中文字幕在线网 | 视频在线观看99 | 99日韩精品 | 中文字幕在线视频国产 | 91热这里只有精品 | 91看片在线免费观看 | 日本爱爱免费视频 | 国产99久久精品一区二区永久免费 | www.色综合.com | caobi视频 | 国产精品午夜久久 | www.777奇米| 日韩三级在线观看 | 国产视频在线观看一区二区 | 91天堂素人约啪 | 最新日韩在线观看 | 在线国产一区 | 九九激情视频 | 色综合久 | 成人免费看黄 | 亚洲乱码精品 | 大片网站久久 | 中文字幕亚洲欧美日韩 | 亚洲精品在线免费播放 | 激情五月在线视频 | 麻豆国产精品视频 | 国产精品一区二区吃奶在线观看 | 99亚洲视频 | 久久久久欧美精品 | 国产分类视频 | 九九免费精品 | 国产精品美女免费看 | 国产成本人视频在线观看 | 婷婷色吧 | 俺要去色综合狠狠 | 91麻豆精品国产91久久久更新时间 | 免费久久久久久 | 成年人免费av | 天天看天天操 | av在线电影网站 | 九九热免费视频在线观看 | 国产亚洲精品成人av久久ww | 久久影视中文字幕 | 久草视频中文 | 97福利 | 精品福利片 | 网址你懂的在线观看 | 毛片美女网站 | 天天爱天天操天天爽 | 日韩电影在线观看一区二区三区 | 六月丁香社区 | 99在线精品免费视频九九视 | 欧美日韩免费在线观看视频 | 国产在线自 | 久久精品99国产精品日本 | 国产二区免费视频 | 婷婷色在线资源 | 69国产精品成人在线播放 | 国色天香第二季 | 国产精品久久久久久久久搜平片 | 亚洲专区在线 | 国产精品久久久久久一二三四五 | 亚洲干视频在线观看 | 亚洲精品国精品久久99热 | 视频在线一区二区三区 | 西西大胆啪啪 | 色www精品视频在线观看 | 欧美va天堂va视频va在线 | 欧美日韩午夜在线 | 国产精品大片 | 久久经典国产视频 | 国产精品免费观看国产网曝瓜 | 天天操天天谢 | 五月天综合色激情 | 啪啪免费视频网站 | 99在线观看视频网站 | av在线看网站 | 国产精品9999久久久久仙踪林 | 精品久久久久久亚洲综合网站 | 天堂网一区| 久久婷婷综合激情 | 国产亚洲激情视频在线 | 免费日韩在线 | 久久久国产电影 | 久久69av | 天堂在线一区二区 | 丁香激情五月婷婷 | 精品国产区在线 | 国产精品成人一区二区三区吃奶 | 狠狠干婷婷 | 久久五月天婷婷 | 精品在线一区二区三区 | 久久精品国产第一区二区三区 | av超碰在线 | 丰满少妇高潮在线观看 | 成人h动漫在线看 | 久久免费福利视频 | 在线v片免费观看视频 | 色视频 在线 | 久久激情五月婷婷 | 亚洲dvd| 蜜桃视频日韩 | 超碰人人草人人 | 81国产精品久久久久久久久久 | 特级片免费看 | 一级a性色生活片久久毛片波多野 | 99久久99久久精品 | 日韩精品在线一区 | 亚洲成a人片77777kkkk1在线观看 | 久热色超碰 | 91视频在线自拍 | 成人av影院在线观看 | 在线看一区二区 | 国产精品高清免费在线观看 | 91成人在线观看高潮 | 一区二区影院 | 日日射av | 国产精品久久免费看 | 99久久er热在这里只有精品66 | 日韩影视精品 | 在线免费视频你懂的 | 天天做天天干 | 精品久久久久久综合日本 | 久草在在线视频 | 欧美午夜视频在线 | 欧美精品乱码久久久久久 | 日本精品久久久久影院 | 青青草华人在线视频 | 国产在线精品一区 | 视频1区2区| 免费的成人av| 69国产盗摄一区二区三区五区 | 91精品久久久久久久91蜜桃 | 国产极品尤物在线 | 最新精品视频在线 | 日本公妇在线观看高清 | 亚洲欧洲精品久久 | 婷婷视频| 在线导航福利 | 最新动作电影 | 午夜精品福利一区二区 | 99热在线看 | 免费福利影院 | 久久伊人国产精品 | 亚洲第一成网站 | 精品久久久久久国产 | 不卡国产在线 | 三级黄色欧美 | 免费能看的av | 国产人成在线视频 | 蜜桃视频日本 | 天天爽人人爽 | 国产极品尤物在线 | 日本激情视频中文字幕 | 中文字幕国产精品一区二区 | 日韩区视频| 欧美国产日韩一区二区三区 | 国产一二三四在线观看视频 | 日韩美女av在线 | 91精品视频免费 | 日韩欧美aaa| 美女久久视频 | 免费看一级特黄a大片 | 丁香六月中文字幕 | 国产精品久久久久久久久毛片 | 国产精品久久久久久一区二区三区 | 99色免费视频| 国产精品一区二区三区久久 | 日本中文字幕在线观看 | 国产精品18久久久久vr手机版特色 | 久久99国产综合精品免费 | 免费日韩一级片 | 午夜黄色 | 中文亚洲欧美日韩 | 亚洲成人精品久久 | 亚洲视频资源在线 | 99久久国产免费,99久久国产免费大片 | 午夜精品一区二区三区免费视频 | 最新av网站在线观看 | 97在线视频免费观看 | 精品国产一区二区三区蜜臀 | 日本午夜在线亚洲.国产 | 亚洲在线网址 | 在线精品在线 | 日韩网页 | 国产黄色在线看 | 国产理论在线 | 久久精品99久久久久久 | 国产真实精品久久二三区 | 手机在线黄色网址 | 国产在线播放观看 | 精品久久网 | 久久不射影院 | 日批视频在线播放 | 黄色三级av | 免费视频黄 | av成人动漫在线观看 | 亚洲成人家庭影院 | 国产成人精品一区二区在线观看 | 91成人黄色 | 91免费高清观看 | 欧美色婷婷 | 91九色视频导航 | 中文字幕丝袜制服 | 国产视频精品在线 | 高清中文字幕 | 亚洲在线a | 日韩在线免费视频观看 | 国产成人在线综合 | 粉嫩高清一区二区三区 | 亚洲黄色一级视频 | www.黄色片网站 | 亚洲精品视频国产 | 成人免费观看网站 | 中文字幕中文字幕在线中文字幕三区 | 中国一级片在线观看 | 夜色资源站国产www在线视频 | 国产一区二区三区免费在线 | 狠狠网亚洲精品 | 91在线精品秘密一区二区 | 国产精品中文字幕在线 | 国产成人av福利 | 精品国产成人在线 | 欧美性大胆 | 黄色高清视频在线观看 | 国产高清视频免费在线观看 | 狠狠色丁香婷综合久久 | 一区二区三区福利 | 色婷婷免费视频 | av电影在线观看完整版一区二区 | 国产拍在线 | 精品一二区 | 黄色国产高清 | 欧美少妇的秘密 | 免费午夜视频在线观看 | 国产午夜精品理论片在线 | 亚洲精品久久久久久国 | 国产日韩欧美视频在线观看 | www天天干com | 91精品在线免费视频 | 日韩在线字幕 | 免费观看视频的网站 | 99热99re6国产在线播放 | 国产美女精品视频 | 九九视频精品免费 | 天堂资源在线观看视频 | 久久午夜免费观看 | 国语精品免费视频 | 在线观看国产麻豆 | 精品美女久久久久久免费 | 久久99国产精品二区护士 | 99久久精品免费 | 精品字幕 | 色婷婷狠狠操 | 久久经典国产视频 | 日韩视频中文字幕在线观看 | 操老逼免费视频 | 免费在线观看日韩视频 | 日韩日韩日韩日韩 | 欧美性色19p | 91高清一区 | 99在线观看视频网站 | 亚洲成av人片一区二区梦乃 | 97av免费视频 | 成人免费看电影 | 国产美女在线免费观看 | 永久黄网站色视频免费观看w | 国产精品久久免费看 | 51久久夜色精品国产麻豆 | 天天干夜夜爽 | 亚洲狠狠 | 天天做天天爱天天综合网 | 人人涩| 国产精品小视频网站 | 亚洲精品国产欧美在线观看 | 亚洲成人av片在线观看 | 99在线精品观看 | 久久综合影音 | 免费精品视频在线观看 | 亚洲国产中文在线 | 中文字幕传媒 | 国产永久免费高清在线观看视频 | 亚洲免费公开视频 | 日韩在线观看小视频 | 国产女v资源在线观看 | 欧美精品一区二区蜜臀亚洲 | 日韩免费二区 | 亚洲天堂网在线播放 | 亚洲综合在 | 草久视频在线观看 | 欧美成人黄色片 | 成人在线网站观看 | 亚洲精品国产精品乱码不99热 | 青青河边草观看完整版高清 | 色五丁香 | 国产一级在线 | 国产精品自产拍 | 波多野结衣视频一区 | 丁香激情网 | 久久久久久久久影院 | 激情久久久久久久久久久久久久久久 | 日韩精品中文字幕在线 | 2024国产精品视频 | 黄色免费网站 | 奇米四色影狠狠爱7777 | 99久久免费看 | 中文字幕资源站 | 精品一区二区三区久久久 | 成人福利在线 | 粉嫩一区二区三区粉嫩91 | 韩国av免费观看 | 欧美激情视频一区二区三区免费 | 久草在线资源网 | 国产午夜精品一区二区三区欧美 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 久久视频99| 久久亚洲免费视频 | 黄色a大片 | 中文字幕在线免费 | 久久99久久99久久 | 欧美巨乳波霸 | 国产精品区二区三区日本 | 国产精品成人免费一区久久羞羞 | 一区二区三区日韩精品 | 日韩激情网 | 天天插天天干天天操 | 国产精品视频地址 | 在线av资源 | 国产资源在线播放 | 日韩欧美网站 | 成人一区电影 | 天天天综合网 | 欧美综合干 | 免费在线成人av电影 | www.五月婷婷.com | 国产一区免费观看 | 久久久久久久久久影院 | 成人电影毛片 | 一区二区免费不卡在线 | 亚洲欧美视频在线观看 | 成人一级电影在线观看 | 国产不卡在线观看 | 麻豆一级视频 | 久久超碰99| 日韩欧美一区二区三区黑寡妇 | 一区二区视频免费在线观看 | 国产不卡av在线播放 | 久久在线影院 | x99av成人免费 | 99视频99 | 婷婷九月激情 | 一级欧美黄 | av中文字幕在线看 | 在线a亚洲视频播放在线观看 | 91自拍视频在线观看 | 亚洲国产免费看 | 在线免费观看国产黄色 | 久久久久久中文字幕 | 91丨九色丨国产在线 | 国产精品永久免费视频 | 手机在线免费av | 国产精品一区二区在线播放 | 国产亚洲精品bv在线观看 | 一区二区三区中文字幕在线 | 天天干夜夜夜操天 | 久久超碰99 | 激情五月看片 | 久草五月 | 亚洲最大av | 免费看一级黄色 | 亚洲精品毛片一级91精品 | 天天综合久久综合 | 国产精品18久久久久久不卡孕妇 | 亚洲第一av在线播放 | 在线国产99 | 黄色大片av | 国产精品国产亚洲精品看不卡 | 国产精品 亚洲精品 | 国产精品综合久久久 | 99日精品 | 天天色天天色 | 看片的网址 | 免费看色视频 | 国产精品一区电影 | 欧美日韩精品综合 | 亚洲综合色播 | 欧美a在线看| 97中文字幕 | 精品特级毛片 | 中文字幕在线播放视频 | 国产经典av | 精品国产免费人成在线观看 | 亚洲涩涩网 | 日日夜夜91 | 久久精国产| 色婷婷激情电影 | 亚洲资源片 | 四虎国产| 成人免费一区二区三区在线观看 | 日本一区二区三区视频在线播放 | 久久蜜臀av | 国产女人免费看a级丨片 | 天天天干夜夜夜操 | 青草视频在线播放 | 久久国产精品视频免费看 | 97视频播放 | 最近中文字幕久久 | 黄色av电影在线观看 | 国产精品一二三 | 香蕉视频在线观看免费 | www日日夜夜| 亚洲国产成人精品在线 | 波多野结衣在线视频一区 | 日韩三级一区 | 亚洲精品久久久蜜桃直播 | 欧美精品做受xxx性少妇 | 日韩中文字幕免费在线播放 | 91色一区二区三区 | 九九免费在线观看 | 91伊人久久大香线蕉蜜芽人口 | 亚洲美女视频在线观看 | 久久久五月天 | 天天se天天cao天天干 | 国产亚洲欧美精品久久久久久 | 一区二区电影在线观看 | 国产成人精品久 | 国产激情小视频在线观看 | 欧美日本啪啪无遮挡网站 | 国内外成人在线视频 | 久久综合久色欧美综合狠狠 | 日韩在线视频一区二区三区 | 五月开心六月伊人色婷婷 | 久久9999久久免费精品国产 | 久久久久久久久久久影视 | 一级α片免费看 | 久久久av电影 | 成人免费看片网址 | 午夜视频在线瓜伦 | 国产九九九精品视频 | 正在播放国产一区 | av在线播放网址 | 久久人人爽人人片 | 国产精品久久久久亚洲影视 | 91免费高清 | 狠狠干网 | 中文字幕中文字幕在线中文字幕三区 | 久久精品免视看 | 欧美日韩在线观看一区二区三区 | 欧美十八| 亚洲一区美女视频在线观看免费 | 色吊丝在线永久观看最新版本 | 久久9999久久 | 狠狠色丁香婷婷综合基地 | 欧美亚洲三级 | 久久99网| 亚洲男男gⅴgay双龙 | 99精品国产一区二区 | 又爽又黄又刺激的视频 | 欧美 日韩 国产 成人 在线 | 中文字幕精品在线 | 国产精品久久久久久久久岛 | 91色视频 | 国产精品久久久久久久久久久久久久 | 在线视频 精品 | 国产精品毛片一区二区 | 天天操欧美 | 国产粉嫩在线观看 | 久久视频在线观看中文字幕 | a资源在线| 久热av在线 | 亚洲毛片一区二区三区 | 黄色aa久久 | 国产精品岛国久久久久久久久红粉 | 亚洲第一中文网 | 人人澡人人爽欧一区 | 国产精品久久久久久婷婷天堂 | 欧美性色19p | 国产中文字幕久久 | 国产精品 日韩 | 日韩一级成人av | 日韩xxx视频 | 豆豆色资源网xfplay | 国产美女精品 | 久久精品一区二区三区国产主播 | 伊人春色电影网 | 黄色免费电影网站 | 福利片免费看 | 丁香激情综合久久伊人久久 | 国产成人一二片 | 亚洲精品国产精品乱码在线观看 | 九九亚洲精品 | 人人射人人 | 在线观看视频你懂得 | 国产一级做a | 国产伦精品一区二区三区四区视频 | 亚洲成av人影院 | 97超碰免费在线 | 国产精品一区二区麻豆 | 黄色字幕网 | 99色人| 亚洲人在线 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国内精品久久久久久久久久久久 | 精品一区二区精品 | 中文字幕成人 | 日韩av二区| 91天堂在线观看 | 亚洲国产手机在线 | 三级黄色a | 国产一级黄大片 | 国产无吗一区二区三区在线欢 | 国产一区成人在线 | 狠狠色丁香婷婷综合最新地址 | 黄色毛片大全 | 日韩丝袜在线观看 | 一本到在线 | 婷婷色综合 | 日本三级吹潮在线 | 丁香av| a级片久久久 | 亚洲视频www | 日韩高清在线一区二区三区 | 国产成人精品一区二区三区 | 中文字幕视频一区二区 | 国产韩国日本高清视频 | 午夜久久影视 | 亚洲精选视频免费看 | 国产精品理论在线观看 | 偷拍视频一区 | 中文字幕av有码 |