SW4STM32 UART is not working
Be careful, you program the UART to transmit/receive 8 DATA bits without parity. The wordlength parameter is the number of useful data bits sent and the parity (if required) is after these 8 bits, not included in them.
Note that you said you wanted 7 bits + ODD parity, but programmed the UART to work 8 bits without parity...
So if you program Hyperterminal (or any better terminal emulator like teraterm) with 7 databits PLUS parity, choose ODD parity and be sure all the bytes that you send have an odd number of 1 bits as any byte with incorrect parity will be rejected by the terminal emulator...