8(100%开源)蓝牙心率防水运动手环_三轴计步伐.docx
《8(100%开源)蓝牙心率防水运动手环_三轴计步伐.docx》由会员分享,可在线阅读,更多相关《8(100%开源)蓝牙心率防水运动手环_三轴计步伐.docx(7页珍藏版)》请在第一文库网上搜索。
1、蓝牙心率防水运动手环三轴计步伐智能穿戴开发系列配套资料:https:/www.fengke.c1ub/GeekMart/su_fkZyGYgrp.jsp配套视频:https:/www.fengke.c1ub/GeekMart/su_fTSgU13y3.jsp三轴记步1相关简介本次,我们将使用DA14580的硬件I2C读取三轴传感器的步数。I2C总线是一个为系统中电路通信提供支持的可编程控制总线,它是一个软件定义的两线通信协议。两线I2C串行接口包括一个串行数据线(SDA)和一个串行时钟线(SC1);支持两种通行速率,标准模式(0100Kbs)和快速模式(小于等于400Kbs);时钟同步;32字
2、节的发送接收FIFO;主机发送与接收操作;7或10位地址,7或10位混合格式发送;块发送模式;默认从地址为0x055;中断或者轮询操作模式;可编程的数据线保持时间;本次使用的三轴传感器是1IS2DS12o1IS2DS12是一种超低功率高性能三轴线性加速度计,具有用户可选择的尺寸2G/4G/8G/16G,能够测量输出数据速率从IHZ到640OHZ的加速度。并且具有集成的256级先入先出(F1FO)缓冲器,让用户在存储数据时,限制主机处理器的干预。1IS2DS12支持SPI和I2C两种接口,我们这里采用的I2C接口。2硬件设计1IS2DS12一共有12引脚。1脚SC1是时钟信号。2脚CS是SPI/
3、I2C使能引脚。第3引脚是SP1的数据输出,由于这里用的I2C,这个引脚空余。引脚SDA是I2C用来传送数据的。还有两个中断脚INT1、INT2,打开之后,当1IS2DS12检测到步数,能产生中断电平。图13软件设计首先,完成系统初始化,调用SystemJnitO,可以参考前面的电量检测。接下来就是I2C的使用了。第一步我们配置I2C的相关引脚。GpIC1GOnurePin(12JGPQPOFT12qjJPIN,INPUT,PIDJ2C_SC1,fa1se);GPIO_ConfigurePin(12C_GPIO_PORTzI2C_SDA_PIN,INPUT,PIDJ2C-SDA,fa1se);
4、第二步,就是通过下面函数初始化12Covoidi2c_eeprom_init(uint16_tdev_addresszuint8_tspeed,uint8_taddress_mode,uint8_taddress_size)(mem_address_size=address_size;SetBitS16(C1K_PER_REG,I2C_ENAB1E,1);/使能I2C时钟SetWord16(12C_ENAB1E_REG,0x0);/关闭I2C的控制器SetWord16(12C_CON_REG,I2C_MASTER_MODEI2C_S1AVE_DISAB1EI2C_RESTARTEN);/失能从
5、设备SetBitS16(12JCON_REG,I2JSPEED,speed);设置传送速度SetBitSI6(I2C_CON_REG,12Cj1OB1TADDR_MASTER,address_mode);设置寻址方式SetWord16(12C_TAR_REGzdev_address&0x3FF);/设置从设备地址SetWord16(12JENAB1E_REG,OX1);/使能I2C控制器WAIT_UNTI1_NO_MASTER_ACTIVITY();/等待I2C主机FSM空闲i2c_dev_address=dev-address;)代码1完成I2C的初始化之后,我们就可以通过i2c_eepro
6、m_read_byte(Uint32_taddress,uint8_t*byte)对1IS2DS12进行读操作,通过i2c_eeprom_write_byte(uint32_taddress,uint8_tbyte)对1IS2DS12进行写操作。通过2C的读写函数,对1IS2DS12寄存器进行读写,就能使用1IS2DS12o详细资料可以查询1IS2DS12的datasheeto首先,我们是调用函数StatusJ1IS2DS12_ACC_R_WHO_AM_1_BIT(u8_t*va1ue)读取设备ID,判定是否为正确的设备。然后,我们调用1IS2DS12_ACC_W_SOFT_RESET(1IS
7、2DS12_ACC_SOFT_RESET_tnewVa1ue),软件初始化1IS2DS12设备。如果读取设备错误或者软件初始化不成功,DA14580会进入一个空的死循环。最后,我们会进入1oop_Test_Pedometer(),记步测试。staticvoid1oop_Test_Pedometer(void)(init_1IS2DS12_Pedometer();酉已置计步器1IS2DS12_ACC_W_RST_NSTEP(US2DS12_ACC_RST_NSTEP_ON);步数清零WhiIe(I)1IS2DS12_ACC_GeJStePCOUnter(U8_t*)&Number_Of_Step
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 100 开源 蓝牙 心率 防水 运动 三轴计 步伐