求助 CC2530ADC
使用官方的CC2530+CC2591 IEM 3.2模块,在编写ADC采样程序的时候,采集的结果一直是满刻度,后来试了一下片内的温度传感器,仍然采集的是满刻度,把同一个采集片内温度传感器的程序,下载到另一个不是官方的CC2530开发板上能正常采集。困扰好几天了,实在找不到问题所在。是官方的板上有什么特殊功能我没有注意到吗?谁能帮我解答下,不胜感激。
你的程序是基于官方的硬件的,还是非官方硬件的,看下IO定义正确吗?
因为采集的是内部的温度传感器,好像没有什么IO需要配置(个人感觉),官方 的那块板上有什么特殊的线需要连吗,我刚开始实验的时候灯都点不亮,后来发现CC2530+CC2591的这块板上P1.1的线上就有一个断点,需要自己焊上。不知道这块板上还有其他什么特殊的地方。
如果同样的程序在其他板子上能够工作,应该是硬件问题了。再查下其他的焊接是否正常。
用单步调试试下。
万用表量过了,连接没问题,就算没连好的话,应该显示的是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;
}
在使能CC2591的时候,是否影响了IO的配置。
找到原因了,把供电电压调成3.3V就正常了