USART not working with CP2102 adapter and STM32F1 Blue Pill board
I have managed to solve problem with the help of cheap USB Logic Analyser and STM32 reference manual. I was setting GPIO pins for USART1 incorrectly, RX needs to be floating input and TX needs to be alternate function output with pull-up/pull-down. So after changing these lines:

 GPIOB-&gt;CRL &amp;= ~(GPIO_CRL_MODE7_0 | GPIO_CRL_MODE7_1);
 GPIOB-&gt;CRL |= GPIO_CRL_MODE7_0 | GPIO_CRL_MODE7_1 | GPIO_CRL_CNF6_0;


To:

GPIOB-&gt;CRL |= GPIO_CRL_MODE6_1 | GPIO_CRL_CNF6_1 | GPIO_CRL_CNF7_0;


I can see character being sent with logic analyzer hooked up and also can observe it on arduino serial monitor.