串口输入格式
起始位-数据位-校验位-停止位
数据位一般是8位。
速度:波特率,表示每秒传输二进制数据的位数。
(空闲时拉高,拉低表示起始位)
串口输出过程
定义标志位:起始位-检测下降沿来捕获起始位-是一个周期的脉冲信号。
脉冲信号为高时,拉高接收flag-为什么不直接用脉冲信号作为接收flag,因为接收flag是一个持续拉高的信号,计数到停止位中间时才停止接收过程。
接收flag-为高表示正在进行接收过程,开始启动接收数据计数器及时钟计数器。
数据的串并转换
根据波特率可计算出传输一位所需要的时钟周期数。计数时钟周期,并对位数按次保存,即可实现串并转换,一般以计数到数据中间时采样为最准。主要注意的计数器就是系统时钟计数器,以及各自一个发送数据计数器、接收数据计数器。