我是靠谱客的博主 美丽嚓茶,最近开发中收集的这篇文章主要介绍CC2530ADC转换位数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

话说CC2530ADC转换位数

在这里插入图片描述
打个比方:TI的开发Zigbee协议栈这伙人 接到的通知是TI提供的这个位数 即 8,10,12,14,这个位数包括了符号位,所以在Zigbee协议栈处理数据的时候分别左移8,5,4,2位。
再打个比方:测试这伙人说,不对啊,不精准啊,咱们重新起个名吧,叫有效位,就是实际有效的位数,有效位咱们就不提符号位了。嗯,第一个:8位(TI位)的还凑合,挺准,有效位直接去掉符号位就叫他7位(实际有效位)。其他的都不准那,最后边去掉1位还可以 去掉1位看看,嗯,这回差不多。测试文档:实际有效位 7,9,10,12。

情节1:
测试:开发哈,你改一下哈,测得这个位数的精度比较准。
开发:你可得了吧,咱么这专业的电气工程师,亲自提供的算法,你给改了我拿什么去写开发文档。就说是你估计的?没理论别瞎联系实际行不。

情节2:
测试:老板,你看,开发不听我的,他说没有依据,就不顾实际值。我觉得还是精度对于用户来说重要。
老板:这样吧,提供技术文档的时候把你们两个的想法都加进去,让用户自己去选择,这样咱们既有测试,又有理论依据。而且就是后边差了哪一位,就差1个精度(最小变化值)[看不出就差1个精度的回去掰手指算]。不会出太大的问题,差不多就行了哈。

情节3:
测试:老板说了,把我的结果也写到技术文档里,让用户自己去选择,是理论重要还是实际重要,能开发个接口不?让用户选择。
开发:加什么接口,加不了加不了。要改自己改去,理论就是对的,要实际结果让他自己改去,都给实际有效位了,还想咋地。不会自己改玩什么Zigbee!
测试:哦哦,那好吧。

所以,各位用户,理论 还是 实际 你们自己选嘛!

/*使用实际有效位:*/
//7位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 8
	Vo = value/2^7*Vref;
	//(2^7自己算去C语言不这么提供!Vref:参考电压!你自己选的)
	//value :16位无符号整型
	//Vo :float double 自己选
//9位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 6
	Vo = value/2^9*Vref;
//10位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 5
	Vo = value/2^10*Vref;
//12位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 3
	Vo = value/2^12*Vref;

/*使用TI位:*/
//8位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 8
	Vo = value/2^(8-1)*Vref;
	//(减一的原因是:去掉符号位,实际有效位的算法是没有符号位的!!)
	//value :16位无符号整型
	//Vo :float double 自己选
//10位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 5
	Vo = value/2^(10-1)*Vref;
//12位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 4
	Vo = value/2^(12-1)*Vref;
//14位
	value = ADCH<<8;
	value |= ADCL;
	value >>= 2
	Vo = value/2^(14-1)*Vref;

第一发帖 手动添加[慌张.jpg]

最后

以上就是美丽嚓茶为你收集整理的CC2530ADC转换位数的全部内容,希望文章能够帮你解决CC2530ADC转换位数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部