PS. When I got home late last night, CTS (clear to send) RS232 line occurred to me...CTS is active LOW. That maybe, Hyperterm driver terminal emulator is looking for clear-to-send signal (low) from MCU thinking in UART protocol. So our current plain direct 9 pin UART to USB connector cable is not enough. We need an FTDI converter adapter cable that would ground/0V the CTS, so Hyperterm app's keyboard input willl go out to USB out to MCU UART? Is this thinking correct? Does it explain why my key presses on hyperterm seems to be ignored because it is not "clear-to-send" out to MCU RX uart line? No CTS low signal detected? Just floating high on our cable? Meaning NOT clear-to-send? Please advise/confirm. Thanks.)
(NOTE: this is a copy of my response to you via email on Tech Support ticket, with slight typo corrections & paraphrase changes.)
Hello Kerry,
I’ve checked all but you can tell if I missed anything.
Our custom board (NOTE: PRINTF() command is working well, it spews out what I want displayed on Hyperterm window)
// v3 5/30/19 mi debug console
// PORTA1 (pin 35) is configured as LPUART0_RX
PORT_SetPinMux(PORTA, 1U, kPORT_MuxAlt2);
// PORTA2 (pin 36) is configured as LPUART0_TX
PORT_SetPinMux(PORTA, 2U, kPORT_MuxAlt2);
We have plain-vanila, direct UART RX/TX to USB port.
On FRDM board:
I know that the as you stated, FRDM-KL28Z is PTB16 LPUART0_RX & PTB17 LPUART0_TX but that goes to “Arduino Headers” J1 connector pins
2 & 4 which are open - I don’t have anything attached there.
So how does that pinmux configuration of PTB16 & PTB17 relate?
Physically, my console port is connected to COM5 serial baud 115,200 via mini-USB on J13 which is connected to OpenSDA.
Last month, I talked with someone from PEMicro Multilink about moving out from MCU Debugger Console tab little window to do all debugging in Hyperterm window, outside of MCUXpresso, someone instructed me to install an openSDA dapboot loader driver code.
I just spoke again to the same person at PEMicro before I typed this post to clarify what that driver does.
He said that it is a UART emulator program that converts all debug console outputs (e.g. PRINTF()) & inputs (e.g. GETCHAR()) to communicate via the openSDA module through the J13 miniUSB port.
So that’s probably why HyperTerm is able to convert & transmit keyboard inputs out to the miniUSB, thru the openSDA & to the MCU KL28Z on FRDM board.
That explains how even though PTB16 & PTB17 are configured in pinmux.c as UART RX/TX GPIO function, they are actually UNUSED! Because everything is going through the openSDA to the MCU.
QUESTION:
Do you know which input pin from openSDA to the MCU does it go for the MCU to receive the keyboard entry through GETCHAR()? When I don’t see anything else setup in pinmux.c but PTB16 & PTB17 for UART on the imported SDK example?
ISSUE/BIG DIFFERENCE:
I don’t have openSDA module on our custom board.
Like I stated on original post, I assigned DIRECT UART TX/RX PTA2 & PTA1 for UART function & our HW engineer implemented it to our custom board.
But now, even with correct pinmux.c setting, although PRINTF() is sending out strings to Hyperterm for displaying them, it seems that Hyperterm is not accepting keyboard inputs OR it maybe accepting & sending keyboard input & passing them through UART RX line to the MCU PTA1 but GETCHAR() is not accepting it?
Do you know how I can fix this?
Thank you very much for the help.
MI