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.

[参考译文] RTOS/DK-TM4C129X:ROM_GPIOADCTriggerEnable()使用 ADC

Guru**** 2478765 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/692026/rtos-dk-tm4c129x-rom_gpioadctriggerenable-use-adc

器件型号:DK-TM4C129X

工具/软件:TI-RTOS

使用触摸示例。

无效
TouchScreenInit (uint32_t ui32SysClock)

它运行良好。

但我不希望 ADC_TRIGGER 使用计时器。 我需要 GPIO。

因此、创建新函数

YB_TouchScreenInit

G_ui32TSState = TS_State_init;

//
//最初没有触摸屏处理程序。
//
G_pfnTSHandler = 0;

//
//启用触摸屏界面使用的外设。
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_TIMER5);

//TRIGGER_EXTERNAL 引脚配置
ROM_GPIOADCTriggerEnable (GPIO_PORTB_BASE、GPIO_PIN_7);
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE、GPIO_PIN_7);

//
//配置用于读取触摸屏读数的 ADC 采样序列。
//
ROM_ADCHardwareOversampleConfigure (ADC0_BASE、4);
ROM_ADCSequenceConfigure (ADC0_BASE、3、ADC_TRIGGER_EXTERNAL、0);
ROM_ADCSequenceStepConfigure (ADC0_BASE、3、0、
TS_YP_ADC | ADC_CTL_END | ADC_CTL_IE);
ROM_ADCSequenceEnable (ADC0_BASE、3);

//
//启用 ADC 采样序列中断。
//
ROM_ADCIntEnable (ADC0_BASE、3);
ROM_IntEnable (INT_ADC0SS3);

}  

我认为 PB7先切换、然后 ADC 触发。

( ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_7、GPIO_PIN_7);  ROM_GPIOPinWrite (GPIO_PORTB_BASE、GPIO_PIN_7、0);

但写入 PB7、裸片程序。

我有疑问。

ROM_GPIOADCTriggerEnable  不使用  ROM_GPIOPinTypeGPIOOutput?

2. 我没有用于更改 Pb7 电压值的设备。

  那么、如何使用 ADC_TRIGGER_EXTERNAL?


请帮帮我。

谢谢你

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

    必须先启用 GPIO 端口 B、然后再使用它。

    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
    

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

    我使用函数 void DK_TM4C129X_initGeneral (void)


       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOG);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOH);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOJ);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOK);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOL);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOM);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPION);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOP);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOQ);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOR);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIO);
       SysCtlPeripheralEnable (SYSCTL_Periph_GPIOT);

    不管用。 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否更详细地描述该行为? CPU 是否会进入故障 ISR?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没有听到你的反馈。 我假设您已经解决了这个问题。 如果没有、请回复此主题。