主题中讨论的其他器件:CC2640R2F
我已使用 CC2640R2 launchpad 为 CC2640R2F 微控制器开发了 ADC 转换代码。
我已将板载3.3V 电源引脚连接到 DIO23引脚。 当我在 CCS IDE 中编译 ADC 代码时、我在 UART 终端窗口中获得 ADC 读数、但 ADC 读数存在差异。
我已附上 ADC 读数、万用表输出和 ADC 代码的屏幕截图。
万用表持续显示3.24V、但数字值不同、即 ADC 读数不同。 为什么会发生 ADC 读数变化?
ADC 读数是变化还是恒定?
有人可以解决我的问题吗?
我提供了以下文件:
e2e.ti.com/.../cc2640r2f_5F00_adc_5F00_code_5F00_working.rtf
/*
*版权所有(c) 2015-2017、德州仪器(TI)公司
*保留所有权利。
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
**源代码的重新分发必须保留上述版权
* 注意、此条件列表和以下免责声明。
*
**二进制形式的再发行必须复制上述版权
* 请注意、中的此条件列表和以下免责声明
* 随分发提供的文档和/或其他材料。
*
**德州仪器公司的名称和名称均不相同
* 其贡献者可用于认可或推广衍生产品
* 未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者"按原样"提供
*以及任何明示或暗示的保证、包括但不限于:
*特定适销性和适用性的隐含保证
*不承认目的。 在任何情况下、版权所有者不得或
*派遣国应对任何直接、间接、偶然、特殊、
*典型或必然的损害(包括但不限于
*采购替代货物或服务;丧失使用、数据或利润;
*或业务中断)、无论原因是什么以及任何责任理论、
*无论是合同、严格责任还是侵权行为(包括疏忽或)
*否则)因使用本软件而以任何方式产生、
*即使被告知可能会发生此类损坏。
*
/*
*==== empty.c ======
*
/* for usleep()*/
#include
#include
#include
/*驱动程序头文件*/
#include
#include
#include
//#include
//#include
//#include
//#include
//#include
/*板头文件*/
#include "Board.h"
/* GUI Composer 的全局变量*/
uint16_t adcValue = 0;
/*
*==== mainThread ====
*
void * mainThread (void * arg0)
{
/* 1秒延迟*/
uint32_t 时间= 100000;
/*调用驱动程序初始化函数*/
GPIO_init();
adc_init();
// I2C_init ();
// SDSPI_init ();
// spi_init();
// uart_init();
// Watchdog_init();
/*打开显示驱动程序*/
Display_Handle displayHandle;
Display_Params displayParams;
Display_Params_init (&displayParams);
DisplayHandle = Display_open (Display_Type_UART、NULL);
/*打开 ADC 驱动程序*/
ADC_Handle ADC;
ADC_Params 参数;
ADC_PARAMS_INIT (params);
ADC = ADC_open (Board_ADC0、params);
if (ADC == NULL){
//初始化 ADC 通道0时出错
while (1);
}
while (1){
int_fast16_t res;
RES = ADC_convert (ADC、&adcValue);
if (res == ADC_STATUS_SUCCESS){
Display_printf (displayHandle、1、0、"ADC 读取%d"、adcValue);
}
usleep(时间);
}
}