TI中文支持网
TI专业的中文技术问题咨询交流网站

am335x 中 mux.c文件修改

在mux.c的头文件中有定义:

#define RXACTIVE (0x1 << 5)

#define PULLDOWN_EN (0x0 << 4) /* Pull Down Selection */

#define PULLUP_EN (0x1 << 4) /* Pull Up Selection */

#define PULLUDEN (0x0 << 3) /* Pull up enabled */

#define PULLUDDIS (0x1 << 3) /* Pull up disabled */

在mux.c文件中,

输入为

{OFFSET(spi0_cs1), (MODE(7) | RXACTIVE | PULLUP_EN)}, /* GPIO0_6 */

输出为:

{OFFSET(ecap0_in_pwm0_out), (MODE(7) | PULLUDEN)}, /* GPIO0_7 */

这让我有些疑惑,

1、输出为什么仅仅设置为PULL up enable就可以了?

2、输出是否需要设置Pull up enable?

Nancy Wang:

请问具体是配置的哪个接口?使用的引脚是哪些?

user6238334:

回复 Nancy Wang:

比方说将D15、D16、D18模式选择为gpio,输出到LED上,按照上面的输出仅仅设置为PULL  enable。代码为

{OFFSET(uart1_rxd), (MODE(7) | PULLUDEN)}, /* gpio_out led*/

{OFFSET(uart1_txd), (MODE(7) | PULLUDEN)},/* gpio_out led */

{OFFSET(uart1_ctsn), (MODE(7) | PULLUDEN)},/* gpio_out led*/

而对于输入,比方说UART0_RXD,使用RXD模式,他的设置为里面就没有 PULLUDEN,直接设置为  MODE(0) RXACTIVE  PULLUP_EN

Nancy Wang:

回复 user6238334:

请看TRM 9.2.2.2 Pull Selection 中推荐的配置。
www.ti.com/…/spruh73q.pdf
另外需要修正一下代码的注释为:
#define PULLUDEN(0x0 << 3) /* Pull up enabled */=>/* pull up/down enable */
#define PULLUDDIS(0x1 << 3) /* Pull up disabled */ =>/* pull up/down disable */

user6238334:

回复 Nancy Wang:

你好,对于TRM 9.2.2.2 Pull Selection 的内容我有些疑惑。

按照TRM 9.2.2.2 Pull Selection 的说法. If a pad is always configured in output mode, it is recommended for user software to disable any internal pull resistor tied to it, to avoid unnecessary consumption.输出模式应该禁用内部的上下拉电阻,这是如何设置?这是指PULLUDENABLE为1的情况吗?

另外TRM 9.2.2.2 Pull Selection 对于输入的解释也比较模糊。.

你能否帮我判断一下我前面对于输出GPIO012、14、15的设置是否正确。以及输入UART0_RXD配置是否正确?

赞(0)
未经允许不得转载:TI中文支持网 » am335x 中 mux.c文件修改
分享到: 更多 (0)