16 #ifdef __MSP430_HAS_PU__
21 void LDOPWR_unLockConfiguration ( uint16_t baseAddress )
23 HWREG16(baseAddress + OFS_LDOKEYPID) = 0x9628;
26 void LDOPWR_lockConfiguration ( uint16_t baseAddress )
28 HWREG16(baseAddress + OFS_LDOKEYPID) = 0x0000;
31 void LDOPWR_enablePort_U_inputs (uint16_t baseAddress )
33 HWREG8(baseAddress + OFS_PUCTL_H) |= PUIPE_H;
36 void LDOPWR_disablePort_U_inputs (uint16_t baseAddress )
38 HWREG8(baseAddress + OFS_PUCTL_H) &= ~PUIPE_H;
41 void LDOPWR_enablePort_U_outputs (uint16_t baseAddress )
43 HWREG8(baseAddress + OFS_PUCTL_L) |= PUOPE;
46 void LDOPWR_disablePort_U_outputs (uint16_t baseAddress )
48 HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOPE;
51 uint8_t LDOPWR_getPort_U1_inputData (uint16_t baseAddress )
53 return ((
HWREG8(baseAddress + OFS_PUCTL_L) & PUIN1) >> 3 );
56 uint8_t LDOPWR_getPort_U0_inputData (uint16_t baseAddress )
58 return ((
HWREG8(baseAddress + OFS_PUCTL_L) & PUIN0) >> 2 );
61 uint8_t LDOPWR_getPort_U1_outputData (uint16_t baseAddress )
63 return ((
HWREG8(baseAddress + OFS_PUCTL_L) & PUOUT1) >> 1 );
66 uint8_t LDOPWR_getPort_U0_outputData (uint16_t baseAddress )
68 return (
HWREG8(baseAddress + OFS_PUCTL_L) & PUOUT0);
71 void LDOPWR_setPort_U1_outputData (uint16_t baseAddress,
75 if (LDOPWR_PORTU_PIN_HIGH == value){
76 HWREG8(baseAddress + OFS_PUCTL_L) |= PUOUT1;
78 HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOUT1;
82 void LDOPWR_setPort_U0_outputData (uint16_t baseAddress,
86 if (LDOPWR_PORTU_PIN_HIGH == value){
87 HWREG8(baseAddress + OFS_PUCTL_L) |= PUOUT0;
89 HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOUT0;
93 void LDOPWR_togglePort_U1_outputData (uint16_t baseAddress)
95 HWREG8(baseAddress + OFS_PUCTL_L) ^= PUOUT1;
98 void LDOPWR_togglePort_U0_outputData (uint16_t baseAddress)
100 HWREG8(baseAddress + OFS_PUCTL_L) ^= PUOUT0;
103 void LDOPWR_enableInterrupt (uint16_t baseAddress,
107 HWREG8(baseAddress + OFS_LDOPWRCTL_H) |= mask;
110 void LDOPWR_disableInterrupt (uint16_t baseAddress,
114 HWREG8(baseAddress + OFS_LDOPWRCTL_H) &= ~mask;
117 void LDOPWR_enable (uint16_t baseAddress)
119 HWREG8(baseAddress + OFS_LDOPWRCTL_H) |= LDOOEN_H;
122 void LDOPWR_disable (uint16_t baseAddress)
124 HWREG8(baseAddress + OFS_LDOPWRCTL_H) &= ~LDOOEN_H;
127 uint8_t LDOPWR_getInterruptStatus (uint16_t baseAddress,
131 return (
HWREG8(baseAddress + OFS_LDOPWRCTL_L) & mask);
134 void LDOPWR_clearInterrupt (uint16_t baseAddress,
138 HWREG8(baseAddress + OFS_LDOPWRCTL_L) &= ~mask;
141 uint8_t LDOPWR_isLDOInputValid (uint16_t baseAddress)
143 return (
HWREG8(baseAddress + OFS_LDOPWRCTL_L) & LDOBGVBV);
146 void LDOPWR_enableOverloadAutoOff (uint16_t baseAddress)
148 HWREG8(baseAddress + OFS_LDOPWRCTL_L) |= OVLAOFF_L;
151 void LDOPWR_disableOverloadAutoOff (uint16_t baseAddress)
153 HWREG8(baseAddress + OFS_LDOPWRCTL_L) &= ~OVLAOFF_L;
156 uint8_t LDOPWR_getOverloadAutoOffStatus (uint16_t baseAddress)
158 return (
HWREG8(baseAddress + OFS_LDOPWRCTL_L) & OVLAOFF_L);