- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32 单片机串口实验教程文件.ppt
STM32串口实验;串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。
在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。还可以使用DMA方式,实现高速数据通信。;USART通过3个引脚与其他设备连接在一起
RX:?接受数据串行输入。通过过采样技术来区别数据和噪音,从而恢复数据。
TX:?发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。
;STM32F103ZET6。利用的串口接口为COM1,常用2,3,5引脚,和电脑间的通信通过USB转串口线进行通讯。;一般有两种方式:查询和中断。
(1)查询:串口程序不断地循环查询,看看当前有没有数据要它传送。如果有,就帮助传送。
(2)中断:平时串口只要打开中断即可。如果发现有一个中断来,则意味着要它帮助传输数据——它就马上进行数据的传送。
;RCC_APB2ENR;RCC_APB1ENR;2、串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。串口1的复位是通过配置APB2RSTR寄存器的第14位来实现的。APB2RSTR寄存器的各位描述如下:
;3、串口波特率设置。每个串口都有一个自己独立的波特率寄存器USART_BRR,通过设置该寄存器达到配置不同波特率的目的。该寄存器的各位描述如下:;《STM32中文参考手册V10》P524 讲解了波特率和DIV_Mantissa以及 DIV_Fraction的计算公式:
;4、串口控制。STM32的每个串口都有3个控制寄存器USART_CR1~3,串口的很多配置都是通过这3个寄存器来设置的。这里我们只要用到USART_CR1就可以实现我们的功能了。;5、数据发送与接收。STM32的发送与接收是通过数据寄存器USART_DR来实现的,这是一个双寄存器,包含了TDR和RDR。当向该寄存器写数据的时候,串口就会自动发送,当收到收据的时候,也是存在该寄存器内。该寄存器的各位描述如下:;6、串口状态。串口的状态可以通过状态寄存器USART_SR读取。USART_SR的各位描述如下:;;1、 串口时钟使能:
串口是挂载在APB2下面的外设
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);
2、串口复位:
当外设出现异常的时候可以通过复位设置
void USART_DeInit(USART_TypeDef* USARTx)
对串口1复位方法为:
USART_DeInit(USART1); ;3 、串口参数初始化:
串口初始化是通过USART_Init()函数实现的,设置波特率、停止位、校验位、位长等。
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
4 数据发送与接收。
STM32 USART_DR寄存器发送数据的函数是:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
通过该函数向串口寄存器USART_DR写入一个数据。
STM32 USART_DR寄存器读串口接收到的数据的函数是:
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
通过该函数可以读取串口接受到的数据。 ;5、串口状态:
读取串口状态的函数是:
FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
6、串口使能:
串口使能是通过函数 USART_Cmd()来实现的:
USART_Cmd(USART1, ENABLE);
您可能关注的文档
最近下载
- 驼峰500重载无人机产品介绍.pdf VIP
- 建筑与市政施工现场安全卫生与职业健康通用规范培训课件-(2).pptx VIP
- 2025年社会工作者《初级综合能力》考点速记20页.pdf
- 联勤保障部队第九四〇医院面向社会招聘93人招聘笔试备考试题及答案解析.docx VIP
- SYNSPEC PM型颗粒物在线监测系统说明.ppt
- 从去思碑到言行录-元代士人的政绩颂扬、交游文化与身分形.pdf
- 赢利-未来10年的经营能力-读后感.pptx VIP
- 一次函数存在性问题(菱形).docx VIP
- 肠内营养并发症的预防与管理肠道感染的措施.pptx
- 2024年2月贵州省2024届高三大联考英语试卷(含答案).pdf VIP
文档评论(0)