您好!
在 F28075上、X-BAR 可以将 ADCSOCA 或 ADCSOCB 路由到 GPIO。
但在 F28069上、没有 X-BAR。
在软件中、已经有一个正在运行的主 ISR。
我们无法写入另一个由 ADCSOC 触发的 ISR、并在 ISR 中翻转 GPIO。
那么、我们如何在第一个 SOC 的 AD 采样保持窗口实现翻转 GPIO 呢?
我们提出这个问题是因为我们发现 AD 结果不是我们期望的结果、并且希望检查 AD 序列。
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.
您好!
在 F28075上、X-BAR 可以将 ADCSOCA 或 ADCSOCB 路由到 GPIO。
但在 F28069上、没有 X-BAR。
在软件中、已经有一个正在运行的主 ISR。
我们无法写入另一个由 ADCSOC 触发的 ISR、并在 ISR 中翻转 GPIO。
那么、我们如何在第一个 SOC 的 AD 采样保持窗口实现翻转 GPIO 呢?
我们提出这个问题是因为我们发现 AD 结果不是我们期望的结果、并且希望检查 AD 序列。
您好 Howard、
[引用用户="Howard Zou"]如何输出用作 GPIO 触发器的 ePWM 信号?
1) 1)初始化 GPIO 引脚以用作 ePWM 引脚、这应与您用作触发器的 ePWM 输出通道相对应。 下面显示了一个使用 EPWM1A 作为触发器的示例:
EALLOW; GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1;//禁用 GPIO0上的上拉电阻(EPWM1A) GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;//将 GPIO0配置为 EPWM1A EDIS;
2) 2) 2)根据您的应用程序、按需要配置 EPWM1寄存器。 我从 F2806x 器件的 ADC_SoC 示例中获取了以下代码:
EPwm1Regs.ETSEL.bit.SOCASEL= 4; EPwm1Regs.ETPS.bit.SOCAPRD= 1;//在发生第一个事件时生成脉冲 EPwm1Regs.CMPA.half.CMPA= 0x0080;//设置比较 A 值 EPwm1Regs.TBPRD= 0xFFFF;//为 ePWM1设置周期 EPwm1Regs.TBCTL.bit.CTRMODE= 0;//向上计数并启动
3) 3)最后、要查看 GPIO 上的输出、请使用 ePWM 的动作限定器模块:
EPwm1Regs.AQCTLA.bit.CAU = AQ_TOGGLE;//在事件 A 上切换 PWM1A、递增计数
要查看 EPWM 信号、您可以将示波器探针连接到与用作触发器的 EPWM 信号相对应的引脚(本示例中为 GPIO 0/EPWM1A 引脚)。 每次波形切换时、都会指示 ADC 开始转换的触发信号。
此致、
Marlyn