在波特率自适应技术中,由于5402无标准串口,故一般通过IO模拟实现.
即: XF->TXD,BIO,INT0->RXD.
XF用于发送串口数据,INT0用于对起始位的下降沿进行捕捉,BIO用于测试输入的串行数据.
为了降低CPU的占有率,异步时钟一般采用定时中断完成.
由于采用在INT0的下降沿来启动定时器,而起始位的数据的采样点应该为起始位的中点.故定时时间为其他位(8位数据+1位停止位)采用点时间的一半.
所以,首次TIM=1/2 PRD,其他9位TIM=PRD.
这样在INT0中设定TIM.PRD后,先延时TIM,当TIM减到0时,PRD将装载到TIM中,
从而实现了2个不同参数的自动装载,省略了在定时中断中的二次装载.
文章评论(0条评论)
登录后参与讨论