求租:MSP430F5310的PU口操作:
把MSP430F5310的PU口配置为简单的IO,定义:
//RXLED LED4 PU.0 输出,高有效
#define RXLED_OUT PUCTL |= PUOPE
#define RXLED_HIGH PUCTL |= PUOUT0
#define RXLED_LOW PUCTL &= ~PUOUT0
//TXLED LED5 PU.1 输出,高有效
#define TXLED_OUT PUCTL |= PUOPE
#define TXLED_HIGH PUCTL |= PUOUT1
#define TXLED_LOW PUCTL &= ~PUOUT1
操作函数:
void RxdandTxdLedinit(void) // 接收发送灯初始化
{
LDOKEYPID = LDOUNLOCKSPID; // 寄存器解锁
PUCTL |= PUOPE; // PU为输出方式
RXLED_LOW; // PU.0输出0
TXLED_LOW; // PU.1输出0
//RXLED_HIGH; // PU.0输出1
//TXLED_HIGH; // PU.1输出1
LDOKEYPID = 0xffff; // 寄存器“LOCKED”
}
void RxdLedOn(void) // 接收灯亮
{
LDOKEYPID = LDOUNLOCKSPID; // 寄存器解锁
PUCTL |= PUOPE; // PU为输出方式
RXLED_HIGH; // PU.0输出1
LDOKEYPID = 0xffff; // 寄存器“LOCKED”
}
..............
初始化:
RxdandTxdLedinit();
调用:
TxdLedOn();
RxdLedOn();
现象:仿真:PUCTL为0x23
LED灯不亮。
备注:LED没有坏,LED灯采用9013驱动,也没有坏。
问题:1、LED等为什么不亮。(排除硬件)
2、PU口操作是否跟LDO有关。 |