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

江协科技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.xdnf.cn/news/15358.html

相关文章:

  • Web安全-Linux基础-02-系统基础命令
  • QCustomPlot绘制交互图
  • VUE3 el-table 主子表 显示
  • 【极客日常】后端任务动态注入执行策略的一种技术实现
  • 解决bash终端的路径名称乱码问题
  • Spring之【写一个简单的IOC容器EasySpring】
  • 批量自动运行多个 Jupyter Notebook 文件的方法!!!
  • 创建Spring Boot项目
  • 基于 Redisson 实现分布式系统下的接口限流
  • 网络安全初级第一次作业
  • MacOS环境下运行EasySearch报错无法信任Java包的解决方案
  • ServiceNow Portal前端页面实战讲解
  • GGE Lua 详细教程
  • 【6.1.1 漫画分库分表】
  • c#中生成随机数的三种方法
  • pgsql模板是什么?
  • Kafka——聊聊Kafka的版本号
  • 【理念●体系】从零打造 Windows + WSL + Docker + Anaconda + PyCharm 的 AI 全链路开发体系
  • 1Panel V1 无缝升级到 V2 版本 实现多个 PHP 网站共享一个容器
  • Spring Boot整合MyBatis+MySQL实战指南(Java 1.8 + 单元测试)
  • AIStarter新版重磅来袭!永久订阅限时福利抢先看
  • ARM架构CPU的市场和生态
  • 使用云虚拟机搭建hadoop集群环境
  • Claude Code是什么?国内如何使用到Claude Code?附国内最新使用教程
  • 四、神经网络——正则化方法
  • 喷涂机器人cad【1张】+三维图+设计说明书+降重
  • redis数据结构和数据类型
  • vector之动态二维数组的底层
  • 2025年亚太中文赛B题第一版本超详细解题思路
  • C++:非类型模板参数,模板特化以及模板的分离编译