ADXL345的详细介绍资料 本模块使用说明书。 本压缩文件能够利用角度传感器对x,y,z三方的加速度值,角度值进行测量,并集成了1602对其进行显示。 为了便于使用,我们分别将模块单独化,如果您有使用的意向,可以单独摘出 angle.c 引入到您自己新建的工程中。 关于angle.c文件的内部函数使用说明。 首先为了便于使用和方便引用我们对内部函数进行了高度集成化,您在引入angle.c后直接在您的主程序中调用 dis_data();函数,可完成ADXL345芯片的测量数据, 测量数据说明: char as_Xjiasu[6],as_Yjiasu[6],as_Zjiasu[6]; //定义3轴静态重力加速度值的ASCII码值 unsigned char as_Xangel[4],as_Yangel[4],as_Zangel[4]; //定义3轴角度值的ASCII码值 as_Xjiasu[x]数组里边我们为了您的使用直接将 加速度值转换成了 能够直接显示到 1602上的ASCII码值,同理as_Xangel 真实数据存放说明。 floAT jiasu_xyz[3]; angel_xyz[3]; //存放X,Y,Z 轴的静态重力加速度,角度值 存放了 加速度和角度的真实值(未经转换成ASCII码的数据)--本数据可以用于其他用途,直接参与MCU内部运算等。
上传时间: 2013-11-17
上传用户:wpwpwlxwlx
用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); floAT xHeading = atan2(scaled.YAxis, scaled.XAxis); floAT yHeading = atan2(scaled.ZAxis, scaled.XAxis); floAT zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; floAT xDegrees = xHeading * 180/M_PI; floAT yDegrees = yHeading * 180/M_PI; floAT zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2013-12-16
上传用户:stella2015
随着USB技术日趋成熟,USB开发者只需要关注顶层开发即可,这样虽然减少了工作量,但容易使开发者忽略USB基础理论与概念,导致的弊端在于开发者一旦遇到问题,往往不知如何解决。作者基于多年USB开发经验,针对当前很多USB开发者容易混淆的概念,进行深入浅出的剖析,针对枚举和重枚举的区别、不同启动方式的区别等问题,进行了归纳总结。本文从对比的角度分析问题,有助于开发者理清USB的工作机理。
标签: USB
上传时间: 2013-10-26
上传用户:zaocan888
用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); floAT xHeading = atan2(scaled.YAxis, scaled.XAxis); floAT yHeading = atan2(scaled.ZAxis, scaled.XAxis); floAT zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; floAT xDegrees = xHeading * 180/M_PI; floAT yDegrees = yHeading * 180/M_PI; floAT zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2014-03-20
上传用户:tianyi223
由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面: 不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。 对于floAT数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。 对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确的结果。 对于函数调用语句,不进行参数匹配检查,如果参数数量不对,也将能通过编译,但运行时将产生非法操作。 对&& !等逻辑操作在最后生成代码时处理比较粗燥,生成的代码在逻辑复杂时将不能保证运行正常。 接下来有一些,不能说是缺陷,但必须说明的问题: 对于main函数,没有参数表,通回类型也必须为void,但如果写上参数表及其他返回类型也能编译通过,生成代码时将简单地忽略,不影响最后的代码的运行。 对于while,for,if语句,其语句体不管是一句还是多句,必须都有{}围起来。这跟C语言中若是一句则可省略{}不同。
标签:
上传时间: 2015-03-14
上传用户:gmh1314
餐饮管理系统数据库设计文档 表名:bzqbj(保质期报警表) 字段名 字段类型 字段长度 (0表示不允许NULL,1为允许) id bigint 8 0 id ylid varchar 50 1 原料id ylmc varchar 50 1 原料名称 diffbzq bigint 8 1 距离保质期的时间 diffbzqyj bigint 8 1 距离保质预警期的时间 bzq bigint 8 1 保质期 表名:cdb(菜单表) id varchar 50 1 mc varchar 50 1 名称 price floAT 8 1 价格 lbbh bigint 8 1 类别编号(typelist) dlmc varchar 50 1 大类名称 tj floAT 8 1 特价 sftj int 4 1 是否特价 sfjl int 4 0 是否酒类
上传时间: 2015-04-01
上传用户:royzhangsz
c语言编译器arm-gen.c asmtest.S bcheck.c boundtest.c c67-gen.c Changelog coff.h configure COPYING elf.h [examples] floAT.h gcctestsuite.sh i386-asm.c i386-asm.h i386-gen.c il-gen.c il-opcodes.h libtcc.h libtcc1.c libtcc_test.c Makefile README stab.def stab.h stdarg.h stdbool.h stddef.h tcc-doc.html tcc-doc.texi tcc.1 tcc.c tccasm.c tcccoff.c tccelf.c tcclib.h tccpe.c tcctest.c tcctok.h texi2pod.pl tiny_impdef.c TODO varargs.h VERSION
标签: Changelog boundtest configure arm-gen
上传时间: 2014-01-16
上传用户:拔丝土豆
剖析Intel IA32 架构下C 语言及CPU 浮点数机制 Version 0.01 哈尔滨工业大学 谢煜波 (email: xieyubo@126.com 网址:http://purec.binghua.com) (QQ:13916830 哈工大紫丁香BBSID:iamxiaohan) 前言 这两天翻看一本C 语言书的时候,发现上面有一段这样写到 例:将同一实型数分别赋值给单精度实型和双精度实型,然后打印输出。 #include <stdio.h> main() { floAT a double b a = 123456.789e4 b = 123456.789e4 printf(“%f\n%f\n”,a,b) } 运行结果如下:
标签: Version xieyubo Intel email
上传时间: 2013-12-25
上传用户:徐孺
参照栈类模板的例子编写一个队列类模板class <T> Queue,私有成员包括:队首指针Front,队尾指针Tail,队列容积max。实现:构造函数Queue,析构函数,入队函数In,出队函数Out(每次出队,后面的元素自动前移一位),判队列空函数Empty。并分别用队列类模板定义int和floAT对象,调用各个成员函数
上传时间: 2013-12-03
上传用户:BIBI
函数模板T max(T a, T b, T c),使之实现对任何类型数,能从三个数中求出最大数返回。设计各种类型数据(char,short,long,floAT,double)调用此函数模板。
上传时间: 2015-07-07
上传用户:时代电子小智