ADXL362 程序
来源:互联网 发布:亿程旅行社 知乎 编辑:程序博客网 时间:2024/06/06 19:54
直接上程序:
/************************************************************************************************** * @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); //}
1 0
- ADXL362 程序
- DA14580与ADXL362应用
- nRF51822 SPI 驱动 ADXL362
- ADXL362 初次使用总结(使用stm32 HAL 库)
- 程序
- 程序
- 程序
- 程序!~~`````
- 程序
- 程序
- 程序
- 程序
- 程序
- 程序
- 程序
- 程序
- 程序
- 程序
- 设备树(三)linux内核主线次顶层common-335x-evm.dts
- 什么是多线程 和GCD 的认识
- 【NOIP 2015】总结
- 查看apt-get install文件安装到哪里
- 如何去掉datatable的重复行
- ADXL362 程序
- LeetCode:Factorial Trailing Zeroes
- 小菜鸟的第一个实训小项目总结
- weblogic linux启动报错java.net.UnknownHostException
- 杭电2734 Quicksum
- JavaScript基础——浏览器对象模型(BOM)
- CSS3 动画 Animation
- UVA 题目10617 - Again Palindrome(区间DP)
- Spring、Spring事务详解;使用XML配置事务