当前位置: 首页 > news >正文

江协科技STM32入门教程——通信接口

一.通信协议

通信目的:将一个设备的数据传输到另一个设备,扩展硬件系统

通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

硬件电路

简单串口通信有两根通信线(发送端TX和接收端RX)

TX和RX要交叉连接

当只需要单向的数据传输时,可以只接一根通信线

当电平标准不一致时,需要加电平转换芯片

电平标准

电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

TTL电平:+3.3V或+5V表示1,0V表示0

RS232电平:-3——-15V表示1,+3——+15V表示0

RS485电平:两线压差+2——+6V表示1,-2——-6V表示0(差分信号)

串口参数及时序

波特率:串口通信的速率

起始位:标志一个数据帧的开始,固定为低电平

数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行

校验位:用于数据验证,根据数据位计算得来

停止位:用于数据帧间隔,固定为高电平

二.串口外设

USART和UART的区别:S表示同步USART表示同步串口收发器,UART表示异步串口收发器

USART可以根据数据寄存器的一个字节数据自动生成数据帧时序从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节的数据,存放在数据寄存器里

USART自带波特率发生器,最高可达4.5Mbits/S

可配置数据位长度(8/9),停止位长度(0.5/1/1.5/2)

可选校验位(无校验/奇校验/偶校验)

支持同步模式,硬件流控制模式,DMA,智能卡,IrDA,LIN

F103C8T6USART资源:USART1,USART2,USRT3

只有USART1是APB2总线上的设备,其余都是APB1总线上的设备

USART基本结构

波特率发生器用于产生约定的通信速率

发送控制器和接收控制器,用来控制发送移位和接收移位

数据帧

波特率发生器

发送器和接收器的波特率由波特率寄存器BRR里面的DIV确定

计算公式:波特率=fPCLK2/1/(16*DIV)

三.代码部分

PA9接发送端口,PA10接接收端口,VCC脚和3.3V脚接跳线帽

整体代码会分享出来

http://www.lryc.cn/news/585822.html

相关文章:

  • 《Java Web程序设计》实验报告四 Java Script前端应用和表单验证
  • Vue.js:从 Web 到桌面的跨端实践与技术选型指南
  • C++11的整理笔记
  • 【PTA数据结构 | C语言版】出栈序列的合法性
  • 20250712-3-Kubernetes 应用程序生命周期管理-服务编排(YAML)及编写技巧_笔记
  • 【算法笔记】7.LeetCode-Hot100-图论专项
  • Java 接口详解:从基础到高级,掌握面向对象设计的核心契约
  • DBeaver连接MySQL8.0报错Public Key Retrieval is not allowed
  • 代码训练LeetCode(46)旋转图像
  • 视频分析应用的搭建
  • Java 大视界 -- 基于 Java 的大数据可视化在城市生态环境监测与保护决策中的应用(344)
  • xFile:你的 Windows/Linux,也能像 Mac 一样安全
  • 深入理解大语言模型:从核心技术到极简实现
  • Qt窗口:菜单栏
  • 企业选择大带宽服务器租用的原因有哪些?
  • Spring Ai Alibaba Gateway 实现存量应用转 MCP 工具
  • 如何查看服务器当前用户的权限
  • [es自动化更新] Updatecli编排配置.yaml | dockerfilePath值文件.yml
  • QT中设计qss字体样式但是没有用【已解决】
  • 进制转换小题
  • Django母婴商城项目实践(三)
  • 【Luogu】每日一题——Day1. P3385 【模板】负环
  • Redis概念和基础
  • [论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
  • 端口到底是个什么鬼?回答我!
  • Java大厂面试故事:谢飞机的互联网医疗系统技术面试(Spring Boot、MyBatis、Kafka、Spring Security、AI等)
  • Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
  • TensorFlow2 study notes[1]
  • 【每日算法】专题八_分治_归并排序
  • The Practice of Programming