关于cc2530的ADC使用的方法

本文分享了在调试CC2530 ADC过程中遇到的问题及解决方法,包括配置寄存器如APCFG,以及如何正确读取ADCL和ADCH的10位有效数据。通过实例计算,解释了如何组合ADCH和ADCL得到实际电压值,同时也提到了0V转换可能导致的溢出问题,并感谢指导老师。
摘要由CSDN通过智能技术生成

在调试cc2530的上的ADC的小实验中,遇到的一些问题,想和大家一起分享一下。

关于ADC的使用需要注意以下几点:

 1.关于配置的寄存器:IO口的配置,其实仔细用大脑想想不用看数据手册就应该想到,IO口要配置成为输入模式,以下摘自数据手册:当使用ADC时,端口0引脚必须配置为ADC输入。可以使用多达八个ADC输入引脚。要配置一个端口0脚为一个ADC输入,APCFG寄存器中相应的位必须设置为1。这个寄存器的默认值选择端口0引脚为非ADC,即数字输入输出。APCFG寄存器的设置将覆盖P0SEL的设置。

2.关于和ADC有关的几个寄存器,实验中使用的是ADCL和ADCH,主要放的是ADC转换完毕的值,控制ADC启用转换的是三个控制器,分类是这样的ADCCON1,ADCCON2,ADCCON3.其中ADCCON1,ADCCON2可以启用连续转换,而ADCCON3可以控制某一个通道执行一次转换。以上这些一般人都是可以通过看手册配置的,但是配置不是什么大问题,但是从ADCL和ADCH取值有疑问的。经过我的实验,我总结到一个规律:

   说实话,TI的CC2530的数据手册有点失败,不过还好ADC能用,数据手册上是说ADC的最大有效数据位为12位。令人奇怪的是却留给用户一个ADCH和ADCL的高6位总共14位,真是令人费解,说好呢12位呢?不禁让人猜想是不是本来设计的是14位,发现无法满足设计的要求,就成12位了,呵呵。

 我用的是10位的有效数据,但是怎么从ADCH和ADCL拼凑这10位的数据,通过实验,我可以负责任地告诉大家,其实是这样算的。注我选的是以AVDD5作为参考电压的&

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值