improved uart interface, fix issue with sending 0 as data byte