




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、陀螺儀LIS3DH驅(qū)動程序 lis3dh_driver.h /* (C) COPYRIGHT 2012 STMicroelectronics * * File Name : lis3dh_driver.h * Author : MSH Application Team * Author : Abhishek Anand, Fabio Tota * Version : $Revision:$ * Date : $Date:$ * Description : Descriptor Header for lis3dh_driver.c driver file * * HISTORY: * Date
2、| Modification | Author * 24/06/2011 | Initial Revision | Fabio Tota * 07/06/2012 | Support for multiple drivers in the same program | Abhishek Anand * * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM
3、 TO SAVE TIME. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR
4、PRODUCTS. * * THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS. * */ /* Define to prevent recursive inclusion -*/ #ifndef _LIS3DH_DRIVER_H #define _LIS3DH_DRIVER_H /* Includes -*/ /* Exported types -*/ /these could change accordingly with the architecture #ifndef _ARCHDEP_TYPES
5、 #define _ARCHDEP_TYPES typedef unsigned char u8_t; typedef unsigned short int u16_t; typedef short int i16_t; typedef signed char i8_t; #endif /*_ARCHDEP_TYPES*/ typedef u8_t LIS3DH_IntPinConf_t; typedef u8_t LIS3DH_Axis_t; typedef u8_t LIS3DH_Int1Conf_t; /define structure #ifndef _SHARED_TYPES #de
6、fine _SHARED_TYPES typedef enum MEMS_SUCCESS MEMS_ERROR = status_t; typedef enum MEMS_ENABLE MEMS_DISABLE State_t; typedef struct i16_t AXIS_X; i16_t AXIS_Y; i16_t AXIS_Z; AxesRaw_t; #endif /*_SHARED_TYPES*/ typedef enum LIS3DH_ODR_1Hz LIS3DH_ODR_10Hz = 0x01, 0x00 = 0x01, = 0x00 = 0x01, = 0x02, LIS3
7、DH_ODR_25Hz LIS3DH_ODR_50Hz LIS3DH_ODR_100Hz LIS3DH_ODR_200Hz LIS3DH_ODR_400Hz = 0x03, 0x04, 0x05, 0x06, 0x07, = = = = LIS3DH_ODR_1620Hz_LP LIS3DH_ODR_t; typedef enum = 0x08, 0x09 LIS3DH_ODR_1344Hz_NP_5367HZ_LP = LIS3DH_POWER_DOWN = LIS3DH_LOW_POWER = 0x01, LIS3DH_NORMAL LIS3DH_Mode_t; typedef enum
8、= 0x02 0x00, LIS3DH_HPM_NORMAL_MODE_RES = 0x00, LIS3DH_HPM_REF_SIGNAL = 0x01, LIS3DH_HPM_NORMAL_MODE = 0x02, LIS3DH_HPM_AUTORESET_INT = 0x03 LIS3DH_HPFMode_t; typedef enum LIS3DH_HPFCF_0 = 0x00, LIS3DH_HPFCF_1 = 0x01, LIS3DH_HPFCF_2 = 0x02, LIS3DH_HPFCF_3 = 0x03 LIS3DH_HPFCutOffFreq_t; typedef struc
9、t u16_t AUX_1; u16_t AUX_2; u16_t AUX_3; LIS3DH_Aux123Raw_t; typedef enum LIS3DH_FULLSCALE_2 = 0x00, LIS3DH_FULLSCALE_4 = 0x01, LIS3DH_FULLSCALE_8 = 0x02, LIS3DH_FULLSCALE_16 = 0x03 LIS3DH_Fullscale_t; typedef enum LIS3DH_BLE_LSB = 0x00, LIS3DH_BLE_MSB = 0x01 LIS3DH_Endianess_t; typedef enum LIS3DH_
10、SELF_TEST_DISABLE = 0x00, LIS3DH_SELF_TEST_0 = 0x01, LIS3DH_SELF_TEST_1 = 0x02 LIS3DH_SelfTest_t; typedef enum LIS3DH_FIFO_BYPASS_MODE LIS3DH_FIFO_MODE LIS3DH_FIFO_STREAM_MODE LIS3DH_FIFO_TRIGGER_MODE LIS3DH_FIFO_DISABLE LIS3DH_FifoMode_t; typedef enum LIS3DH_TRIG_INT1 LIS3DH_TRIG_INT2 = LIS3DH_Trig
11、Int_t; typedef enum LIS3DH_SPI_4_WIRE LIS3DH_SPI_3_WIRE LIS3DH_SPIMode_t; typedef enum LIS3DH_X_ENABLE LIS3DH_X_DISABLE LIS3DH_Y_ENABLE LIS3DH_Y_DISABLE LIS3DH_Z_ENABLE LIS3DH_Z_DISABLE LIS3DH_AXISenable_t; typedef enum LIS3DH_INT1_6D_4D_DISABLE LIS3DH_INT1_6D_ENABLE LIS3DH_INT1_4D_ENABLE LIS3DH_INT
12、_6D_4D_t; typedef enum LIS3DH_UP_SX = = = = = = 0x00, 0x01 = = = = = = = = = = = = 0x00, 0x01, 0x02, 0x03, 0x04 0x00, 0x01 0x01, 0x00, 0x02, 0x00, 0x04, 0x00 0x00, 0x01, 0x02 0x44, LIS3DH_UP_DX = 0x42, typedef enum LIS3DH_INT_MODE_OR = 0x00, LIS3DH_INT_MODE_6D_MOVEMENT = 0x01, LIS3DH_INT_MODE_AND =
13、0x02, LIS3DH_INT_MODE_6D_POSITION = 0x03 LIS3DH_Int1Mode_t; /interrupt click response / b7 = dont care b6 = IA b5 = DClick b4 = Sclick b3 = Sign / b2 = z b1 = y b0 = x typedef enum LIS3DH_DCLICK_Z_P = 0x24, LIS3DH_DCLICK_Z_N = 0x2C, LIS3DH_SCLICK_Z_P = 0x14, LIS3DH_SCLICK_Z_N = 0x1C, LIS3DH_DCLICK_Y
14、_P = 0x22, LIS3DH_DCLICK_Y_N = 0x2A, LIS3DH_SCLICK_Y_P = 0x12, LIS3DH_SCLICK_Y_N = 0x1A, LIS3DH_DCLICK_X_P = 0x21, LIS3DH_DCLICK_X_N = 0x29, LIS3DH_SCLICK_X_P = 0x11, LIS3DH_SCLICK_X_N = 0x19, LIS3DH_NO_CLICK = 0x00 LIS3DH_Click_Response; /TODO: start from here and manage the shared macros etc befor
15、e this /* Exported constants -*/ #ifndef _SHARED_CONSTANTS #define _SHARED_CONSTANTS #define MEMS_SET 0x01 #define MEMS_RESET 0x00 LIS3DH_DW_SX = 0x41, LIS3DH_DW_DX = 0x48, LIS3DH_TOP = 0x60, LIS3DH_BOTTOM = 0x50 LIS3DH_POSITION_6D_t; #endif /*_SHARED_CONSTANTS*/ /Register Definition #define LIS3DH_
16、WHO_AM_I / CONTROL REGISTER 1 #define LIS3DH_CTRL_REG1 #define LIS3DH_ODR_BIT #define LIS3DH_LPEN #define LIS3DH_ZEN #define LIS3DH_YEN #define LIS3DH_XEN /CONTROL REGISTER 2 #define LIS3DH_CTRL_REG2 #define LIS3DH_HPM #define LIS3DH_HPCF #define LIS3DH_FDS #define LIS3DH_HPCLICK #define LIS3DH_HPIS
17、2 #define LIS3DH_HPIS1 /CONTROL REGISTER 3 #define LIS3DH_CTRL_REG3 #define LIS3DH_I1_CLICK #define LIS3DH_I1_AOI1 #define LIS3DH_I1_AOI2 #define LIS3DH_I1_DRDY1 #define LIS3DH_I1_DRDY2 #define LIS3DH_I1_WTM #define LIS3DH_I1_ORUN /CONTROL REGISTER 6 #define LIS3DH_CTRL_REG6 #define LIS3DH_I2_CLICK
18、#define LIS3DH_I2_INT1 #define LIS3DH_I2_BOOT #define LIS3DH_H_LACTIVE /TEMPERATURE CONFIG REGISTER #define LIS3DH_TEMP_CFG_REG #define LIS3DH_ADC_PD #define LIS3DH_TEMP_EN 0x0F / device identification register 0x20 BIT(4) BIT(3) BIT(2) BIT(1) BIT(0) 0x21 BIT(6) BIT(4) BIT(3) BIT(2) BIT(1) BIT(0) 0x
19、22 BIT(7) BIT(6) BIT(5) BIT(4) BIT(3) BIT(2) BIT(1) 0x25 BIT(7) BIT(6) BIT(4) BIT(1) 0x1F BIT(7) BIT(6) /CONTROL REGISTER 4 #define LIS3DH_CTRL_REG4 #define LIS3DH_BDU #define LIS3DH_BLE #define LIS3DH_FS #define LIS3DH_HR #define LIS3DH_ST #define LIS3DH_SIM /CONTROL REGISTER 5 #define LIS3DH_CTRL_
20、REG5 #define LIS3DH_BOOT #define LIS3DH_FIFO_EN #define LIS3DH_LIR_INT1 #define LIS3DH_D4D_INT1 /REFERENCE/DATA_CAPTURE #define LIS3DH_REFERENCE_REG #define LIS3DH_REF /STATUS_REG_AXIES #define LIS3DH_STATUS_REG #define LIS3DH_ZYXOR #define LIS3DH_ZOR #define LIS3DH_YOR #define LIS3DH_XOR #define LI
21、S3DH_ZYXDA #define LIS3DH_ZDA #define LIS3DH_YDA #define LIS3DH_XDA /STATUS_REG_AUX #define LIS3DH_STATUS_AUX /INTERRUPT 1 CONFIGURATION #define LIS3DH_INT1_CFG #define LIS3DH_ANDOR #define LIS3DH_INT_6D #define LIS3DH_ZHIE #define LIS3DH_ZLIE #define LIS3DH_YHIE #define LIS3DH_YLIE #define LIS3DH_X
22、HIE 0x23 BIT(7) BIT(6) BIT(4) BIT(3) BIT(1) BIT(0) 0x24 BIT(0) 0x27 0x07 0x30 BIT(7) BIT(6) BIT(3) BIT(2) 0x26 BIT(7) BIT(6) BIT(5) BIT(4) BIT(3) BIT(2) BIT(1) BIT(0) BIT(7) BIT(6) BIT(5) BIT(4) BIT(3) BIT(2) BIT(1) #define LIS3DH_XLIE BIT(0) /FIFO CONTROL REGISTER #define LIS3DH_FIFO_CTRL_REG 0x2E
23、#define LIS3DH_FM BIT(6) #define LIS3DH_TR BIT(5) #define LIS3DH_FTH BIT(0) /CONTROL REG3 bit mask #define LIS3DH_CLICK_ON_PIN_INT1_ENABLE #define LIS3DH_CLICK_ON_PIN_INT1_DISABLE #define LIS3DH_I1_INT1_ON_PIN_INT1_ENABLE #define LIS3DH_I1_INT1_ON_PIN_INT1_DISABLE #define LIS3DH_I1_INT2_ON_PIN_INT1_
24、ENABLE #define LIS3DH_I1_INT2_ON_PIN_INT1_DISABLE #define LIS3DH_I1_DRDY1_ON_INT1_ENABLE #define LIS3DH_I1_DRDY1_ON_INT1_DISABLE #define LIS3DH_I1_DRDY2_ON_INT1_ENABLE #define LIS3DH_I1_DRDY2_ON_INT1_DISABLE #define LIS3DH_WTM_ON_INT1_ENABLE #define LIS3DH_WTM_ON_INT1_DISABLE #define LIS3DH_INT1_OVE
25、RRUN_ENABLE #define LIS3DH_INT1_OVERRUN_DISABLE /CONTROL REG6 bit mask #define LIS3DH_CLICK_ON_PIN_INT2_ENABLE #define LIS3DH_CLICK_ON_PIN_INT2_DISABLE #define LIS3DH_I2_INT1_ON_PIN_INT2_ENABLE #define LIS3DH_I2_INT1_ON_PIN_INT2_DISABLE #define LIS3DH_I2_INT2_ON_PIN_INT2_ENABLE #define LIS3DH_I2_INT
26、2_ON_PIN_INT2_DISABLE #define LIS3DH_I2_BOOT_ON_INT2_ENABLE #define LIS3DH_I2_BOOT_ON_INT2_DISABLE #define LIS3DH_INT_ACTIVE_HIGH #define LIS3DH_INT_ACTIVE_LOW /INT1_CFG bit mask #define LIS3DH_INT1_AND #define LIS3DH_INT1_OR #define LIS3DH_INT1_ZHIE_ENABLE #define LIS3DH_INT1_ZHIE_DISABLE #define L
27、IS3DH_INT1_ZLIE_ENABLE #define LIS3DH_INT1_ZLIE_DISABLE #define LIS3DH_INT1_YHIE_ENABLE 0x80 0x00 0x40 0x00 0x20 0x00 0x10 0x00 0x08 0x00 0x04 0x00 0x02 0x00 0x80 0x00 0x40 0x00 0x20 0x00 0x10 0x00 0x00 0x02 0x80 0x00 0x20 0x00 0x10 0x00 0x08 #define LIS3DH_INT1_YHIE_DISABLE 0x00 #define LIS3DH_INT1
28、_YLIE_ENABLE 0x04 #define LIS3DH_INT1_YLIE_DISABLE 0x00 #define LIS3DH_INT1_XHIE_ENABLE 0x02 #define LIS3DH_INT1_XHIE_DISABLE 0x00 #define LIS3DH_INT1_XLIE_ENABLE 0x01 #define LIS3DH_INT1_XLIE_DISABLE 0x00 /INT1_SRC bit mask #define LIS3DH_INT1_SRC_IA #define LIS3DH_INT1_SRC_ZH #define LIS3DH_INT1_S
29、RC_ZL #define LIS3DH_INT1_SRC_YH #define LIS3DH_INT1_SRC_YL #define LIS3DH_INT1_SRC_XH #define LIS3DH_INT1_SRC_XL /INT1 REGISTERS #define LIS3DH_INT1_THS #define LIS3DH_INT1_DURATION /INTERRUPT 1 SOURCE REGISTER #define LIS3DH_INT1_SRC 0x31 /FIFO Source Register bit Mask #define LIS3DH_FIFO_SRC_WTM
30、#define LIS3DH_FIFO_SRC_OVRUN #define LIS3DH_FIFO_SRC_EMPTY /INTERRUPT CLICK REGISTER #define LIS3DH_CLICK_CFG 0x38 /INTERRUPT CLICK CONFIGURATION bit mask #define LIS3DH_ZD_ENABLE #define LIS3DH_ZD_DISABLE #define LIS3DH_ZS_ENABLE #define LIS3DH_ZS_DISABLE #define LIS3DH_YD_ENABLE #define LIS3DH_YD
31、_DISABLE #define LIS3DH_YS_ENABLE #define LIS3DH_YS_DISABLE #define LIS3DH_XD_ENABLE #define LIS3DH_XD_DISABLE #define LIS3DH_XS_ENABLE #define LIS3DH_XS_DISABLE 0x40 0x20 0x10 0x08 0x04 0x02 0x01 0x32 0x33 0x80 0x40 0x20 0x20 0x00 0x10 0x00 0x08 0x00 0x04 0x00 0x02 0x00 0x01 0x00 /INTERRUPT CLICK S
32、OURCE REGISTER #define LIS3DH_CLICK_SRC 0x39 /INTERRUPT CLICK SOURCE REGISTER bit mask #define LIS3DH_IA 0x40 #define LIS3DH_DCLICK 0x20 #define LIS3DH_SCLICK 0x10 #define LIS3DH_CLICK_SIGN 0x08 #define LIS3DH_CLICK_Z 0x04 #define LIS3DH_CLICK_Y 0x02 #define LIS3DH_CLICK_X 0x01 /Click-click Register #define LIS3DH_CLICK_THS 0x3A #define LIS3DH_TIME_LIMIT 0x3B #define LIS3DH_TIME_LATENCY 0x3C #define LIS3DH_TIME_WINDOW 0x3D /OUTPUT REGISTER #define LIS3DH_OUT_X_L #define LIS3DH_OUT_X_H #def
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動力柜施工合同范本
- 公用商業(yè)裝修合同范本
- 包裝供應合同范本
- app合伙合同范本
- 以房換房合同范本
- 上傳網(wǎng)貸合同范本
- 包材委托加工合同范本文庫
- 2024年日照市某國有企業(yè)招聘考試真題
- 2024年青海海南州教育局招聘高中教師考試真題
- Module 2 public holidays unit 2英文版教學設計 2024-2025學年外研版英語九年級上冊
- 醫(yī)保定點納入預測性研究的報告
- 手術(shù)講解模板單側(cè)腎切除術(shù)
- 大學體育-武術(shù)散打-教案
- 鎮(zhèn)鄉(xiāng)自然資源規(guī)劃所工作職責
- 年終獎計算方案
- 模擬藥房實訓總結(jié)報告
- 人工智能在智能運維中的應用
- 《腦科學基礎知識》課件
- 成人四肢血壓測量的中國專家共識
- 榮昌壩扶壁式擋土墻施工方案1
- 幼兒園多媒體課件設計與制作第2版(高職學前教育專業(yè))全套教學課件
評論
0/150
提交評論