串口通信基本原理

1. 处理器与外部设置通信的基本方式
  • 并行通信:数据各个位同时传输
  • 串行通信:数据按位顺序传输

在串行通信中,按照数据的传输方向,又分为:

  • 单工:数据传输只支持在一个方向传输
  • 半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信
  • 全双工:允许数据在俩个方向上传输,因此,全双工是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力
2、串行通信的通信方式
  • 同步通信:带时钟同步信号传输
    SPI、IIC通信
  • 异步通信:不带时钟同步信号
    UART(通用异步收发器)、单总线
  • USART:通用同步异步收发器
3、常见串行通信接口

4、UART异步通信方式引脚连接方法
  • RXD:数据输入引脚。数据接收
  • TXD:数据发送引脚。数据发送

STM32串口常用寄存器和库函数

1、常用的串口相关寄存器
  • USART_SR:状态寄存器
  • USART_DR:数据寄存器
  • USART_BRR:波特率寄存器
2、串口操作相关库函数
void USART_Init(); //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能
void USART_Cmd();//使能串口
void USART_ITConfig();//使能相关中断void USART_SendData();//发送数据到串口,DR
uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据FlagStatus USART_GetFlagStatus();//获取状态标志位
void USART_ClearFlag();//清除状态标志位
ITStatus USART_GetITStatus();//获取中断状态标志位
void USART_ClearITPendingBit();//清除中断状态标志位
3、波特率计算方法


串口配置的一般配置

串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();
串口复位:USART_DeInit(); 这一步不是必须的
GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP
串口参数初始化:USART_Init();
开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)NVIC_Init();USART_ITConfig();
⑥使能串口:USART_Cmd();
⑦编写中断处理函数:USARTx_IRQHandler();
⑧串口数据收发:
void USART_SendData();//发送数据到串口,DR
uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据
⑨串口传输状态获取:
FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);

串口通信的基本原理----STM32相关推荐

  1. 串口通信的基本原理详解

    目录 串口通信 串口通信的两种基本方式 异步数据的数据发送过程 异步通信的数据接收过程 9针串口(DB9) TTL与RS232区别 TTL: RS232: 串口通信的数据格式 通讯方式 偶校验与奇校验 ...

  2. 基于STM32实现串口通信输出hello windows!

    文章目录 前言 一.介绍 1.串口协议和RS-232.485标准 2.RS232.485电平与TTL电平的区别 3.USB/TTL转232模块的工作原理 二.安装 1.安装STM32CubeMX 2. ...

  3. delphi 串口通信发送_STM32第五章串口通讯详解

    点击上方"果果小师弟",选择"置顶/星标公众号"干货福利,第一时间送达! 串口通信是串行通信里面的异步方式.串行通信是相对于并行通信来说的.串口是一个事实存在的 ...

  4. s5pv210——串口通信的基础概念

    以下内容源于朱友鹏<物联网大讲坛>课程的学习,如有侵权,请告知删除. 总结 1.同步异步:是否同一时钟,数据格式 2.电平信号.差分信号:有无参考电平(有,无) 3.串行接口和并行接口:信 ...

  5. 计算机串口通信的作用,串口通信协议

    串口通信指串口按位(bit)发送和接收字节.尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据.串口通信协议是指规定了数据包的内容,内容包含了起始位.主体数 ...

  6. javarxtx串口接收时数据会分成好几段_【STM32】串口通信基本原理(超基础、详细版)...

    STM32F1xx官方资料: <STM32中文参考手册V10>-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通 ...

  7. 【STM32】串口通信基本原理(超基础、详细版)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通 ...

  8. STM32 —— STM32 的串口通信

    STM32 -- STM32 的串口通信 STM32的串口通信接口有两种,分别是:UART(通用异步收发器).USART(通用同步异步收发器).而对于大容量 STM32F10x 系列芯片,分别有 3 ...

  9. 【STM32】标准库与HAL库对照学习教程八--串口通信详解

    [STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...

最新文章

  1. gridview列 数字、货币和日期 显示格式
  2. MySQL数据库的终结_MySQL数据库秘籍终结 对不起了 让你们自宫了 其实不消哈哈哈...
  3. C++ 泛型编程(一):模板基础:函数模板,类模板,模板原理,模板匹配规则
  4. defer 的前世今生
  5. pcl中ransac提取直线_复杂场景中的一个图像配准思路
  6. 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】
  7. android mtk平台的fm停止搜索,【MTK平台,手机工程模式知识及方法详解】
  8. POJ 3764 Trie + 贪心
  9. 【记录一下】训练yolov5解决can not train without labels
  10. 苹果按键强制恢复出厂_【数码】苹果手机忘了解锁密码不要慌,你可以这样做!...
  11. 企业微信api调用报50001错误
  12. JEPG图片下载方法
  13. 贝壳找房上海研发全员被优化,公司回应来了!
  14. Java 抛出异常【throw】
  15. c++ memcpy内存拷贝
  16. [跑步] 7种方法增强耐力
  17. 物联网安全期末知识点总结
  18. ROS2 基础概念 参数
  19. Google 2018年Android平台新政策,终于强硬了一回!
  20. 使用ESP32驱动QMA7981读取三轴加速度(带例程)

热门文章

  1. Effeckt.css – CSS3 Transitions Animations 精妙应用
  2. css常用属性初总结:伪元素和伪元素
  3. css动画-模拟正余弦曲线
  4. 学习 AngularJs 终于有点进步了。
  5. MySQL中查询获取每个班级成绩前三名的学生信息
  6. IDEA插件之 CodeGlance
  7. 【从入门到放弃】23种设计模式(1):设计模式综述
  8. Spring-framework应用程序启动loadtime源码分析笔记(二)——@Transactional
  9. oracle11g 修改字符集 修改为ZHS16GBK
  10. 林海峰老师python课件密码