TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430f5438a

Other Parts Discussed in Thread:MSP430F5438A

MSP430F5438A在使用IO设置输入时可以使用上下拉吗?如果能,那么在使用复用IO时(比如SPI  MISO),也是否可以使用上下拉电阻.

这是驱动函数库的代码,发现会自动关闭上下拉电阻,和复用功能。

void GPIO_setAsInputPin(uint8_t selectedPort, uint16_t selectedPins) {

uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];

#ifndef NDEBUG
if(baseAddress == 0xFFFF) {
return;
}
#endif

// Shift by 8 if port is even (upper 8-bits)
if((selectedPort & 1) ^ 1) {
selectedPins <<= 8;
}

HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;
HWREG16(baseAddress + OFS_PADIR) &= ~selectedPins;
HWREG16(baseAddress + OFS_PAREN) &= ~selectedPins;
}

Susan Yang:

您可以看一下用户指南的

12.2.4 Pullup or Pulldown Resistor Enable Registers (PxREN)

www.ti.com.cn/…/slau208q.pdf

,

user3854913:

当io是复用输入时(PxSEL=1时,这个脚是miso功能)这时可不可以设置上下拉?

,

Susan Yang:

可以的

,

user3854913:

设置上下拉为何关闭复用功能
就会发现寄存器的
HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;

在使用驱动库SPI时如果使用内部上拉就要小心设置的前后顺序,不然会关掉复用功能

当io是复用输入时(PxSEL=1时,这个脚是miso功能)可以设置上下拉,那么PxDIR还要设置为0吗?

赞(0)
未经允许不得转载:TI中文支持网 » msp430f5438a
分享到: 更多 (0)