博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
stm32常见通信方式(TTL、RS232、RS485、CAN)总结
阅读量:3722 次
发布时间:2019-05-22

本文共 578 字,大约阅读时间需要 1 分钟。

一、TTL电平:全双工(逻辑1: 2.4V--5V   逻辑0: 0V--0.5V)

 

1、硬件框图如下,TTL用于两个MCU间通信

 

2、‘0’和‘1’表示

 

 

二、RS-232电平:全双工(逻辑1:-15V--5V  逻辑0:+3V--+15V)

 

 

1、硬件框图如下,RS-232用于MCU与PC机之间通信

 

2、‘0’和‘1’表示

 

 

三、RS-485:半双工、(逻辑1:+2V--+6V  逻辑0: -6V---2V)这里的电平指AB 两线间的电压差。

 

1、硬件框图如下

 

2、‘0’和‘1’表示

 

 

 

四、CAN总线:逻辑1:-1.5V--0V  逻辑0:+1.5V--+3V)这里的电平指CAN_High、CAN_Low 两线间的电压差。

 

1、硬件框图如下

 

 

 

2、‘0’和‘1’表示

 

 

以上总结:

1、从单片机软件编程角度来说,RS232、RS-485最终结果都是转换为TTL电平方式与单片机通信(CAN收发器把差分信号转化为TTL-->CAN控制器(MCU))。其目的都是提高通信质量,提高抗干扰能力。

2、TTL、RS232是逻辑电平信号。RS-485、CAN为差分信号。

 

五、I2C

5.1 I2C物理层

 

5.2 I2C协议层

 

5.3 数据的起始信号与停止信号

 

5.4数据有效性

I2C 协议在 SCL 高电平时对 SDA 信号采样, SCL 低电平时 SDA准备下一个数据。

 

你可能感兴趣的文章
第一个程序hello.c
查看>>
修改dev c++的语言为简体中文与快捷键
查看>>
scanf()接收输入
查看>>
浮点数与四则运算符实例
查看>>
if else分支判断
查看>>
c的if else嵌套与switch分支语句
查看>>
c的循环while,do while
查看>>
c的循环小案例(取随机数)
查看>>
JDBC元数据
查看>>
数据库规范化理论与范式
查看>>
c的for循环
查看>>
JDBC 存储过程(使用java代码编写sql 存储过程)
查看>>
PowerDesigner数据库建模
查看>>
JDBC db层,封装方法(查,增,改,删)
查看>>
c的for循环(二)
查看>>
c的for循环(三)循环控制
查看>>
HTML标签即基本语法
查看>>
c的数据类型详解与逻辑运算
查看>>
js变量与数据类型,及数据类型转换
查看>>
c的函数
查看>>