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.

[参考译文] TMS320F280025-Q1:ADC 转换模式

Guru**** 2583365 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1011890/tms320f280025-q1-adc-transform-mode

器件型号:TMS320F280025-Q1

你(们)好

ADC 转换、希望设置为连续转换模式、并发送到 DMA、

第一次启动转换时、下次不必执行转换时、只需直接转至 DMA 存储器读取行。

但是、当我查看例程并查看用户手册(如下图1所示)时、ADC 连续转换会因转换完成而中断。

中断然后启动下一个转换以实现连续转换、这不是我所期望的、但我所期望的是软件将首先启动转换、然后 ADC 转换将完成、然后开始转换本身、因此 on.please 可帮助确认这一点。

F28335由 ADC 的转换模式设置、例如单次转换模式和循环扫描模式等 我似乎没有看到 F280025的相关寄存器位被设置、请帮助确认

谢谢!

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

    如下图所示

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

    Neal、您好!

    "继续中断"位只允许 ISR 脉冲传播到 ePIE 或 DMA、而 CPU 不显式清除 ISR 位。  它不会以其他方式控制转换通道的触发或序列:因此、除非使用其他机制来触发转换、否则到 ePIE 或 DMA 的脉冲不会继续。

    通常 情况下、ePWM 模块将是继续触发转换的源(通过定期触发 SOC)、但也可以将 ADC INT 标志本身设置为 SOC 的触发源。  在这种情况下、您可以使用 SOC 触发器本身来获取连续转换(例如、SOC0触发 ADCINT1和 ADCINT1触发 SOC0、而软件触发器则启动该过程)、也可以设置"乒乓"采样。  最简单的形式是乒乓采样工作、例如 SOC0至 SOC7由 ADCINT2触发、SOC8至 SOC16由 ADCINT1触发。  SOC7触发 ADCINT1、SOC15触发 ADCINT2。  SW 通过触发 SOC0至 SOC7来启动该过程。  其优点是、在 SOC8到 SOC15转换时可以读取 RESULT0到7、而在 RESULT8到15转换时、在 SOC0到 SOC7转换时可以读取 RESULT0到7。     

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

    你(们)好

    ADC 引脚用作 AIO 端口。 端口的逻辑电平是否转换为0和1?
    如果是、如何读取它? 我使用 GPIO_Readpin 库函数、程序将运行到错误状态。

    谢谢!

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

    Neal、您好!

    AIO 应像普通 GPIO 一样运行以进行读取(请注意、它们仅为输入、因此您无法对其进行写入或将其置于输出模式)。  例如、如果您使用的是 AIO231、则接口应通过 GPIO231。   

    您能否提供有关您看到的错误的更多详细信息?

    (另请注意、如果您有一个新的不相关问题、通常在将来最好创建一个新线程:使用"提出新问题"按钮)

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

    你(们)好

    供参考、谢谢!

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

    Neal、您好!

    GPIO_readPin ()中唯一有效的是 GPIO_isPinValid (Pin)。  这将检查引脚是否介于之间

    return((pin <= 59U) || ((pin >= 224U) && (pin <= 247U)));

    因此值228应该是可以的。   

    define GPIO_2228_GPIO228的值是什么?  此用户是否已定义?