第九章 串口实验-alientek 战舰stm32开发板

第九章 串口实验-alientek 战舰stm32开发板

ID:9222876

大小:923.24 KB

页数:10页

时间:2018-04-23

第九章 串口实验-alientek 战舰stm32开发板_第1页
第九章 串口实验-alientek 战舰stm32开发板_第2页
第九章 串口实验-alientek 战舰stm32开发板_第3页
第九章 串口实验-alientek 战舰stm32开发板_第4页
第九章 串口实验-alientek 战舰stm32开发板_第5页
资源描述:

《第九章 串口实验-alientek 战舰stm32开发板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ALIENTEK战舰STM32开发板第九章串口实验前面两章介绍了STM32的IO口操作。这一章我们将学习STM32的串口,教大家如何使用STM32的串口来发送和接收数据。本章将实现如下功能:STM32通过串口和上位机的对话,STM32在收到上位机发过来的字符串后,原原本本的返回给上位机。本章分为如下几个小节:9.1STM32串口简介9.2硬件设计9.3软件设计9.4下载验证www.openedv.com163ALIENTEK战舰STM32开发板9.1STM32串口简介串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基

2、本上所有的MCU都会带有串口,STM32自然也不例外。STM32的串口资源相当丰富的,功能也相当强劲。ALIENTEK战舰STM32开发板所使用的STM32F103ZET6最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDASIRENDEC规范、具有DMA等。5.3节对串口有过简单的介绍,大家看这个实验的时候记得翻过去看看。接下来我们将主要从库函数操作层面结合寄存器的描述,告诉你如何设置串口,以达到我们最基本的通信功能。本章,我们将实现利用串口1不停的打印信息到电脑上,同时接收从

3、串口发过来的数据,把发送过来的数据直接送回给电脑。战舰STM32开发板板载了1个USB串口和1个RS232串口,我们本章介绍的是通过USB串口和电脑通信。在4.4.1章节端口复用功能已经讲解过,对于复用功能的IO,我们首先要使能GPIO时钟,然后使能复用功能时钟,同时要把GPIO模式设置为复用功能对应的模式(这个可以查看手册《STM32中文参考手册V10》P110的表格“8.1.11外设的GPIO配置”)。这些准备工作做完之后,剩下的当然是串口参数的初始化设置,包括波特率,停止位等等参数。在设置完成只能接下来就是使能串口,这很容易理解。同时,如果我们开

4、启了串口的中断,当然要初始化NVIC设置中断优先级别,最后编写中断服务函数。串口设置的一般步骤可以总结为如下几个步骤:1)串口时钟使能,GPIO时钟使能2)串口复位3)GPIO端口模式设置4)串口参数初始化5)开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)6)使能串口7)编写中断处理函数下面,我们就简单介绍下这几个与串口基本配置直接相关的几个固件库函数。这些函数和定义主要分布在stm32f10x_usart.h和stm32f10x_usart.c文件中。1.串口时钟使能。串口是挂载在APB2下面的外设,所以使能函数为:RCC_APB2Pe

5、riphClockCmd(RCC_APB2Periph_USART1);2.串口复位。当外设出现异常的时候可以通过复位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。复位的是在函数USART_DeInit()中完成:voidUSART_DeInit(USART_TypeDef*USARTx);比如我们要复位串口1,方法为:USART_DeInit(USART1);//复位串口13.串口参数初始化。串口初始化是通过USART_Init()函数实现的,voidUSART_Ini

6、t(USART_TypeDef*USARTx,USART_InitTypeDef*USART_InitStruct);这个函数的的第一个入口参数是指定初始化的串口标号,这里选择USART1。第二个入口参数是一个USART_InitTypeDef类型的结构体指针,这个结构体指针的成员变量用来设置串口的一些参数。一般的实现格式为:USART_InitStructure.USART_BaudRate=bound;//一般设置为9600;www.openedv.com164ALIENTEK战舰STM32开发板USART_InitStructure.USART_

7、WordLength=USART_WordLength_8b;//字长为8位数据格式USART_InitStructure.USART_StopBits=USART_StopBits_1;//一个停止位USART_InitStructure.USART_Parity=USART_Parity_No;//无奇偶校验位USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//无硬件数据流控制USART_InitStructure.USART_Mode=USA

8、RT_Mode_Rx

9、USART_Mode_Tx;//收发模式USART_Init(USART

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。