uart协议串口通信刨析(学习笔记)

一.串行通信

串行通信,一次只能发送一位,要发送8次才能发送一个字节,串口通信低位在前。 

uart简介:通用异步收发器,是一种通用的串行,异步的通信总线,该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统常用于主机与辅助设备之间的通信。

二.波特率(baud)

 发送二进制数据的速率,发送一个二进制数据的持续时间,1/baud。在通信之前必须要约定好,收发一致。

三.串行数据帧

起始位+8位数据(从低到高)+奇偶校验位+停止位+空闲位 

 四.Rs232通信接口(9针)

1.载波检测DCD

2.接受数据RXD

3.发送数据TXD

4.数据终端准备好DTR

5.信号地线GND

6.数据准备好DSR

7.请求发送RTS

8.清除发送CTS

9.振铃提示Rl

TTL/CMOS电平标准:

高电平‘1’>2.xV

 

低电平'0'>0.xV

232电平标准(不能直接对接例如5v的单片机):

高电平‘1’>-3v~-15V

低电平‘0’<+3v~+15v

通常情况下用MAX232转接芯片:

五.USB转串口通信

 

 二级管4148是为了方便程序下载,反向截至,阻挡单片机里面的电流影响,如果要做一个下载器,最好加上。

六.软件部分把RXD和TXD作为普通IO口实现uart通信

起始位+8位数据位+停止位

例:输入1,加一为2返回

void main()
{
    EA=1;
    configUART(9600);//配置波特率
    while(1)
    {
        while(PIN_RXD);//低电平检测
        StartRXD(); //接收
        while(!RxdEnd);
        StartTXD(RxdBuf+1);//发送
        while(!TxdEnd);
    }
}
void ConfigUART(unsigned int baud) //配置波特率
{
    
}
void StartRXD() //RXD接收状态
{
        
}
void StartTXD(unsigned char dat) //TXD发送状态
{

}
void InterruputTimer0() interruput
{
    static unsigned char cnt=0; //发送到哪了


    。。。。。。。
}

七.uart通信模块

 SCON

 波特率发生器

 串口通信程序的基本步骤

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞赴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值