Thread 中讨论的其他器件:BLE-STACK、
工具/软件:Code Composer Studio
大家好、
我正在尝试使用 ADC 外设(我曾尝试参考此示例: https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/404426/1433112#pi239031350=1 )
我的目标非常简单:启用 ADC 并在再次禁用 ADC 之前执行一次值读取...
我正在使用与示例相同的引脚(DIO_23)、但是在手动触发 ADC 之后(使用 AUXADCGenManualTrigger ()函 数;)、代码残留在 AUXADCReadFifo ()函数中。 我已经尝试在中断中使用此函数(从未提出中断)、并且还直接调用 readFifo 函数... 结果相同:指令上的执行残桩:
while (HWREG (AUX_ANAIF_BASE + AUX_ANAIF_O_ADCFIFOSTAT)和 AUX_ANAIF_ADCFIFSTAT_EMPT_M);
功能中的一个示例
转换似乎从未完成。 您能帮助我了解我的代码中是否有错误吗?
这是我的代码的提取:(中断未启用、因为在本例中、我尝试直接读取 FIFO)
----------------------------------------------------
该引脚初始化为:"ioID_23| PIN_INPUT_DIS | PIN_GPIO_OUTPUT_DIS"
----------------------------------------------------
//为 ADC 启用中断
// Hwi_Params hwiParams;
// Hwi_Params_init (&hwiParams);
// hwiParams.enableInt = true;
// Hwi_construction (&hwi、INT_AUX_ADC、adcIsr、&hwiParams、NULL);
POWER_setConstraint (Power_SB_Disallow); //使用 ADC 时禁用待机模式
//为 ADC 数字和模拟接口启用时钟(当前未在驱动程序中启用)
AUXVCClockEnable (AUX_WuC_MODCLKEN0_ANAIF_M | AUX_WuC_MODCLKEN0_AUX_ADI4_M);
AUXADCselectInput (ADC_COMPB_IN_AUXIO7); //将 AUX IO7 (DIO_23)连接为模拟输入。
AUXADCEnableSync (AUXADC_REF_FIXED、AUXADC_SAMPLE_TIME_2P7_US、AUXADC_TRIGGER_MANUAL); //设置 ADC
AUXADCGenManualTrigger (); //触发读数
AdcSample = AUXADCReadFifo ();//从 FIFO 读取值
AUXADCDisable ();//禁用 ADC
POWER_releaseConstraint (POWER_SB_disallow); //再次允许待机模式
----------------------------------------------------
提前感谢!
垫