工具/软件:
尊敬的 TI 团队
我正在尝试运行 中断模式下的 ADC0 通道 0 。 当 ADC 中断正常工作时、 未调用回调函数 亮起。
您能查看下面的代码片段、告诉我可能缺少哪些内容吗?
此外、我已经查看了 MCU+ SDK 10.02 示例。 adc_soc_continuous_dma我注意到示例中定义了两个回调函数、但它们似乎都不是由任何中断触发的。
期待您就此问题提供指导。
静态 void App_adcISR (void *args);
static void App_dmach0isr (Edma_Intr 处理程序、void *args);
这些是 SDK 示例代码的函数
这是我的代码
注意 — 代码正常工作,根据输入电压,ADC 转换正确。
#include
#include “ti_drivers_config.h"</s>“
#include “ti_board_config.h"</s>“
#include
#include
#include
#include
void hello_world_main (void * args);
void Uart_Inti ();
HwiP_Params ADC_params;
HwiP_Object my_adc;
#define CSLR_R5FSS0_CORE0_INTR_ADC0_INTR_0 (150u)
long unsigned int 计数= 0;
void adc_isr (void *arg)//此函数是回调函数、ADC 需要检查是否正在调用
{
count++;
DebugP_log(“调用 ADC 回调\r\n“);
}
空 adcOpen ()
{
HwiP_Params_init (&ADC_params);
adc_params.intNum = CSLR_R5FSS0_CORE0_INTR_ADC0_INTR_0;
adc_params.callback =&ADC_ISR;
adc_params.priority = 10;
ADC_setupSOC (CONFIG_ADC0_BASE_ADDR、0、ADC_TRIGGER_SW_ONLY、ADC_CH_ADCIN0、16);
ADC_enableConverter (CONFIG_ADC0_BASE_ADDR);
/* ADC 上电延迟。 */
ClockP_USleep (500);
ADC_enableInterrupt (CONFIG_ADC0_BASE_ADDR、0);
// HwiP_Params_init (&ADC_params);
HwiP_construct (&my_adc、&adc_params);
}
内部 main (void)
{
system_init();
BOARD_INIT ();
hello_world_main (NULL);
DebugP_LOG(“Start Initialize ADC0 \r\n“);
adcOpen();
while (1)
{
ADC_clearInterruptStatus (CONFIG_ADC0_BASE_ADDR、ADC_INT_number1);
ADC_forceSOC (CONFIG_ADC0_BASE_ADDR、ADC_SOC_NUMBER0);
while (ADC_getInterruptStatus (CONFIG_ADC0_BASE_ADDR、ADC_INT_number1)= false)
{
}
DebugP_log(“CH0:%d\r\n“、ADC_readResult (CONFIG_ADC0_RESULT_BASE_ADDR、ADC_SOC_NUMBER0));
DebugP_log(“%d:“、count);
GPIO_pinWriteHigh (LED_RED_BASE_ADDR、LED_RED_PIN);
ClockP_SLEEP (1);
GPIO_pinWriteLow (LED_RED_BASE_ADDR、LED_RED_PIN);
ClockP_SLEEP (1);
//count=0;
}
BOARD_DEINIT();
system_deinit();
返回 0;
}


