使用官方的CC2530+CC2591 IEM 3.2模块,在编写ADC采样程序的时候,采集的结果一直是满刻度,后来试了一下片内的温度传感器,仍然采集的是满刻度,把同一个采集片内温度传感器的程序,下载到另一个不是官方的CC2530开发板上能正常采集。困扰好几天了,实在找不到问题所在。是官方的板上有什么特殊功能我没有注意到吗?谁能帮我解答下,不胜感激。
VV:
你的程序是基于官方的硬件的,还是非官方硬件的,看下IO定义正确吗?
rongzhe he:
回复 VV:
因为采集的是内部的温度传感器,好像没有什么IO需要配置(个人感觉),官方 的那块板上有什么特殊的线需要连吗,我刚开始实验的时候灯都点不亮,后来发现CC2530+CC2591的这块板上P1.1的线上就有一个断点,需要自己焊上。不知道这块板上还有其他什么特殊的地方。
VV:
回复 rongzhe he:
如果同样的程序在其他板子上能够工作,应该是硬件问题了。再查下其他的焊接是否正常。
用单步调试试下。
rongzhe he:
回复 VV:
万用表量过了,连接没问题,就算没连好的话,应该显示的是0啊,编了个简单的测试程序,在一块单纯的CC2530板上(非官方)试了,采集的数正常,下载到官方的板CC2530+CC2591 测试con的值一直是2047。纠结好几天了,也找不到原因。能是因为我的芯片供电电压2.5V影响的吗?手册是写的是1.8v至3.6v啊。
#include<ioCC2530.h>#include"stdio.h"int con;void main(){ int value; CLKCONCMD = 0x80; while(CLKCONSTA&0x40); P0SEL|=0x03; P1DIR|=0x03; APCFG|=0x03; ADCCON1|=0x30; ADCCON3=0x30; while(!(ADCCON1 & 0x80)); value = ADCL >> 4; //ADCL 寄存器低 2 位无效 value |= (((int)ADCH) << 4); con=value;}
VV:
回复 rongzhe he:
在使能CC2591的时候,是否影响了IO的配置。