美文网首页
串口学习

串口学习

作者: 恰似一碗咸鱼粥 | 来源:发表于2019-07-17 21:04 被阅读0次

一般串口设置的步骤分为以下几个:
(1)串口时钟使能,GPIO时钟使能
(2)串口复位
(3)GPIO端口模式设置
(4)串口参数初始化
(5)开启中断并且初始化NVIC
(6)使能串口
(7)编写中断处理函数


对于串口时钟使能,由串口是挂载在ABP2下面的外设,使能函数为:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);


对于串口复位,当外设出现异常可以通过复位设置实现复位,然后重新配置这个外设使其达到重新工作的目的
USART_DeInit(USART1);


串口参数初始化,通过USART_Init()函数实现,它有两个参数,第一个是指定初始化串口的串口标号,这里选择USART1,第二个是一个USART_InitTypeDef类型的结构体指针,利用这个结构体的成员变量来初始化一些参数。

USART_InitStructure.USART_BaudRate=bound;//波特率设置
USART_InitStructure.USART_WordLength=USART_WordLength_8b;//字长为8位
。。。

数据发送与接收通过寄存器USART_DR实现。

USART_SendData(串口号,uint16_t的数据);
USART_ReceiveData(串口号);

串口状态,通过寄存器USART_SR读取,各位的描述看开发指南,第5、6位RXNE和TC。
当RXNE被置1时,说明有数据被接收,此时需要尽快去读取USART_DR,读取后RXNE被置0。
TC被置为时,说明USART_DR内的数据已经被发送完成,如果设置了该位的中断,则会产生中断,该位的清零方式也有两种,读USART_SR,写USART_DR或者直接向该位写0。
判断非空的操作是USART_GetFlagStatus(USART1,USART_FLAG_RXNE/TC);

相关文章

  • 12/19

    今天学习了串口,利用串口显示相应的输出!再接再厉,加油

  • 串口学习

    一般串口设置的步骤分为以下几个:(1)串口时钟使能,GPIO时钟使能(2)串口复位(3)GPIO端口模式设置(4)...

  • Jetson TX2 与下位机连接问题(串口通讯,开机启动,摄像

    串口通讯 问题描述 TX2上深度学习算法布置好了,但是却无法与下位机进行串口通讯。使用J17口,始终不能打开串口;...

  • 2017.12.19学习总结

    下午学习了串口,串口是使用频率最高的端口,串口通信是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流...

  • Android串口通讯

    串口通讯的步骤: 1.打开串口。 2.串口处于监听状态 3.想串口写入数据,串口接收到数据返回数据 串口的一个基本...

  • 关于串口格式与报文格式

    《串口硬件分类》中已经说明了几种串口的类型,并在《串口通信协议》中说明了几种串口协议形式,这里就常用的串口协议进一...

  • 树莓派串口通信

    树莓派的串口默认为串口终端调试使用,如要正常使用串口则需要修改树莓派设置。关闭串口终端调试功能后则不能再通过串口登...

  • [FabNotes22] 第十一周:输入设备

    这周学习 输入设备. 通信 pySerial: Python与串口通信miniterm: pySerial 的操作...

  • 2018-01-08课后总结

    今天学习了串口通信。串口通信分为串行通信和并行通信,综合串行和并行的优缺点,在工业分布中串行通信的应用更为广泛。了...

  • 串口编程

    串口连接界面 主要控件 打开串口 自动获取串口列表并显示 初始化串口 写入卡片 插入打卡记录并显示打卡成功

网友评论

      本文标题:串口学习

      本文链接:https://www.haomeiwen.com/subject/qkaclctx.html