欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。


【嵌入式】STM32通讯方式

  • 按传输的数据位区分
  • 以信道方向区分
  • 根据时钟信号区分
  • 通讯的速率

专栏:《嵌入式软硬件》


按传输的数据位区分

串行通讯: 设备间通过少量数据信号线(一般8根以下),地线以及控制信号线,按照数据位一位一位的传输数据的方式叫做串行通讯。看名字也能看出,串行就是按位一个一个的串行通过,类似于单人通道。
并行通讯: 一般指使用8/16/32/64根或者更多的数据线进行数据传输的通讯方式,同一时刻可以传输多位数据。可以理解为并排通过的大马路。

以信道方向区分

全双工: 在同一时刻,两个设备间可以同时收发数据。(双向、同时)
半双工: 两个设备之间可以双向收发数据,但是同一端不能在同一时刻的既收数据又发数据。(双向、不同时)
单工: 任何时刻,数据只能单向流通,固定一端收,一端发。(单向)

根据时钟信号区分

同步通讯: 收发双方至少一根信号线一根数据线,在时钟信号的驱动下,双方同步数据,通讯双方会统一规定在时钟信号上升沿或者下降沿对数据采样。
异步通讯: 不使用时钟信号同步数据,不使用信号线,直接在数据中加入用于同步的信号位,以数据帧的格式传输数据,有时候还要约定收发双方的传输速率。一般数据帧格式为(起始位+数据+校验位+结束位)。

通讯的速率

比特率: Bitrate,每秒钟传输的二进制位数,单位是bit/s。
波特率: Baudrate,每秒钟传输的码元数量。码元是通讯信号调试的一个概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。比如,常用的0V电压表示二进制0,5V电压表示二进制1,那么一个码元可以表示0和1两种状态,此时,一个码元相当于1个bit位。如果用0V电压表示00,2V电压表示01,4V电压表示10,6V电压表示11,那么每个码元有四种状态,相当于两个bit位,这时候,波特率是比特率的1/2。




【嵌入式】STM32通讯方式相关推荐

  1. 【个人笔记】嵌入式多种通讯方式总结

    个人学习笔记总结,如若有误欢迎交流. 在嵌入式系统中的通信方式主要有以下几种:串行与并行通信.全双工.半双工和单工.同步和异步. 以下对其进行解释: 并行通信:一组八位数据一起发过去(需要八条数据线) ...

  2. CAN通讯方式--秉火STM32学习笔记

    首先非常感谢秉火团队为我们提供学习STM32的丰富资料及详细教程.本笔记仅用作个人学习记录,以此加深记忆,如感觉有帮助,可感谢支持秉火团队. CAN 协议简介 CAN 是控制器局域网络(Control ...

  3. 结合实际代码谈常见串行通讯方式—USART、SPI以及IIC

    按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,而并行通讯一般是指使用8.16 ...

  4. 串行口方式二 波特率_一文就能看懂“串口通讯”的概念、3个通讯方式、9大注意事项...

    串行通信是数据处理设备和外围设备之间最广泛使用的信息传输方法.每个设备可能是您的个人电脑或移动设备在运行串行协议.该协议是一种安全可靠的通信形式,由源主机(发送方)和目的主机(接收方)制定一套规则.为 ...

  5. 配置CLion进行嵌入式STM32的HAL库开发

    前言 时不可以苟遇,道不可以虚行. 一.准备 1.软件 CLion-2020:百度网盘提取链接放在文章最后. STM32CubeMX:使用 6.5.0 版本的,不要使用最新版本的 CubeMX,不然没 ...

  6. 嵌入式STM32入门之STM32基础串口通信

    STM32基础串口通信 一.前言 二.串口协议 (1)浅谈设备通信方式 (2)具体串口协议 (3)STM32的串口通信 (4)RS-232通信协议 (5)USB To TTL(CH340) 5.1 C ...

  7. 【毕业设计】基于RFID的门禁系统 - 单片机 物联网 嵌入式 stm32

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 射频识别 3.1 射频识别技术 3.2 射频识别模块 3.2.1 RFID模块 3.2.2 RFID模块组成 4 系统设计 4.1 系统架构 ...

  8. php多线程模型,PHP进程模型、进程通讯方式、进程线程的区别分别有哪些?

    PHP进程模型是一个正在执行的程序,可以分配给处理器并由处理器执行的一个实体:PHP进程通讯方式有管道及有名管道,信号,共享内存等:PHP进程线程的区别有进程是资源的分配和调度的一个独立单元,而线程是 ...

  9. php与nginx通讯方式,[Linux]PHP-FPM与NGINX的两种通讯方式

    一.通过监听TCP端口通讯 php-fpm.d/www.conf ; The address on whichto accept FastCGI requests. ; Valid syntaxes ...

最新文章

  1. 微软私有云分享(R2)26配置基线与更新
  2. MVC 中使用bootstrap-select 基础使用方法
  3. bzoj3339 Rmq Problem
  4. ElementUI form表单 左侧label对齐注意事项
  5. Django从理论到实战(part51)--User模型
  6. 测试 MathJax 排版功效
  7. 文件操作,列表实例NiceHexSpiral
  8. MFC开发IM-第二十篇、MFC添加自定义消息
  9. Kaggle比赛(一)Titanic: Machine Learning from Disaster
  10. Java Timetask 无缘无故停止
  11. HALCON 20.11:深度学习笔记(3)---Data(数据)
  12. 测试中常见bug总结
  13. Atitit 品牌之道 attilax著 艾龙 著 1. 第1章 品牌和品牌管理 1 2. 第Ⅱ篇 制定品牌战略 2 3. 第Ⅲ篇 品牌营销活动:设计与执行 2 4. 第Ⅳ篇 评估和诠释品牌绩效 3
  14. 格林积分在多边形截面特性计算的应用
  15. 【云IDE】CSDN云IDE的初探以及实战操作
  16. Vim配置#pathogen插件管理工具
  17. 《那些年啊,那些事——一个程序员的奋斗史》——123
  18. 关于联想笔记本无线网老是掉线的解决方法
  19. 【刷题笔记】CG第二周
  20. 跨境电商难做?你需要知道这5个“低成本低风险”跨境电商项目

热门文章

  1. GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)
  2. [RN]为什么要带上 abiFilters armeabi-v7a, x86
  3. Java开发完整的短信验证码功能
  4. Navicat Premium从远程Mysql数据库复制到本地数据库
  5. Python3聊天室功能简单实现
  6. 上传/下载远程服务器文件
  7. Android老油条都知道的7个Gradle实用奇技淫巧,kotlin高阶函数和lambda示例
  8. imadjust函数分析一
  9. 恒鑫生活IPO过会:拟募资8.28亿 樊砚茹家族持股89%
  10. 迪科斯特拉算法及其优化