#include "SC7A22H.h" #include "mk_trace.h" //ÂÖѯ»ñÈ¡ÈýÖáÊý¾ÝʾÀý void SC7A22H_get_rawdata_Polling() { signed short SL_Read_Buf[3]={0}; signed short SL_XYZ_Data[3]={0}; unsigned char reg_value=0; uint8_t data; uint8_t buff[6]; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset(); SL_SC7A22H_Delay_Ms(1000); //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ SL_SC7A22H_Check(); //4.Æô¶¯ACC SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7F, 0x00);//goto 0x00 SL_SC7A22H_Delay_Ms(10); SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7D, 0x04);//PWR_CTRL ENABLE ACC SL_SC7A22H_Delay_Ms(10); //5.ÉèÖÃÁ¿³Ì SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE ¡À4G //6.ÉèÖÃÊä³öËÙÂʸüС¢¹¤×÷ģʽ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x07);//ACC_CONF 50Hz ¸ßÐÔÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, 0x50);//I2C_CFG while(1) { SL_SC7A22H_Delay_Ms(1000); //7.Ñ­»·¶ÁÈ¡¼ÓËÙ¶ÈÊý¾Ý SL_SC7A22H_RawData_Read(&gsensor_soft_fifo_buffer[0].sXAxisVal, &gsensor_soft_fifo_buffer[0].sYAxisVal, &gsensor_soft_fifo_buffer[0].sZAxisVal); } } uint8_t fifo_ready_flag=0; /***************FIFOģʽ»ñÈ¡XYZÊý¾ÝˮλʾÀý*********/ void SC7A22H_get_rawdata_fifo_wtm_interrupt() { signed short SL_Read_Buf[3]={0}; signed short SL_XYZ_Data[3]={0}; unsigned char reg_value=0; uint8_t data; uint8_t FIFO_stat; uint8_t buff[6]; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset();//ÎÞÎÊÌâ //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ SL_SC7A22H_Check();//ÎÞÎÊÌâ //4.Æô¶¯ACC SL_SC7A22H_I2c_Spi_Write(SL_SC7A22H_SPI_IIC_MODE, 0x7D, 0x04);//PWR_CTRL ENABLE ACC SL_SC7A22H_Delay_Ms(15); //5.ÉèÖÃÁ¿³Ì SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE ¡À4G //6.FIFOģʽ SL_SC7A22H_I2c_Spi_Read(SL_SPI_IIC_INTERFACE, 0x05, 1, ®_value); reg_value=reg_value&0xEF;//addr_add_auto disable SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, reg_value); //AOI1 ÖжÏ×÷Ϊ FIFO ´¥·¢Ä£Ê½ÖжÏʼþÊäÈ룬FIFOģʽ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x1D, 0x10);//fifo mode set //WTM ãÐÖµÉèÖÃ: 75 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x1E, 0x4B);//fifo fth set //FIFOʹÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x1C, 0x04);//fifo enable //7.ÖжÏÅäÖà int1Öжϴ¥·¢Ê±Êä³ö¸ßµçƽ£¨Ä¬ÈÏµÍµçÆ½£©, FIFOˮλÖжÏÔÚ INT1 ÉÏ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x06, 0x09);//INT_CFG1 //8.ÉèÖÃÊä³öËÙÂʸüС¢¹¤×÷ģʽ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x06);//ACC_CONF 25Hz µÍ¹¦ºÄģʽ fifo_ready_flag=0; while(1) { if(fifo_ready_flag) { fifo_ready_flag=0; SL_SC7A22H_FIFO_Read(&gsensor_soft_fifo_buffer[0].sXAxisVal, &gsensor_soft_fifo_buffer[0].sYAxisVal, &gsensor_soft_fifo_buffer[0].sZAxisVal); } } } //Óû§Ðè×Ô¶¨ÒåÖжϷþÎñº¯Êý£¬µ±FIFOÊý¾ÝÂúʱINT1»á´ÓµÍµçƽ±äΪ¸ßµçƽ£¬Óû§¿ÉÒÔIO²¶×½ÉÏÉýÑØ²úÉúÖÐ¶Ï //ÔÚÆäÖжϷþÎñÖе÷Óøĺ¯Êý void fifo_ready_interrupt_callback() { fifo_ready_flag=1; } uint8_t double_click_flag=0; /*******Ë«»÷¼ì²âʾÀý*********/ void SC7A22H_get_double_click() { unsigned char reg_value=0; unsigned char CLICK_status; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset();//ÎÞÎÊÌâ //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ SL_SC7A22H_Check();//ÎÞÎÊÌâ //4,¼ÓËٶȼÆÊ¹ÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7D, 0x04);//PWR_CTRL ENABLE ACC SL_SC7A22H_Delay_Ms(200); //5,Á¿³ÌÉèÖãº+-4G SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE ¡À4G //6£¬Çû÷ÖжÏÉèÖà //Êä³öÊý¾Ý¼Ä´æÆ÷²»¸üÐÂÖ±µ½ MSB ºÍ LSB ±»¶ÁÈ¡ 2,µØÖ·×ÔÔö£¬Á¬Ðø¶ÁдʱµØÖ·×ÔÔö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, 0x50);//I2C_CFG //ÍÆÍìÊä³öʹÄÜ, Öжϴ¥·¢Ê±Êä³ö¸ßµçƽ£¨Ä¬ÈÏµÍµçÆ½£©£¬CLICK ÖжÏÔÚ INT1 ÉÏ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x06, 0x07);//INT_CFG1 CLICK TO INT1 //½ûÖ¹Â˲¨ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x08, 0x00);//Disable DLPF //AOI ÖжÏʹÄÜ£¬AOI1Â˲¨Ê¹ÄÜ£¬Ëø´æ AOI1_CFG ¼Ä´æÆ÷ÉÏÖ¸¶¨µÄÖжÏÏìÓ¦ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x3F, 0x11);//HPIS1=1 LIR_AOI1 //XYZ Öá¸ßʼþÖжϻòÕß Z Öá·½Ïò¼ì²âÖжÏʹÄÜ£¬ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x30, 0x2A);//xyz for aoi1 or event //AIO1ãÐÖµ£º4G----32mg*8=256mg SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x32, 0x08);//aoi1 vth //ʶ±ðAIO1ʼþµÄ×îС³ÖÐøÊ±¼ä SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x33, 0x02);//aoi1 tth //7£¬Çû÷ÅäÖà //ÐèÒª½«0x7F£¨SEG_SEL£©ÅäÖÃ0x90ºóÔÙ½øÐзÃÎʵļĴæÆ÷¼°µØÖ·ºÍ³õÖµÆ÷ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7F, 0x90);//goto 0x90 SL_SC7A22H_Delay_Ms(1); //Êä³öÖжϱØÐëÂú×ãÉèÖõÄÇû÷ãÐÖµ¸öÊý²ÅÄÜÊä³öÖжϣ¬·ñÔòÎÞÖжÏÊä³ö //Ëø´æCLICK ÖжÏ״̬,£ºÊ¹ÄÜ XYZ ÖáÊý¾Ý²ÎÓëÇû÷¼ì²â SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x38, 0x1F);//XYZ CLICK ENABLE AND LATCH INT LEVEL //Çû÷ǰÊý¾ÝÎȶ¨Ê±³¤ÉèÖÃ------20ms£¨400hz£© SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x52);//CLICK_COEFF1 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x9A);//CLICK_COEFF2 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x42, 0x04);//CLICK_COEFF3 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x43, 0x52);//CLICK_COEFF4 //0x52ÖеÄ2±íʾÇû÷´ÎÊý SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7F, 0x00);//goto 0x00 SL_SC7A22H_Delay_Ms(1); //8£¬µÍ¹¦ºÄģʽʹÄÜ 400HzÊä³ö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x0A);//ACC_CONF 0x0A=400Hz //9, ¶ÁÈ¡CLICK_SRCµÄ״̬»ú SL_SC7A22H_I2c_Spi_Read(SL_SC7A22H_SPI_IIC_MODE, 0x39, 1, &CLICK_status); //µÈ´ýÖжϴ¥·¢ double_click_flag=0; while(1) { if(double_click_flag) { double_click_flag=0; SL_SC7A22H_I2c_Spi_Read(SL_SC7A22H_SPI_IIC_MODE, 0x39, 1, &CLICK_status); printf("SC7A22H_INT1_SRC:%x\r\n",CLICK_status); } } } //Óû§Ðè×Ô¶¨ÒåÖжϷþÎñº¯Êý£¬µ±Ô˶¯¼ì²âʼþ´¥·¢Ê±INT1»á´Ó¸ßµçƽ±äΪµÍµçƽ£¬Óû§¿ÉÒÔIO²¶×½Ï½µÑزúÉúÖÐ¶Ï //ÔÚÆäÖжϷþÎñÖе÷Óøĺ¯Êý void double_click_interrupt_callback() { double_click_flag=1; } /***************¼Æ²½¼ì²âʾÀý*********/ uint8_t Pedo_flag=0; void SC7A22H_get_Pedo() { unsigned char reg_value=0; unsigned char Pedo_status; unsigned int Pedo_Count; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset();//ÎÞÎÊÌâ //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ // SL_SC7A22H_Check();//ÎÞÎÊÌâ //4,¼ÓËٶȼÆÊ¹ÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7D, 0x04);//PWR_CTRL ENABLE ACC SL_SC7A22H_Delay_Ms(200); //5,Á¿³ÌÉèÖãº+-4G SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE ¡À4G //6£¬ÖжÏÉèÖà //Êä³öÊý¾Ý¼Ä´æÆ÷²»¸üÐÂÖ±µ½ MSB ºÍ LSB ±»¶ÁÈ¡ 2,µØÖ·×ÔÔö£¬Á¬Ðø¶ÁдʱµØÖ·×ÔÔö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, 0x50);//I2C_CFG SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x06, 0x10);//DELTA_STEP ÖжÏÔÚ INT1 ÉÏ //Æô¶¯Â˲¨ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x08, 0x05);//Enable DLPF //7£¬¼Æ²½ÉèÖà SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x7F, 0x90); SL_SC7A22H_Delay_Ms(1); //¿¹Âí´ïºÍÒôÀÖ¸ÉÈÅʹÄÜ,¼Æ²½¹¦ÄÜʹÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x3A, 0x05); //¼Æ²½Ä£¿éÂ˲¨Æ÷ÉèÖà SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x46, 0x4F); //¼Æ²½ÁéÃô¶È:100,×îÓżƲ½Öáʱ¼äãÐÖµÉèÖÃ:11 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x47, 0x23); //×î¼ÑÊý¾ÝÔ´Çл»ãÐÖµÉèÖãº00£¬Æðʼ²½ÊýÉèÖãº100£¬¹æÂɼƲ½µÈ¼¶£º011 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x48, 0x8F); //µ¥²½ãÐÖµÏÂÏÞ¿ØÖÆ:100 ,µ¥²½ãÐÖµÉÏÏÞ¿ØÖÆ:101 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x49, 0x1C); //XYZ ²ÎÓë¼Æ²½,¼Æ²½ÔëÉù:0100 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x4A, 0x04); //ÔëÉù¼ÆÊýãÐÖµÉèÖÃ:100 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x4B, 0x8C); SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x7F, 0x00); SL_SC7A22H_Delay_Ms(1); //8£¬µÍ¹¦ºÄģʽʹÄÜ 50HzÊä³ö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x26);////ACC_CONF 0x07=50Hz //µÈ´ýÖжϴ¥·¢ Pedo_flag=0; } uint8_t pedo_upload_count=0; uint8_t pedo_upload_status=0; extern uint8_t Pedo_flag; void SC7A22H_get_Pedo_task() { if(Pedo_flag) { Pedo_flag=0; pedo_upload_status=SL_SC7A22H_Get_Motion(); pedo_upload_count=SL_SC7A22H_Get_Pedo_Count(); LOG_INFO(TRACE_MODULE_APP,"SC7A22H_Pedo_status:%d\r\n",pedo_upload_status); LOG_INFO(TRACE_MODULE_APP,"SC7A22H_Pedo_Count:%d\r\n",pedo_upload_count); } } //¼Æ²½¹¦ÄÜÆô¶¯º¯Êý //Óû§Ðè×Ô¶¨ÒåÖжϷþÎñº¯Êý£¬µ±Ô˶¯¼ì²âʼþ´¥·¢Ê±INT1»á´Ó¸ßµçƽ±äΪµÍµçƽ£¬Óû§¿ÉÒÔIO²¶×½Ï½µÑزúÉúÖÐ¶Ï //ÔÚÆäÖжϷþÎñÖе÷Óøĺ¯Êý void Pedo_interrupt_callback() { Pedo_flag=1; } /***************̧Íó¼ì²âʾÀý*********/ uint8_t Wrist_flag=0; void SC7A22H_get_Wrist() { unsigned char reg_value=0; unsigned char Wrist_status; unsigned int Wrist_Count; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset();//ÎÞÎÊÌâ //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ SL_SC7A22H_Check();//ÎÞÎÊÌâ //4,¼ÓËٶȼÆÊ¹ÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x7D, 0x04);//PWR_CTRL ENABLE ACC SL_SC7A22H_Delay_Ms(200); //5,Á¿³ÌÉèÖãº+-4G SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x01);//ACC_RANGE ¡À4G //6£¬ÖжÏÉèÖà //Êä³öÊý¾Ý¼Ä´æÆ÷²»¸üÐÂÖ±µ½ MSB ºÍ LSB ±»¶ÁÈ¡ 2,µØÖ·×ÔÔö£¬Á¬Ðø¶ÁдʱµØÖ·×ÔÔö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, 0x50);//I2C_CFG SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x06, 0x15);//WRIST_ON_FLAG|WRIST_DOWN_FLAG ÖжÏÔÚ INT1 ÉÏ //Æô¶¯Â˲¨ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x08, 0x05);//Enable DLPF //7£¬Ì§ÍóÉèÖà SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x7F, 0x90); SL_SC7A22H_Delay_Ms(1); SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x7F, 0x90); SL_SC7A22H_Delay_Ms(1); //ÊÖÍó¼ì²âʹÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x3E, 0x10); //ÔÊÐí½Ç¶ÈÎó²îÉèÖÃ:16LSB, ÌùƬλÖÃÉèÖãºÕýÃæº¸½ÓλÖÃ3 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x51, 0x33); //̧ÊÖÄ¿±ê½Ç¶ÈÖµÉèÖÃλ:¶ÔÓ¦¼ÓËÙ¶ÈÖµ4 SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x52, 0x02); //̧ÊÖʶ±ðÁéÃô¶ÈÉèÖãº16LSB£¬Ì§ÊÖ״̬´¥·¢ËùÐè³ÖÐøÊ±¼äµÄÉèÖãº0.4s,À뿪̧ÊÖ״̬´¥·¢ËùÐè³ÖÐøÊ±¼ä:0.4s SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x53, 0x93); SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE,0x7F, 0x00); SL_SC7A22H_Delay_Ms(1); //8£¬µÍ¹¦ºÄģʽʹÄÜ 50HzÊä³ö SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0x26);////ACC_CONF 0x07=50Hz //µÈ´ýÖжϴ¥·¢ Wrist_flag=0; while(1) { if(Wrist_flag) { Wrist_flag=0; Wrist_status=SL_SC7A22H_Get_Wrist_Status(); } } } //Óû§Ðè×Ô¶¨ÒåÖжϷþÎñº¯Êý£¬µ±Ô˶¯¼ì²âʼþ´¥·¢Ê±INT1»á´Ó¸ßµçƽ±äΪµÍµçƽ£¬Óû§¿ÉÒÔIO²¶×½Ï½µÑزúÉúÖÐ¶Ï //ÔÚÆäÖжϷþÎñÖе÷Óøĺ¯Êý void Wrist_interrupt_callback() { Wrist_flag=1; } void SC7A22H_self_test() { signed short SL_Read_Buf[3]={0}; signed short SL_XYZ_Data[3]={0}; unsigned char reg_value=0; uint8_t data; uint8_t buff[6]; //1.³õʼ»¯Í¨ÐÅ½Ó¿Ú SL_SC7A22H_I2c_Spi_Init(SL_SC7A22H_SPI_IIC_MODE); //2.¸´Î»Ð¾Æ¬ SL_SC7A22H_Soft_Reset();//ÎÞÎÊÌâ //3.¼ì²éÊÇ·ñÄܶÁȡоƬWHO AM I¼Ä´æÆ÷ SL_SC7A22H_Check();//ÎÞÎÊÌâ //¼ÓËٶȼÆÊ¹ÄÜ SL_SC7A22H_I2c_Spi_Write(SL_SC7A22H_SPI_IIC_MODE, 0x7D, 0x04);//¼ÓËٶȼÆÊ¹ÄÜ delay_ms(15); //µÍ¹¦ºÄģʽʹÄÜ, µÍ¹¦ºÄģʽ:1¸öÊý¾Ýƽ¾ùÒ»´Î£¬50HzÊä³ö //È«Á¿³ÌÑ¡Ôñ:¡À8G SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x41, 0x02);//ACC_RANGE ¡À8G SL_SC7A22H_I2c_Spi_Read(SL_SC7A22H_SPI_IIC_MODE, 0x6D, 1, ®_value); delay_ms(60); SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x40, 0xac);//ACC_CONF 0x07=50Hz delay_ms(60); //µØÖ·×ÔÔö£¬Á¬Ðø¶ÁдʱµØÖ·×ÔÔö,Á¬Ðø¸üРSL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x05, 0x10);//I2C_CFG delay_ms(60); // SL_SC7A22H_I2c_Spi_Read(SL_SC7A22H_SPI_IIC_MODE, 0x6D, 1, ®_value); //×Ô²âÊÔģʽʹÄÜ---Õý·½Ïò£¬ ƫתµÍÕñ·ù SL_SC7A22H_I2c_Spi_Write(SL_SPI_IIC_INTERFACE, 0x6D, 0x05);// delay_ms(60); while(1) { SL_SC7A22H_RawData_Read(&gsensor_soft_fifo_buffer[0].sXAxisVal, &gsensor_soft_fifo_buffer[0].sYAxisVal, &gsensor_soft_fifo_buffer[0].sZAxisVal); delay_ms(1000); } }