首页 > 其他分享 >STM32 | 通用同步/异步串行接收/发送器USART带蓝牙(第六天原理解析)

STM32 | 通用同步/异步串行接收/发送器USART带蓝牙(第六天原理解析)

时间:2024-04-04 15:30:18浏览次数:29  
标签:USART 通信 STM32 传输 串口 串行 发送器

STM32 第六天

一、 USART

1、USART概念

USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器

USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备

处理器与外部设备通信的两种方式:

u并行通信(八车道)

-传输原理:数据各个位同时传输。

-优点:速度快

-缺点:占用引脚资源多

u串行通信(单车道)

-传输原理:数据按位顺序传输。

-优点:占用引脚资源少

-缺点:速度相对较慢

串行通信按传送方向分:

a.单工:

数据传输只支持数据在一个方向上传输(收音机、遥控器)

b.半双工:

允许数据在两个方向上传输,但是,在某一时刻,只允许数

据在一个方向上传输,它实际上是一种切换方向的单工通信;(对讲机)

c.全双工:

允许数据同时在两个方向上传输,因此,全双工通信是两个

单工通信方式的结合,它要求发送设备和接收设备都有独立

的接收和发送能力。(电话机)

2、STM32串口

USART习惯叫为串口,串口为全双工通信

串口信号线分析

TXD 发送数据 Transmit(tx) Data 简写形式(TX  T  TD)

RXD 接受数据 Receive(rx) Data  简写形式 (RX  R  RD)

连接方式

MCU MCU

TXD-------------------------------------->RXD

RXD<-------------------------------------TXD

STM32串口异步通信定义的参数传送格式:

A.起始位

B.数据位(8位或者9位)

C.奇偶校验位(第9位)

D.停止位(1,1.5,2位)

波特率设置

n起始位:发送器是通过发送起始位而开始一个字符的传送

标签:USART,通信,STM32,传输,串口,串行,发送器
From: https://blog.csdn.net/m0_45463480/article/details/137287206

相关文章

  • 不到2000字,轻松带你搞懂STM32中GPIO的8种工作模式
    大家好,我是知微!学习过单片机的小伙伴对GPIO肯定不陌生,GPIO(generalpurposeinputoutput)是通用输入输出端口的简称,通俗来讲就是单片机上的引脚。在STM32中,GPIO的工作模式被细分为8种,对于初学者来讲,要理解它们可太难了!诶诶诶,给个机会,先别急着退出哈!这不是有我在呢,跟着这篇文......
  • 基于stm32云平台a42智能头盔(APP)物联网嵌入式软硬件开发单片机毕业源码案例设计
    (1)硬件端1.   加速度传感器:用于检测头部是否遭受冲击或碰撞,以触发警报。2.   气体传感器:用于检测有害气体浓度,如CO、CO2、NH3等,防止中毒和窒息等危险情况。3.   光敏传感器:用于检测光线强度,以便在光线昏暗的环境下提醒员工注意安全。4.   声音传感器:可用于......
  • 【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试
    本篇文章基于STM32F103和CH390H芯片进行例程移植及相关注意事项,简单验证TCP\UDP\Ping基础功能。硬件:STM32F103开发板+沁恒CH390H的评估版图一示,SPI使用接口为:INT->PA0,RST->PA1,CS->PA2,SCK->PA5,MISO->PA6,MOSI->PA7,WOL->PA8。 图一 软件移植:采用的沁恒官方提供的CH......
  • 【STM32嵌入式系统设计与开发】——16InputCapture(输入捕获应用)
    这里写目录标题STM32资料包:百度网盘下载链接:链接:https://pan.baidu.com/s/1mWx9Asaipk-2z9HY17wYXQ?pwd=8888提取码:8888一、任务描述二、任务实施1、工程文件夹创建2、函数编辑(1)主函数编辑(2)USART1初始化函数(usart1_init())(3)USART数据发送函数(USART1_Send_Data())(4)USART......
  • 【stm32】USART编码部分--串口数据包
    USART串口数据包【源码放在最后】关于数据包的分类关于数据包的发送如果想要发送Hex数据包,定义一个数组填充数据,然后使用串口模块函数SendArray进行发送如果想要发送文本数据包,写一个字符串然后调用SendString进行发送对于发送数据包很简单,因为发送过程完全是自主......
  • STM32F103系列IIC通讯代码
    CH1--SDA;CH2--SCL。 #include"iic.h"voidIIC_GPIO_Init(void){GPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin......
  • 基于STM32HAL库的FreeRTOS学习(2)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档前言上一篇文章我们介绍了FreeRTOS的基础创建任务函数,这篇我们来介绍FreeRTOS的任务挂起与恢复函数。提示:以下是本篇文章正文内容,下面案例可供参考一、什么是任务挂起与恢复?在了解任务恢复之前,我们要先......
  • stm32cubeide 调试非 0x08000000 地址程序配置
    使用stm32cubeide调试非0x08000000,我们需要一些配置.ld链接脚本条件编译目前如果要修改程序的启动地址需要修改两个地方system_stm32f103xx.c中的VECT_TAB_OFFSET,可通过宏定义开启或者关闭.ld链接脚本,可通过宏进行条件编译,也可以直接修改ld,创建不同的链接脚本文件,创建......
  • Threadx rtos 移植指南(stm32f1)
    Threadx系统移植非常简单,下面记录gnu工具链移植步骤库文件目录.├──cmake#CMakelistfilesforbuildingtheproject├──common#CoreThreadXfiles├──common_modules#CoreThreadXmodul......
  • 基于 STM32U5 片内温度传感器正确测算温度
    1.引言STM32在内部都带有一个温度传感器,STM32U5也不例外。这个位于晶圆上的温度传感器虽然不太适合用来测量外部环境的温度,但是用于监控一下晶圆上的温度也是挺好的,可以防止芯片过温运行。2.问题2.1.问题详情某客户在使用STM32U575ZIT6Q时,使用ADC4对内部温度传......