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.

[参考译文] TM4C1294KCPDT:用作带有操作的计时器引脚时进行引脚配置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1276513/tm4c1294kcpdt-pin-configuration-when-used-as-timer-pin-with-actions

器件型号:TM4C1294KCPDT

大家好!

我想使用计时器引脚来实现总线协议、即在接收数据时测量边沿时间、在发送时控制边沿时间。

0和1由不同的高电平时间实现。

捕获边沿时间当接收很简单时、我希望0和1的发送只能通过使用具有动作的计时器来完成、

传输时、该引脚需为开漏。

当我利用 Tivaware 将该引脚配置为计时器引脚时、该引脚设置为推挽引脚

void
GPIOPinTypeTimer(uint32_t ui32Port, uint8_t ui8Pins)
{
    //
    // Check the arguments.
    //
    ASSERT(_GPIOBaseValid(ui32Port));

    //
    // Make the pin(s) be peripheral controlled.
    //
    GPIODirModeSet(ui32Port, ui8Pins, GPIO_DIR_MODE_HW);

    //
    // Set the pad(s) for standard push-pull operation.
    //
    GPIOPadConfigSet(ui32Port, ui8Pins, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
}

是否可以通过执行一个具有漏极开路的

GPIOPinTypeTimer(GPIO_PORTL_BASE, GPIO_PIN_6);

GPIOPadConfigSet(GPIO_PORTL_BASE, GPIO_PIN_6, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_OD)

?

此致、

赖纳

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

    您好、Rainer:

    我认为它应该起作用。 我建议你将 gpio.c 文件复制到你的项目目录、进行更改并将它与项目的其余部分一起编译。 您所做的更改将覆盖预编译的 drlverlib.lib。 您也可以更改库本身并重新构建库。   

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

    尊敬的 Charles:

    感谢您的快速响应。

    我对如何管理代码并不感到很困惑、但引脚行为却让我感到困惑。

    我只需要为一个引脚使用此引脚、以便我在初始化后添加一行代码。

    如果在与计时器一起使用时能够将引脚配置为开漏、我就很好了。

    我会在下周报告我的发现。

    此致、

    赖纳

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

    尊敬的 Charles:

    它原则上也许起作用、但是我发现(很难做到) PL6和 PL7不能用在开漏配置中。

    手册中的注释对此进行了说明

    "端口引脚 PL6 PL7作为快速 GPIO 焊盘运行、但仅提供4mA 驱动能力。 用于驱动强度、转换率和开漏的 GPIO 寄存器控制对这些引脚没有影响。"

    使用此 MCU 多年后、我只是没有查明任何 GPIO 是否存在漏极开路问题。 也许、它要求太多、但在 DRL 代码中变为有效时不可能做到这一点?

    总之、在调试该内容期间、我发现这个帖子中报告异常行为的人

    e2e.ti.com/.../tm4c1294ncpdt-pl6-and-pl7-misbehaving

    完全正确、具有奇怪的观察结果、即引脚的功能与配置为开漏时的功能相反。

    也就是说:将 PL6配置为开漏模式下的 GPIO、将其设置为高电平、并且信不信由你、引脚会变为低电平(反之亦然)。

    也许,这是有趣的任何人在相同的问题上的绊脚石。

    此致、

    赖纳

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

    您好、Rainer:

     感谢您提出 PL6和 PL7的特殊案例。 我在数据表上自己漏掉了这个时间。 是的、这两个引脚只能在4mA 驱动强度下运行。 开漏配置对这两个引脚没有影响。 我倾向于认为、开漏配置会对引脚产生一些影响、但会产生负面影响、而非无影响。  我将把这篇文章列为书签,以备将来参考,以防其他人遇到同样的看法。  

    注:端口引脚 PL6和 PL7用作快速 GPIO 焊盘、但仅提供4mA 驱动能力。
    用于驱动强度、压摆率和开漏的 GPIO 寄存器控制对这些不起作用
    引脚。 没有任何影响的寄存器如下:GPIODR2R、GPIODR4R、
    GPIODR8R、GPIODR12R、GPIOSLR 和 GPIOODR。