关闭

ADXL362 程序

标签: CADXL362
4111人阅读 评论(5) 收藏 举报
分类:

直接上程序:

/**************************************************************************************************
 * @fn      HalLcd_HW_WaitUs
 *
 * @brief   wait for x us. @ 32MHz MCU clock it takes 32 "nop"s for 1 us delay.
 *
 * @param   x us. range[0-65536]
 *
 * @return  None
 **************************************************************************************************/
void Delay_us(uint16 microSecs)
{
  while(microSecs--)
  {
    /* 32 NOPs == 1 usecs */
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
    asm("nop"); asm("nop");
  }
}
void ADXL362_Write_Reg(uchar Addr0,uchar Data0)
{
    G_CS = 0;
    CS_OLED = 1;
    Delay_us(5);
    SPI_Write_one_reg(0x0A);
    SPI_Write_one_reg(Addr0);
    SPI_Write_one_reg(Data0);
    Delay_us(5);
    G_CS = 1;
}


uint8 ADXL362_Read_Reg(uchar Addr1)
{
    uint8 Data1;
    
    G_CS = 0;
    CS_OLED = 1;
   Delay_us(5);
    SPI_Write_one_reg(0x0B);
    SPI_Write_one_reg(Addr1);
    SPI_Write_one_reg(0x00);
   Delay_us(5);
    Data1 = temp;
    G_CS = 1;
    return Data1;
}
void ADXL362_Burst_Read_Reg(uint8 addr2, uint8 byte, uint8 *data)
{
    uint8 i;
    G_CS = 0;
    CS_OLED = 1;
    Delay_us(5);
    SPI_Write_one_reg(0x0B);
    SPI_Write_one_reg(addr2);
        
    for(i=0;i<byte;i++)
    {
        SPI_Write_one_reg(0x00);
        Delay_us(5);
        SPI_Read_one_reg(data);
        //SPI_Write_one_reg(0x00);
        //*data = temp;
        data++;
	Delay_us(5);
    }
   
    G_CS = 1;
}

void ADXL362_FIFO_read_byte( uint8 byte, uint8 *data)
{ 
    uint8 i;
    G_CS = 0;
    CS_OLED = 1;
    Delay_5us0();
    SPI_Write_one_reg(0x0D);
    for(i=0;i<byte;i++)
    {
        SPI_Write_one_reg(0x00);
        Delay_5us0();
        SPI_Read_one_reg(data);
        data++;
    }
    G_CS = 1;
}

void Delay_5us0(void)
{
     asm("nop");//fcpu 16MHz 时
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
}



void ADXL362Init(void)
{
    P0SEL &= ~ 0x40;//cs pin
    P0DIR |= 0x40;
   
  //HalInitSPI();
    InitAlgorithmParameters_Tap();
    ADXL362_Write_Reg(0x1F,0x52);   // software reset
    Delay_ms(20);
    ADXL362_Write_Reg(0x20,0x1F);   // 0x20 THRESH_ACT_L
    ADXL362_Write_Reg(0x21,0x00);   // 0x21 THRESH_ACT_H
    ADXL362_Write_Reg(0x22,50);   // 0x22 TIME_ACT
    ADXL362_Write_Reg(0x23,0x09);   // 0x23 THRESH_INACT_L
    ADXL362_Write_Reg(0x24,0x00);   // 0x24 THRESH_INACT_H
    ADXL362_Write_Reg(0x25,0x01);   // 0x25 TIME_INACT_L
    ADXL362_Write_Reg(0x26,0x00);   // 0x26 TIME_INACT_H
    ADXL362_Write_Reg(0x27,0x03);   // 0x27 ACT_INACT_CTL   参考模式
    //ADXL362_Write_Reg(0x28,0x00);   // 0x28 FIFO_CONTROL
    //ADXL362_Write_Reg(0x29,0x80);   // 0x29 FIFO_SAMPLES
    ADXL362_Write_Reg(0x28,0x01);   // 0x28 FIFO_CONTROL  Stream mode  0x09
    ADXL362_Write_Reg(0x29,0x33);   // 0x29 FIFO_SAMPLES  0xfe--> 510 byte
    ADXL362_Write_Reg(0x2A,0x84);   // 0x2a INTMAP1  Data_ready 映射到 Int1,下降沿
    ADXL362_Write_Reg(0x2B,0x90);   // 0x2b INTMAP2  avtivity 映射到Int2,下降沿
    ADXL362_Write_Reg(0x2C,0x82);   // 0x2c FILTER_CTL  0x82 50hz 0x84 200hz
    
    ADXL362_Read_Reg(0x0B);
      
    ADXL362_Write_Reg(0x2D,0x02);   // 0x2d POWER_CTL  Measurement mode.

    Delay_ms(200);
    ADXL362_Read_Reg(0x00);
        ADXL362_Burst_Read_Reg(0x0e,6,databuf);
        
     //ADXL362_Write_Reg(0x2D,0x00);   //
}





2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

小米手环 / 运动手环 记步功能原理

很多朋友是第一次接触像小米手环这类运动计步产品,对于那么轻盈小巧的手环能够精准计步,甚至能详细完整的记录睡眠时间觉得非常神奇,本文就和大家详细说说在看不见的小米手环背板下,它是怎么工作的。 ...
  • u013467442
  • u013467442
  • 2015-03-01 21:36
  • 8163

小用stm32f4-CAN控制器(使用库函数)

介绍了stm32f4的CAN总线最简单的通信。
  • gongyuexin
  • gongyuexin
  • 2014-12-01 19:30
  • 5754

MCP2515应用测试程序编译及源码

一、下载libsocketcan-0.0.9.tar.bz2,在虚拟机里解压 配置好交叉编译环境。 进入解压的目录 创建一个shell脚本mymake.sh 添加如下内容: #!/bin/s...
  • sswenxh2006
  • sswenxh2006
  • 2013-12-06 15:54
  • 1323

ADXL362驱动程序

  • 2017-08-19 15:13
  • 10KB
  • 下载

nRF51822 SPI 驱动 ADXL362

硬件平台:微雪nRF51822开发板 软件平台:MDK522 SDK版本:SDK5 nRF51822的任意管脚可以配置成SPI的管脚,其官方给的代码有一个SPI_master,里面只有两...
  • shepinfangdaqi
  • shepinfangdaqi
  • 2017-03-18 14:39
  • 1428

ADXL362中文手册

  • 2014-12-02 10:46
  • 1.03MB
  • 下载

ADXL362 STM32F103 SPI通讯

  • 2017-08-12 16:57
  • 6.21MB
  • 下载

adxl362加速度传感器说明.

  • 2015-07-25 21:10
  • 159KB
  • 下载

adxl362传感器手册

  • 2014-08-08 16:44
  • 1.09MB
  • 下载

adxl362stm32驱动

  • 2017-11-07 11:40
  • 3KB
  • 下载
    个人资料
    • 访问:201766次
    • 积分:2902
    • 等级:
    • 排名:第14098名
    • 原创:77篇
    • 转载:66篇
    • 译文:0篇
    • 评论:45条
    最新评论