【STM32】串行通信原理
(1)通信接口背景知识
并行通信:
--传输原理:数据各个位同时传输
--优点:速度快
--缺点:占用引脚资源多
串行通信:
--传输原理:数据按位顺序传输
--优点:占用引脚资源少
--缺点:速度相对慢
串行通信的三种方式(按照数据发送方向):
--单工:数据传输只支持数据在一个方向上的传输。
--半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,
它实际上是一种切换方向的单工通信。
--全双工:允许数据同时在两个方向上传输,因此,全双工通信时两个单工通信方式的结合,
它要求发送设备和接收设备都是有独立的接受和发送能力。
串行通信方式:
--同步通信:带时钟同步信号传输。SPI,IIC通信接口
--异步通信:不带时钟同步信号:UART(通用异步收发器),单总线
(2)STM32串口通信基础
STM32的串口通信接口
--UART:通用异步收发器
--USART:通用同步异步收发器
UART异步通信方式引脚连接方法:
--RXD:数据输入引脚,数据接收
--TXD:数据输出引脚,数据发送
UART异步通信方式特点
--全双工异步通信
--小数波特率发生器系统,提供精确的波特率
--可配置的16位过采样,因而为速度容差与时钟容差的灵活配置提供了可能
--可编程的数据字长(8或者9)
--可配置的停止位(支持1或者2位停止位)
--可配置DMA多缓冲器通信
--单独的发送器和接收器使能位
--检测标志:(1)接受缓冲器(2)发送缓冲器空(3)传输结束标志
--多个带标志的中断源。触发中断
--其他:校验控制,四个错误检测标志
STM32串口异步通信需要定义的参数
--起始位
--数据位(8/9位)
--奇偶校验位(第9位)
--停止位(1,15,2位)
--波特率设置
【STM32】串行通信原理的更多相关文章
- STM32串行通信USART解说笔记
STM32串行通信USART程序例举链接:http://blog.csdn.net/dragon12345666/article/details/24883111 1.STM32串行通信USART的相 ...
- STM32 HAL库之串口详细篇
一.基础认识 (一) 并行通信 原理:数据的各个位同时传输 优点:速度快 缺点:占用引脚资源多,通常工作时有多条数据线进行数据传输 8bit数据传输典型连接图: 传输的数据是二进制:11101010, ...
- Hello China操作系统STM32移植指南(一)
Hello China操作系统移植指南 首先说明一下,为了适应更多的文化背景,对Hello China操作系统的名字做了修改,修改为"Hello X",或者连接在一起,写为&quo ...
- stm32位操作详解
stm32位操作详解 STM32位操作原理 思想:把一个比特分成32位,每位都分配一个地址,这样就有32个地址,通过地址直接访问. 位操作基础 位运算 位运算的运算分量只能是整型或字符型数据,位运算把 ...
- STM32 寄存器库和固件库
寄存器和固件库开发的差别和联系 固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道.向上提供用户函数调用的接口(API). 在 51 的开发中我们经常的作法是直接操作寄存器,比方要控制 ...
- 网络存储技术(3) based on zt
各种术语介绍 一 ESCON 1991 年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术.它是基于光纤介质,最大传输速率达1 ...
- 网络存储技术介绍(2) ( based on zt)
http://www.educity.cn/tx/429084.html 互联网技术DAS.NAS和SAN存储方案的比较 按照设备位置和接入方式,磁盘存储可以分为内置存储和外挂存储,外挂存储又分为直连 ...
- linux内核完全注释之微型计算机组成结构
计算机组成原理 1.传统计算机计算机组成框图 CPU通过地址线.数据线.控制线组成的本地总线(或内部总线),与系统的其他部分进行数据通信,地址线用于提供内存或I/O设备的地址,指明所需读写数据的具体操 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
随机推荐
- xml配置文件 操作
public class ConfigFile { protected readonly string configBasePath = "Root/Config"; /// &l ...
- BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛
按照积性函数的定义筛一下这个积性函数即可. #include <cstdio> #include <algorithm> #define N 1000004 #define s ...
- POI2012 BEZ-Minimalist Security | noi.ac #537 Graph
题目链接:戳我 首先注意这张图有可能不连通!! 然后我们考虑对于每一个联通块,首先任意确定一个点,给它设最终值为x,然后进行搜索.(因为对于一个联通块而言,我们知道一个点的最终值,那么整个联通块上面点 ...
- delphi请求http接口并上传附件
实现附件的上传:需要使用TIdMultiPartFormDataStream控件, uses IdMultipartFormData; 例子: procedure TClientForm.Button ...
- AtCoder AGC005E Sugigma: The Showdown (博弈论)
题目链接 https://atcoder.jp/contests/agc005/tasks/agc005_e 题解 完了真的啥都不会了-- 首先,显然如果某条A树的边对应B树上的距离大于等于\(3\) ...
- [ML] Gradient Boost
参考链接: 1. https://medium.com/@cwchang/gradient-boosting-%E7%B0%A1%E4%BB%8B-f3a578ae7205 2. https://zh ...
- [笔记]动态规划(dynamic programming)
动态规划与分治方法都是通过组合子问题的解来求解原问题,区别在于:分治方法将问题划分为互不相交的子问题,递归求解子问题,再将它们的解组合起来,求出原问题的解.分治算法可能反复的求解某些公共子问题,从而使 ...
- JavaWeb_(Struts2框架)拦截器interceptor
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- Mac安装软件提示文件损坏
Mac安装软件提示文件损坏,请移至废纸篓 sudo spctl --master-disable
- C代码输出日志
模板代码,在实际开发中可以使用: Android.mk文件增加(放到 include $(CLEAR_VARS)下面) LOCAL_LDLIBS += -llog C代码中增加 #include &l ...