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.

[参考译文] TM4C123GH6PM:如何使用 ADC4-ADC7?

Guru**** 2481465 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/704973/tm4c123gh6pm-how-do-i-use-adc4-adc7

器件型号:TM4C123GH6PM

大家好、我尝试使用 ADC4、但它给我错误"sysctl_Periph_ADC4未定义"和 "ADC4未定义"。 感谢你的帮助!

以下是我的代码:

#include "include.h"

void ADC4_ISR (void);
void Config_ADC (void);


unsigned int ADC4_Data[3];
悬空 ADC4_Voltage;
//float ADC0_Temperature;

空 Config_ADC (空)

SysCtlPeripheralEnable (SYSCTL_Periph_ADC4);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
GPIOPinTypeADC (GPIO_PORTD_BASE、GPIO_PIN_3);

ADCSequenceConfigure (ADC4_base、1、ADC_TRIGGER_PROCESSOR.0);

ADCSequenceStepConfigure (ADC4_base、1、0、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC4_base、1、1 ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC4_base、1、2、ADC_CTL_CH0
| ADC_CTL_END_ADC_CTL_IE);

ADCSequenceEnable (ADC4_base、1);
ADCIntRegister (ADC4_base、1、&ADC4_ISR);
ADCIntEnable (ADC4_base、1);


void main (void)

SysCtlClockSet (SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);//对于80MHz
SysCtlDelay (8000000000);
CONFIG_ADC();
IntMasterEnable();

while (1)

ADCProcessorTrigger (ADC4_base、1);
SysCtlDelay (800);

void ADC4_ISR (void)

ADCIntClear (ADC4_base、1);
ADCSequenceDataGet (ADC4_base、1、(unsigned int *)&ADC4_Data);
ADC4_Voltage = 0 +((float)(ADC4_Data[0]+ ADC4_Data[1]+ ADC4_Data[2])/3)*3.30/4096;

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

    您创建 的'ADC4-ADC7"和  ADC4_BASe'-而'ORIGINAL'-实际上 是未定义/非法的!    (因此-编译器和其他编程资源未知。)   

     两个'ADC 模块'-标记为'ADC0_BASH'和'ADC1_BASH'。   两者都是"已知"(因此被认可且适合)、可供您(和他人)使用。   这些(必须)可用于代替您的"发明"。

    ADC4-ADC7  也是非法的-应该被替换为:'ADC_CTL_CH4  - ADC_CTL_CH7'-这些被识别且合法。

    您对该供应商 "外设库用户指南"(SW-TM4C-DRL-UG-2)的阅读/评论揭示了:

    4.2.2.27 ADCSequenceConfigure
    配置采样序列的触发源和优先级。
    原型:
    无效
    ADCSequenceConfigure (uint32_t ui32Base、
    uint32_t ui32SequenceNum、
    uint32_t ui32Trigger、
    uint32_t ui32Priority)

    参数:
    ui32Base 是 ADC 模块的基址。     ***  ADC4_BASE (创建)是非法的!    'ADC0_BASE 或  ADC1_BASE '(仅限)正确。
    ui32SequenceNum 是采样序列编号。
    ui32Trigger 是用于启动采样序列的触发源;必须是的触发源之一
    ADC_TRIGG_值。
    ui32Priority 是采样序列相对于其他采样的相对优先级
    序列。

    要确定合适的引脚/功能标签-请查阅特定外设模块的'.h 文件'-以及 (非常大) 文件'pin_map.h'。

    存在大量代码示例-甚至一些针对 ADC 的代码示例-并将为您提供"良好指导"。    ('Blind'引脚/功能'name creation'……  不是很好!)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。
    如何在 Launchpad 的引脚 PD3上使用 ADC0?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Phuoc Nguyen "]如何在 Launchpad 的引脚 PD3上使用 ADC0?

    你不会!   MCU 对 ADC 的演示似乎仍对您"有点挑战"。

    让我们从 MCU 手册开始:

    您应该注意、AIN0驻留在-不是 'PD3' -而是'PE3'。   您从何处获取此类错误数据?   (可能还有其他芯片- 如果您解释...、这会有所帮助)

    我原来的帖子-在回答您的问题时、您认为"ADC4-ADC7"可为您提供足够的指导-使您能够将 MCU 配置为 LPAD 所暴露的任何 ADC 引脚。  (即引出至电路板的接头)

    您对"正确的基址"(0或1-从不4)保持沉默。   MCU 手册"AIN0"的命名规则正确注明为"ADC_CTL_CH0"。   (您应该已经清楚了。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何将 ADCSSMUXn 设置为在 launchpad 的 PD3上使用 AIN4?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一个(回答得很好)问题似乎又导致(不可避免)两个问题。   (这不是特别令人满意-是吗?)

    最初的问题早就得到了有效的回答-等待它应得的回答、"蒂克、这解决了我的问题。"

    和... 您尚未回答-您从何处获取错误数据?   必须 确认和更正的问题-您是否同意?

    这是02:50 (当地时间、CST 时间(芝加哥)-我现在是"一个"... (我的帖子-不是您的帖子)已赢得多个绿色记号-是否有?

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

    谢谢-谢谢。   对于 您经常使用的"错误数据"的"来源"、您认为它(仍然)很有用-建议您这么做。

    我已经为您列出了多个(已知有效/良好)"正确来源"-您应该排除该来源(之前)-生成错误的替代方案。   它不…… 为您提供优质服务-这已经过验证。

    您为什么不在(公平)阅读/审阅 MCU 手册-外设库用户指南(尤其是)-和几个 T-Ware (ADC 示例) (找到:T-Ware\examples\peripheral\ADC)后尝试"将 ADCSSMUXn 设置 launchpad 的 PD3使用 AIN4?   我们的办公室已关闭(以纪念明天 的美国 "独立日")、我应该能够(进一步)根据需要进行指导。

    长期以来、 他人已经证明了您的努力比"补充答案"的努力要大得多。   (偶数、尤其是"其他人")
    您 的"成长"-   在知识和信心方面 -源自您的努力建立掌控-而不是  来自"匆忙和推动" 他人提供的"橡皮图章"(复制/粘贴)!    阿尔利斯!