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.

[参考译文] 编译器/CC2541:配置计时器1 "输入捕捉模式"

Guru**** 2555630 points
Other Parts Discussed in Thread: CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/582058/compiler-cc2541-configuring-timer-1-input-capture-mode

器件型号:CC2541

工具/软件:TI C/C++编译器

你好、

我需要将 CC2541的 P0_7配置为 Timer1的输入捕捉模式。 需要读取外部 PWM 产生的周期和占空比。 这是我第一次尝试将 simpleBLEpheripal 作为基础项目、我需要一些确认。

由于我将使用 P0_7作为输入捕捉引脚...

- P0SEL = 0x80;//设置为外设。

然后、根据 I/O 的引脚映射、P0_7位于"ALT 2"、如何将 PERCFG.T1CFG 设置为"ALT 2"? "0"还是"1"?

我计划读取周期性事件中外部 PWM 产生的周期和占空比。 这是在 T1CNTH 和 T1CNTL 吗?

我在这里错过了什么?

我知道这就像要求一个示例代码、但现在我迷路了。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是端口0引脚7上定时器1输入捕捉模式的正确初始化吗?
    T1CTL = 0;
    T1CCTL0 = BV (1)| BV (0);
    T1CCTL1 = 0;

    P0SEL |= BV (7);
    T1CTL |= BV (2);
    T1CCTL0 |= BV (7);
    T1IE = 1;
    T1CTL |= BV (4);

    ...然后、我将通过从 Timer1寄存器定期读取这些值、以获取外部信号的占空比和周期。
    这是正确的方法吗?
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、

    您查找的信息记录在《CC253x/4x 用户指南、定时器1》一章中。
    www.ti.com/lit/pdf/swru191

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

    您好!

    是的、我实际上始终参考该文档、但我不确定自己是否正确。

    关于处理中断、还有一件事。 在 hal_key.c 中设置 HAL_ISR_Function (halKeyPORT0Isr、t1_vector)是否正确?

    谢谢。