单片机之串口通信

13:54:08
虽然自己还有很多的不懂,但是我可以慢慢的学习,一点点的积累。单片机串口通信有以下的知识。
 电平转换
单片机TTL电平,逻辑0为电压0V,逻辑1为电压+5V。
RS-232电平特性:
逻辑1(MARK)=-3V~-15V
  逻辑0(SPACE)=+3~+15V
  在RTS、CTS、DSR、DTR和DCD等控制线上:
  信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
常用电平转换芯片MAX232可以完成双向电平转换,还有其他一些常用单向转换芯片不在叙述。
 串口通信方式
51系列单片机串口通信方式总共有四种,由串口控制寄存器SCON设定, 方式0和方式2的波特率是固定的,方式1和3波特率是可变的,计算公式为
如果PCON中的SMOD位为1则;
波特率 = 2*(T1的溢出率)/32
如果PCON中的SMOD位为0则;
波特率 = 1*(T1的溢出率)/32

溢出速率=(计数速率)/(所用周期数)
计数速率与晶振有关,计数速率即机器周期的倒数,为fose/12。fose为晶振频率。
所用周期与定时器工作方式和初值有关。
 通信协议
通信方式中的误码问题,一般采用数据校验的办法
奇偶校验。
校验和。
CRC校验(循环冗余校验)。
关于CRC校验,弄的不是很明白,希望高手可以详细给我讲解。好了说一点知道的吧,CRC校验是利用生成的多项式(原理比较多)最高次幂n一般为4、8、16、32等等,首先把数据后添加n位,然后再和多项式进行二进制除法(就是异或运算)最后得到的余数即为CRC校验码,然后加在数据位后面一起发送。
通信中先发低位,后高位。发送完数据由硬件置RI为1,RI只能用软件清零。接受完一帧数据硬件置TI为1,软件清零。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值