主题中讨论的其他器件:LM4041-N、 INA240、 TM4C1294KCPDT、 TM4C1294NCPDT
问题条件:
1/2 宽输入边沿 下 计数的 GPTM 12位输入转速计信号。 每210个边沿计数@4PPS 驱动一个中断 并 触发 为201Hz 设置的一次性计时器 、用于 通过 中断处理程序更新匹配计数变量、每个周期重新加载相同的201Hz 时间。 该周期在 PMW0 激活时漂移很大。
2. OneShot 处理程序使用 GPTM 边沿计数器寄存 器来确定边沿输入事件的当前计数、方法是从 GPTMTnILR 寄存器的值中减去 GPTMTnR、并更新中断边沿计数频率中使用的匹配计数静态变量。 然后、骑手重新加载 OneShot @201Hz 以用于下一个周期。 这证明了更新 RPM 数字显示的方法比在每个间隔等待60秒和 对相同数量的预设边沿进行计数 以产生与 CCP1输入频率相关的边沿计数中断更快。
3.只要 PWM0外设不使用 NVIC 或 GPIO 端口、OneShot 速度更新就会稳定且准确。 当 PWM0 占空比加速时、OneShot reload 的频率也会加速、201Hz 加速、但 CCP1输入保持在102Hz 或1671 RPM 的稳定状态。 如果保持相同的 CCP1 (102Hz 边沿计数)并且 PWM0输出 GPIO 引脚时上升沿或下降沿几乎没有相位抖动>1us、这种情况会发生什么? 同时测试 了仅 POS 边缘事件计数、在102Hz 时具有0%的相位抖动、发生相同的错误触发 CCP1 。
4. 经验证 的201hz 脉冲是通过 GPIO 引脚在边沿计数中断处理程序内产生的、加速并成为稳定的1us 脉冲。 由于 CCP1边沿计数保持静态、很难测量201Hz 频闪脉冲、而不是通过亲眼目睹单个频闪脉冲频率的人眼/大脑错误加速。
5、 GPTM 边沿计数和 OneShot 定时器在配置后已同步、并且每个定时器 分别具有相同的 INT 优先级0x40、INT51/INT36。
问: 其中一 个 PWM 外设的 GPIO 管脚 MUX 值是否可以在内部 通过 GPTM 边沿计数输入的 CCP1进行多路复用?
问:PWM0中断/ADC0触发器或 GPIO 引脚如何严重影响 GPTM-0或 OneShot GPTM-3的 CCP1输入?
答:2018年10月5日;外部
// Taco 输入 PL5:TM0CCP1 MAP_GPIOPinConfigure (GPIO_PL5_T0CCP1); MAP_GPIOPinTypeTimer (GPIO_PORTL_AHB_BASE、GPIO_PIN_5);
//为 COMP1 CO1 (数字) GPIO 输出 MAP_GPIOPinConfigure (GPIO_PD1_C1O)启用 PD1引脚2; GPIOPinTypeComparatorOutput (GPIO_PORTD_AHB_BASE、GPIO_PIN_1);