This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC1350:LAUNCHXL-CC1350 ADC 读取问题

Guru**** 2519660 points
Other Parts Discussed in Thread: CC1350

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1043278/launchxl-cc1350-launchxl-cc1350-adc-reading-problem

器件型号:LAUNCHXL-CC1350
主题中讨论的其他器件:CC1350

您好!

我正在使用 TI driverlib 开发一个程序、用于在没有操作系统的情况下启动 CC1350、以便从 AUXIO07 (DIO 23)读取 ADC 样本。 当我执行我的程序时、它在尝试读取 ADC 缓冲器时卡住。 下面是我使用的程序。 您能告诉我什么是错误的、或者是否有缺失的东西吗?
注意:我在没有 ADC 读取器件的情况下尝试了 UART、结果正常。

#include
#include "driverlib/gpio.h"
#include "driverlib/IoC.h"
#include "driverlib/uart.h"
#include "driverlib/prcm.h"
#include "driverlib/timer.h"
#include "driverlib/sys_ctrl.h"
#include "inc/hw_memmap.h"
#include "inc/hw_aux_aio.h"
#include "inc/hw_ints.h"
#include "driverlib/osc.h"
#include "driverlib/aon_batmon.h"
#include "driverlib/aux_adc.h"
#include "inc/hw_aux_wuc.h"

void led 设置(void)

PRCMPowerDomainOn (PRCM_DOMAIN_PERIPh);
while (PRCMPowerDomainStatus (PRCM_DOMAIN_Periph)!= PRCM_DOMAIN_POWER_ON);

PRCMPeripheralRunEnable (PRCM_Periph_GPIO);
PRCMLoadSet();
while (!PRCMLoadGet());

GPIO_setOutputEnableDio (IOID_7、GPIO_OUTP_ENABLE);

void adc_setup()

AUXVCClockEnable (AUX_WuC_ADI_CLOCK | AUX_WuC_OSCCTRL_CLOCK | AUX_WuC_ADC_CLOCK);//
while (AUXVCClockStatus (AUX_WuC_ADC_CLOCK)=AUX_WuC_CLOCK _OFF);

IOCPinTypeAux (IOID_23);

AUXADCselectInput (ADC_COMPB_IN_AUXIO7);
HWREGH (((AUX_AIODIO0_BASE + AUX_AIODIO_O_IOMODE + 0x00000002))= 0x4000;

HWREGB (AUX_AIODIO0_BASE + AUX_AIODIO_O_GPIODIE+0x00000003)= 0x00;
AUXADCEnableSync (AUXADC_REF_FIXED、AUXADC_SAMPLE_TIME_1P37_MS、AUXADC_TRIGGER_MANUAL);

//
void UART_SEND_setup()

PRCMPowerDomainOn (PRCM_DOMAIN_serial);// UART 0
while (PRCMPowerDomainStatus (PRCM_DOMAIN_serial)!= PRCM_DOMAIN_POWER_ON);

PRCMPowerDomainOn (PRCM_DOMAIN_PERIPh);
while (PRCMPowerDomainStatus (PRCM_DOMAIN_Periph)!= PRCM_DOMAIN_POWER_ON);

PRCMPeripheralRunEnable (PRCM_Periph_UART0);
PRCMLoadSet();
while (!PRCMLoadGet());

IOCPinTypeUart (UART0_BASE、IOID_2、IOID_3、IOID_19、IOID_18);

UARTDisable (UART0_BASE);

UARTConfigSetExpClk (UART0_BASE、48000000115200、UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE);

UARTHwFlowControlDisable (UART0_BASE);

UARTEnable (UART0_BASE);

void 函数(void)

AUXADCGenManualTrigger ();

while (AUXADCGetFifoStatus ()= AUXADC_FIFO_EMPTY_M);
GPIO_toggleDio (IOID_7);
uint32_t voltage = AUXADCPopFifo ();

for (int i = 1000;i >= 1;i = i /10)

int v3 =(电压/I);
CHAR CH2 = v3 +"0";
UARTCharPut (UART0_BASE、CH2);
电压=电压- v3*I;

UARTCharPut (UART0_BASE、');
UARTCharPut (UART0_BASE、'V');
UARTCharPut (UART0_BASE、'\n');

int main (空)

LED_setup();
UART_SEND_setup();
adc_setup();
CPUdelay (16000000);
function();
while (1);
返回0;