Remove float in usart_baud and work around in irq_save.

When using float point in compile option,
lr value would be strange(0xffffffe9) in IRQ_HANDLER
and we need to save ctx's lr in lr in irq_save to
correct it.