文章目录前言USART的相关寄存器介绍状态寄存器:USARTX->SR具体位代表的含义实际代码数据寄存器USARTX->DR波特率寄存器USARTX->BRR控制寄存器(USART_CR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)GPIO的复用模式查询对应GPIO管脚配置为复用模式编程实现串口收发一个字节串口打印乱码接收一个字符运行效果前言上一篇中,对串口做了个概述,主要是介绍了串口通信的特征,异步串行全双工通信,然后就是结合串口的框图梳理了一下STM32中USART的配置流程以及发送接收数据的流程,本文将接着上篇的内容,对串口的寄存器做个介绍,然后实现一个简单的收发
目录一、通讯的基本概念1、串行通讯2、并行通讯3、串行通讯与并行通讯对比4、传输模式(单工、半双工、全双工)二、USART—串口通讯1、物理层2、协议层(1)波特率(2)起始和停止信号(3)有效数据(4)数据校验2、异步串行通信的数据接收过程3、USART与UART二、IIC通讯1、物理层2、协议层(1)通讯的起始和停止信号(2)数据有效性(2)地址及数据方向(3)响应信号3、I2C基本读写过程三、SPI通讯1、SPI物理层2、协议层(1)通讯的起始和停止信号(2)数据有效性(3)CPOL/CPHA及通讯模式四、RS-485通讯1、物理层四、CAN—通讯1、CAN物理层(1)闭环总线网络(2)
目录一、通讯的基本概念1、串行通讯2、并行通讯3、串行通讯与并行通讯对比4、传输模式(单工、半双工、全双工)二、USART—串口通讯1、物理层2、协议层(1)波特率(2)起始和停止信号(3)有效数据(4)数据校验2、异步串行通信的数据接收过程3、USART与UART二、IIC通讯1、物理层2、协议层(1)通讯的起始和停止信号(2)数据有效性(2)地址及数据方向(3)响应信号3、I2C基本读写过程三、SPI通讯1、SPI物理层2、协议层(1)通讯的起始和停止信号(2)数据有效性(3)CPOL/CPHA及通讯模式四、RS-485通讯1、物理层四、CAN—通讯1、CAN物理层(1)闭环总线网络(2)
voidUSART_ITConfig(USART_TypeDef*USARTx,uint16_tUSART_IT,FunctionalStateNewState)函数参数列表中,USART的有效范围为:#defineIS_USART_ALL_PERIPH(PERIPH)(((PERIPH)==USART1)||\((PERIPH)==USART2)||\((PERIPH)==USART3)||\((PERIPH)==UART4)||\((PERIPH)==UART5))USART_IT的有效范围为:#defineIS_USART_CONFIG_IT(IT)(((IT)==USART_IT_PE
voidUSART_ITConfig(USART_TypeDef*USARTx,uint16_tUSART_IT,FunctionalStateNewState)函数参数列表中,USART的有效范围为:#defineIS_USART_ALL_PERIPH(PERIPH)(((PERIPH)==USART1)||\((PERIPH)==USART2)||\((PERIPH)==USART3)||\((PERIPH)==UART4)||\((PERIPH)==UART5))USART_IT的有效范围为:#defineIS_USART_CONFIG_IT(IT)(((IT)==USART_IT_PE
一、概述 之前通过串口调试助手+ESP8266已经连接上阿里云了 ESP8266连接阿里云(串口调试助手) 这次我们使用STM32+ESP8266来接入阿里云,其实本质上就是STM32和ESP8266进行串口通信,相当于使用STM32代替之前使用的串口调试助手来发送AT指令。只是发送的字符串数据可能有些细节需要注意一下。二、保存连接的AT指令 定义几个字符串数据保存需要发送的AT指令//注意://末尾记得加\r\n//字符串里面的"需要转义所以前面需要加\才能得到正确的"//字符串里面的,(逗号)需要使用\转义,而一个\在字符串中需要使用\\u8HotS
一、概述 之前通过串口调试助手+ESP8266已经连接上阿里云了 ESP8266连接阿里云(串口调试助手) 这次我们使用STM32+ESP8266来接入阿里云,其实本质上就是STM32和ESP8266进行串口通信,相当于使用STM32代替之前使用的串口调试助手来发送AT指令。只是发送的字符串数据可能有些细节需要注意一下。二、保存连接的AT指令 定义几个字符串数据保存需要发送的AT指令//注意://末尾记得加\r\n//字符串里面的"需要转义所以前面需要加\才能得到正确的"//字符串里面的,(逗号)需要使用\转义,而一个\在字符串中需要使用\\u8HotS
目录一、stm32串口通信 1.1硬件流控 1.2软件流控 1.3串口通信参数二、新建RS485通信工程 2.1项目实现背景信息 2.2项目配置 2.3代码实现 三、RS485驱动调用及测试 3.1接口调用 3.2编译及下载及测试一、stm32串口通信 stm32串口通信一般是指通过UART(UniversalAsynchronousReceiver/Transmitter)通用异步收发传输器传输数据,UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传
目录一、stm32串口通信 1.1硬件流控 1.2软件流控 1.3串口通信参数二、新建RS485通信工程 2.1项目实现背景信息 2.2项目配置 2.3代码实现 三、RS485驱动调用及测试 3.1接口调用 3.2编译及下载及测试一、stm32串口通信 stm32串口通信一般是指通过UART(UniversalAsynchronousReceiver/Transmitter)通用异步收发传输器传输数据,UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传
作者博客主页作者:Eterlove一笔一画,记录我的学习生活!站在巨人的肩上StandingonShouldersofGiants!该文章为原创,转载请注明出处和作者声明:这段时间较忙,相关知识点分析讲解后面抽时间补上。 谈谈我为什么想写这篇文章?---->嵌入式软件面试的那点事,重点难点一网打尽嵌入式软件面试的那点事,重点难点一网打尽你是怎么接收、发送串口数据的? 这个问题其实比较宽泛,一般经验少的会说使用查询方式,但是查询方式效率是非常低下的,所以如果你只能回答这个,100分的题你只能得个30分。如果你说用中断方式,那么请问你具体是如何处理的?如果你回答说一个字节接收完