Hello,
Is it possible to set the P1.4 as UART_RxD, and the same time pull-up enabled ?
Updated question: Is it possible to set the P1.4 as UART_RxD, and the same time enable the pull-up ?
Best regards,
-n
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.
Hello,
Is it possible to set the P1.4 as UART_RxD, and the same time pull-up enabled ?
Updated question: Is it possible to set the P1.4 as UART_RxD, and the same time enable the pull-up ?
Best regards,
-n
Sirs,
I appreciate your responses. Very clear. My DS reading was not sufficient.
-n
I resumed.
From what I've heard, it works, but only on some MCU models. And I'm not sure if the I/O schematics in the datasheet are always correct in this regard.
In other words: it might work, but you should not rely on it.
It is not allowed to set PxREN.y when the pin is not in GPIO mode, i.e., when PxSEL.y = 0.
On most MCUs, this does not work anyway. But if it works, then only by accident, and this might change in the next chip revision.
To the question "is it possible?", the answer is "maybe, but don't do it".
I never saw anything saying "YES, YOU CAN" or "NO, DON'T DO THAT" - is there a statement about that somewhere in the User's Guide? Anyway, since I never saw it mentioned, I would go for the external one, just to be sure it definitely works as expected.
Okay, I looked through a big pile of User's Guides, and none of them say anything about this. The only exception is the 2xx Family User's Guide, section 8.2.5:
NOTE: Setting PxREN = 1 When PxSEL = 1
On some I/O ports on the MSP430F261x and MSP430F2416/7/8/9, enabling the pullup/pulldown resistor (PxREN = 1) while the module function is selected (PxSEL = 1) does not disable the logic output driver. This combination is not recommended and may result in unwanted current flow through the internal resistor. See the device-specific data sheet pin schematics for more information.
The output driver is not what we're talking about here, but this note seems to imply that enabling PxREN when PxSEL=1 might actually be possible.
Anyway, the note mentions the device-specific data sheet pin schematics, so I guess they are meant to be correct. (Which implies that on the F6733, PxSEL = 1 does not disable the pull-up resistor unless PxMAP is also set to PMAP_ANALOG.)
Do you agree to my summary? : "Don't believe the DS schematics. Just put an external pull-up/down." ~ I'm afraid it would be short-sighted.
Anyway if everyone agrees, I'm a disty FAE, therefore I would ask your datasheet team to correct the schematics before closure.
In my opinion I would add the external one to be on the safe side.
And I agree that there should be a clear statement in the User's Guide about using the resistors with a special function enabled. It is not only the UART - a pulse counting timer module could have a floating input with an external sensor currently not connected as well, for example, so using the internal resistor could be useful for every digital input configured as special function.
To go one step further: It would be great if there would be selectable internal pull-up resistor values for the I²C line, let's say three values for a different number of slaves and / or transmission speeds. Or even three resistor values that can be used at the same time by setting their resistor bit to achieve values in between by having them in parallel.
Sirs,
I would try again to wrap-up. Please correct if any:
Q. Is it possible to set the P1.4 as UART_RxD, and the same time enable the pull-up ?
Ans. YES. On the F6733, the pull-up resistor of pin P1.4 can be enabled, even for UART_RxD. ~~(From Clemens' post)
(Dennis, please forgive me too specific to UART.)
Hideaki Nambu said:No replies, therefore I think my wrap-up was accepted.
You, the originator of this thread, is the only only one that should decide whether this your question is "answered". Others can only try to suggest" an answer.
**Attention** This is a public forum