stm32f107 uart frame and noise error
So after watching my terminal for hours I realized something interesting!sometimes When ping request is sent to gsm module without any delay I get frame error and noise error. 

In reference manual I understood that frame error occurs when mcu couldn't find stop bit and noise error occurs when sampling bits don't strongly prove 1 or zero (maybe I'm not completely true but it's somehow the same) and in uart protocol start bit is a zero after idle time. 

So I doubted that transmit burst may cause a very short zero on RX line! So again I looked carefully at my schematic and hardware design document of Sim800l! 

I've put  4 cap in parallel between vbat and gnd! 1 1000uF electrolyte,1 220uF tantalum, 1 33pF and 1 10pF. Data sheet recommended to place an other cap called Cb = 1uF too which I didn't put!!

So I started to experiment. I added 1 2200uF electrolyte cap too then realized that errors show up lesser than before! Then I added a 10uF ceramic cap and nothing happened again even garbage that was sent to my terminal!!