串口通信------学习日志

本文详细介绍了STM32的串行通信模式,包括单工、半双工和全工模式,并重点讲解了串口的异步通信特点,如8位数据传输、起始位和停止位。在配置流程中,提到了时钟使能、GPIO设置、串口参数初始化、中断配置和使能。同时,解释了串口数据收发的函数以及关键状态标志位,如TXE、TC和RXNE,以及如何处理中断和清除标志位。此外,还涉及了中断使能和状态检查的相关寄存器位。
摘要由CSDN通过智能技术生成

####学到啥记录啥

传送模式

单工模式  :例如:广播  只能发送信号,不能接收信号

半双工模式:例如: 对讲机

全工模式: 例如: 手机

 串口1用于下载程序,串口2用于WiFi模块的连接

PA9发送引脚,PA10接收引脚

stm32:串行的异步通信

传送一个字节需传送八个位,从高位到低位依次发送,有 发送起始位0 和 发送停止位1,

编  写  流  程

  1. 串口时钟、GPIO时钟使能  RCC_APB2PeriphClockCmd();
  2. GPIO端口模式设置   GPIO_Init();
  3. 串口参数初始化    USART_Init();//配置方法和GPIO 配置方法一样
  4. 开启中断并且初始化NVIC   //通常串口要配合中断使用    NVIC_Init;   USART_ITConfig();
  5. 使能串口     USART_Cmd();
  6. 编写中断处理函数    USARTx_IRQHandler();

引脚模式的设置 

 串口数据收发  :void USART_SendData();//发送数据  单片机通过串口向外发送或者接收数据

                             uint16_t USART_ReceiveData();//接收数据

//串口传输状态

FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)//获得标志位
void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG)//清除标志位
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)//获取中断状态,判断中断是否打开
void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT)//用来清除和中断相关的标志位

TXE:       发送数据寄存器空         //非常重要

TC:        发送完成            //非常重要

RXNE:     读数据寄存器非空          

TXE:    当TDR寄存器中的数据被硬件转移到移位寄存器的时候,该位被硬件置位。如果USART_CR1寄存器中的TXEIE为1,则产生中断。对USART_DR的写操作,将该位清零

 0  :数据还没有被转移到移位寄存器   

 1:   数据已经被转移到移位寄存器

TC:    当包含有数据的一帧发送完成后,并且TXE=1时,由硬件将该位 置 1,如果USART_CR1中的TCE 为1,则产生中断,由软件序列清楚该位(先读USART_SR,然后写入USART_DR),TC位可以通过写入0来清除,只有在多缓存通讯中才推荐这种清除程序

0:发送未完成

1:发送完成

RXNE:     当RDR移位寄存器中的数据被转移到USART_DR寄存器中,该位被硬件置位,如果USART_CR1寄存器中的RXNEIE为1,则产生中断。对USART_DR的读操作可以将该位清零,

0:数据没有收到

1:收到数据,可以读出

状态寄存器USART_SR       复位值 0x00c0

转化成16进制后,对应  位7   位6 值为1  位5值为0    即TXE   TC 的复位值为1,RXNE的复位值为0! //单片机刚上电,位6 位7值为1

控制寄存器1  USART_CR1

位7     TXEIE:发送缓冲区空  中断使能     该位由软件设置或清除

0:禁止产生中断

1:当USART_SR中的TXE 为1 时,产生USART中断

位6      TCIE  :发送完成中断使能    该位由软件设置或清除

0:禁止产生中断

1:当USART_SR中的TC 为1 时,产生USART中断

位5      RXNEIE:    接收缓冲区 非空 中断使能    该位由软件设置或清除

0:禁止产生中断

1:当USART_SR中的ORE或者RXNE为1时,产生USART中断

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值