单片机与上位机的通信模式为异步串行通信,单片机要实现自适应数据波特率,就需要让串口波特率能够随数据速率而变。波特率允许有25%偏差,这样就不可以对任意波特率实行自适应。在下位机,知道晶振后,不同波特率的常数可确定。可通过上位机发送特定特征码,下位机采用不同的常数尝试,再将正确常数存入变量,做为通信波特率常数。