stm32常见通信方式(TTL、RS232、RS485、CAN)总结

2019-10-25来源: eefocus关键字:stm32  通信方式  TTL  RS232  RS485  CAN

一、TTL电平:全双工(逻辑1: 2。4V--5V   逻辑0: 0V--0。5V)


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

2、‘0’和‘1’表示

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


1、硬件框图如下,TTL用于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准备下一个数据。


六、SPI


以上总结:


关键字:stm32  通信方式  TTL  RS232  RS485  CAN 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic478328.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:如何配置STM32F103的重映射USART
下一篇:STM32-printf重映射串口

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Ubuntu下安装Stm32的Eclipse的开发环境(1)
下使用的stm32工程,也尝试使用了makefile去编译运行它吗,那么我们现在来看看eclipse下怎么编译它吧。点击新建工程 C project 或 C++ project ,选择一个空工程,toolchain设置为 cross arm gcc。并在project name 的地方给工程起个名字。之后选择工具链设置其位置,并选择编译配置模板。最后点击finish完成。在完成设置后,我们会在工作区看到一个空的工程。这是我们在工程上点击右键选择 import ,选择导入文件结构。并在选择中工程文件夹勾选它后点击finish 进行导入操作。设置编译参数在我们导入后可能会看到很多的报错和警告,我们先不要理会他们,首先我们要做
发表于 2020-06-07
关于STM32CubeMx printf重定向,及报错。"FILE" is undefined
PFP *//* USER CODE BEGIN 0 */PUTCHAR_PROTOTYPE{    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);    return ch;}/* USER CODE END 0 */ 这样写会报错"FILE" is undefined  添加头文件 stdio.h即可
发表于 2020-06-06
【STM32】keil MDK下重定向printf到串口(基于STM32CubeMX)
概述在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。代码清单extern USART_HandleTypeDef husart1;int fputc(int ch, FILE *f) {    HAL_USART_Transmit(&husart1, (uint8_t *)&ch, 1, 0xFFFF);    return ch
发表于 2020-06-06
STM32CubeMx启动串口调试功能Printf调试
## 概述项目中往往需要调试信息,调试stm32的时候,需要标准库里面的printf函数。在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。代码清单/* USER CODE BEGIN Includes */#include "FreeRTOS.h"#include "task.h"#include "queue.h"
发表于 2020-06-06
STM32CubeMx启动串口调试功能Printf调试
STM32F1xx HAL库中文版——USART篇
38.1 UART Firmware driver registers structures //串口固件驱动寄存器结构38.1.1 UART_InitTypeDefUART_InitTypeDef被定义在stm32f1xx_hal_uart.h头文件中数据字段:• uint32_t BaudRate 波特率• uint32_t WordLength 字长• uint32_t StopBits 停止位• uint32_t Parity 奇偶校验位• uint32_t Mode 模式• uint32_t HwFlowCtl 硬件流控制• uint32_t OverSampling 过采样字段的文档:• uint32
发表于 2020-06-06
Stm32-输入捕获
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。STM32 的输入捕获,简单地说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)中。1. 相关寄存器介绍1) 捕获/比较模式寄存器 (TIMx_CCMRx) 当在输入捕获模式下使用的时候,对应上图的第二行描述,从图中可以看出,TIMx_CCMR1 明显是针对 2 个通道的配置,低八位[7:0]用于捕获/比较通道 1 的控制,而高八位[15:8]则用
发表于 2020-06-06
Stm32-输入捕获
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 2689mr.com, Inc. All rights reserved
申请送彩金的网站 首存送彩金最多的网站 彩票网送彩金存款 免费送彩金28元 qq等级送彩金线上娱乐 网上百家乐免费送彩金 足彩送彩金 申请免费自动送彩金 吉林快三机器人 购彩送彩金