器件型号:MSP432P401R
工具/软件:Code Composer Studio
您好!
我正在使用 Resource Explorer 中的示例/演示:
boostxl_edumki_microphonefft_msp432p401r 和 MSP-exp432p401r_grlib_example
我正在集成触摸屏 LCD 并创建一个菜单来转到不同的显示页面。 其中一个页面是播放我的项目的音频信号的 FFT。 在 FFT 屏幕上、我想在右上角有一个"X"来触摸、然后退出 FFT 显示屏幕以返回主菜单。 我遇到的问题是、触摸屏和 FFT 具有两个独立的 ADC 配置。 下面显示了 ADC 配置的两个片段:
FFT:
MAP_ADC14_enableModule ();//启用 ADC 块
MAP_ADC14_initModule (ADC_CLOCKSOURCE_MCLK、ADC_PREDIVIDER_1、ADC_DIVIDER_1、0);
// MCLK - CPU 的时钟源
//预分频器_1 -在将给定的时钟源馈入主时钟分频器之前对其进行分频。 (默认值)
// Divider_1 -对预分频时钟源进行分频(默认)
// 0 - ADC_NOROUTE,无内部信道掩码
MAP_ADC14_setResolution (ADC_14BIT);
MAP_ADC14_setSampleHoldTrigger (ADC_TRIGGER_SOURCE1、false);
//触发源1 -设置 ADC 模块触发源。
//错误-上升沿触发信号
MAP_ADC14_setSampleHoldTime (ADC_PULSE_WIDTH_4、ADC_PULSE_WIDTH_4);
MAP_GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P4、GPIO_PIN3、// ADC 端口4引脚3 -- A10
GPIO_TICE_MODULE_FUNCTION);
//配置 ADC 内存
MAP_ADC14_configureSingleSampleMode (ADC_MEM9、TRUE);// ADC_MEM0 -将 ADC 模块配置为使用单个 ADC 存储器位置进行采样/转换。
// True -执行初始采样/转换集后、使 ADC 模块恢复采样。
// //
MAP_ADC14_configureConversionMemory (ADC_MEM9、ADC_VREFPS_AVCC_VREFNEG_VSS、
ADC_INPUT_A10、false);
// ADC_MEM0 -要配置的单个 ADC 存储器位置
// Vref = 3.3至 GND
// A10 -用于 ADC 采样的通道
//错误-差动模式关闭
// //
//将 ADC 结果格式设置为有符号二进制
MAP_ADC14_setResultFormat (ADC_signed_binary);
MAP_ADC14_enableConversion();
touch:
MAP_ADC14_initModule (ADC_CLOCKSOURCE_MCLK、ADC_PREDIVIDER_1、// ADCOSC
ADC_divider _1、0);
MAP_ADC14_setResolution (ADC_14BIT);
MAP_ADC14_enableSampleTimer (ADC_MANUAL_DEACation);
MAP_ADC14_setSampleHoldTime (ADC_PULSE_WIDTH_96、ADC_PULSE_WIDTH_96);
MAP_ADC14_setSampleHoldTrigger (ADC_TRIGGER_ADCSC、false);
MAP_ADC14_enableModule();
/*将 Y+输入配置为内存缓冲器0。 *
MAP_ADC14_configureConversionMemory (touch + Y +内存、
ADC_VREFPOS_AVCC_VREFNEG_VSS、
touch Y +输入、
false);
/*将 X+输入配置到内存缓冲区1。 *
MAP_ADC14_configureConversionMemory (touch + X +内存、
ADC_VREFPOS_AVCC_VREFNEG_VSS、
touch X +输入、
false);
for (i = 0;i < touch 过采样;i++)
{
MAP_ADC14_toggleConversionTrigger ();
status = MAP_ADC14_getInterruptStatus();
while (status!= touch X + IFG)
{
status = MAP_ADC14_getInterruptStatus();
}
aDCtemp += ADC14->MEM[1];
}
aDCtemp =(aDCtemp >> touch 平均除数);
我在 ADC 寄存器中注意到的主要差异是 FFT 使用的
单通道-重复转换(ADC14CONSEQ = 10)
SAMPCON 信号来源于采样输入信号(ADC14SHP = 0)。
触摸屏 ADC 的使用
单通道-单次转换(ADC14CONSEQ = 00)
SAMPCON 信号由 脉宽为96的采样定时器(ADC14SHP = 1)提供。
我知道有一个模拟输入多路复用器可以选择要转换的通道、那么是否有办法同时使用这两种 ADC 配置并在通道之间进行选择以同时或按顺序运行? 多序列模式是否是可能的解决方案?
谢谢!