串行口通讯实验报告

2020-12-15 11:20:24下载本文作者:会员上传
简介:写写帮文库小编为你整理了这篇《串行口通讯实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《串行口通讯实验报告》。

课程名称:

微型计算机控制技术

时间:

2020.10.29

地点:

D203

班级:

2017级机制3班

姓名:

杨帆

学号:

***4

实验项目名称:

串行通讯接口实验

实验指导教师:

赵保华

实验成绩评定:

一、实验目的ü通过实验掌握

USART的功能。

掌握

STM32的USART的设置与运用。

二、实验设备

ü硬件:信盈达STM32

实验平台,STlink

仿真器套件,PC

机,串口连接线;

软件:KEIL

for

ARM(MDK)集成开发环境,串口调试助手,Windows

7/8/10/XP。

三、实验内容

利用

PC

机的串口与信盈达Cotex-M3

实验平台的USART1进行输入输出通信。

1)把自己的个人信息(姓名、学号),通过USART1发送到PC,PC通过串口助手显示出来。

2)通过

PC

机键盘往实验平台的USART1发送字符,实验平台上的USART1

将收到的字符再传回给

PC,在PC串口助手上显示其串口接收到的字符。

四、实验原理

XYD-STM32F103

开发板

UART1

使用的是

CH340G

这个

USB

转换串口芯片,只需要使用

USB

线连接上电脑,并且电脑上安装了

CH340

芯片的硬件驱动程序,电脑就会生成一个

COM

口,通过使用串口调试软件打开这个

COM

口,就能实现开发板和

PC

机之间的通信了。

五、软件程序设计

1、程序完成以下工作:

初始化串口;

重定义fputc函数,实现可以通过printf函数给电脑发送数据。

注意:重定义fputc之间需要打开微库。

检测串口接收器,如果有数据则从USART_DR寄存器中读取数据;

监测串口发送器,如果上一次数据已发送完成,将读取到的字符发送给PC,然后回到(3)。

main.c参考程序:

#include

“stm32f10x.h“

#include

“stdio.h“

#include

“uart.h“

int

main(void)

{

UART1_Init();//串口初始化

Show_Logo();//通过串口发送数据给PC

while(1)

{

USART1_Echo();//串口实现回显

}

}

uart.c参考程序:

#include

“stm32f10x.h“

#include

“uart.h“

#include

“stdio.h“

/****************************************************

函数名:UART1_Init

形参:无

返回值:无

函数功能:串口1的初始化

PA9

--

TX

PA8

--

RX

****************************************************/

void

UART1_Init(void)

{

GPIO_InitTypeDef

GPIO_Initstructure;

USART_InitTypeDef

USART_Initstructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA

|RCC_APB2Periph_USART1,ENABLE);//时钟的初始化

GPIO_Initstructure.GPIO_Pin

=

GPIO_Pin_9;

GPIO_Initstructure.GPIO_Mode

=

GPIO_Mode_AF_PP;

GPIO_Initstructure.GPIO_Speed

=

GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_Initstructure);//管脚9初始化为复用输出管脚

GPIO_Initstructure.GPIO_Pin

=

GPIO_Pin_10;

GPIO_Initstructure.GPIO_Mode

=

GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA,&GPIO_Initstructure);//管脚10初始化为输入管脚

USART_Initstructure.USART_BaudRate

=

115200;//配置rs232协议的波特率

USART_Initstructure.USART_WordLength

=

USART_WordLength_8b;//配置rs232协议数据位的的位宽

USART_Initstructure.USART_StopBits

=

USART_StopBits_1;//配置rs232协议的停止位的位宽

USART_Initstructure.USART_Parity

=

USART_Parity_No;//配置rs232协议奇偶校验位

USART_Initstructure.USART_HardwareFlowControl

=

USART_HardwareFlowControl_None;//配置rs232协议的硬件流控制

USART_Initstructure.USART_Mode

=

USART_Mode_Rx

|

USART_Mode_Tx;//使能接收和发送

USART_Init(USART1,&USART_Initstructure);//串口初始化

USART_Cmd(USART1,ENABLE);//使能串口1

}

/****************************************************

函数名:fputc

形参:ch代表要得到的参数

*f代表数据保存的地方

返回值:返回得到的参数

函数功能:用户printf函数的调用

****************************************************/

int

fputc

(int

ch,FILE

*f)

{

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)

==

RESET);//判断串口是否发送完数据

USART_SendData(USART1,ch);//从寄存器中得到数据

return

ch;

}

/****************************************************

函数名:USART1_Echo

形参:无

返回值:无

函数功能:串口1的回显功能

电脑给开发板发送数据,开发板再把接收到的数据返回给电脑

****************************************************/

void

USART1_Echo(void)

{

u8

ch;

while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)

==

RESET);//等待接收数据

ch

=

USART_ReceiveData(USART1);//把接收到的数据保存到ch中

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)

==

RESET);//等待上次发送数据发送完成USART_SendData(USART1,ch);//把ch中的数据发送到电脑

}

/****************************************************

函数名:Show_Logo

形参:无

返回值:无

函数功能:在电脑上显示自己的logo

****************************************************/

void

Show_Logo(void)

{

printf(“******************************************\n\r“);

printf(“

郑州信盈达电子有限公司\n\r“);

printf(“

Welcome

STM32

\n\r“);

printf(“******************************************\n\r“);

}

uart.h参考程序:

#ifndef

_UART_H_

#define

_UART_H_

void

UART1_Init(void);//串口1初始化

void

USART1_Echo(void);//串口1回显函数

void

Show_Logo(void);

//在终端上显示LOGO

#endif

六、实验操作步骤

准备实验环境

使用

STlink

仿真器连接

信盈达STM32

实验平台的主板

JTAG

接口;使用

实验平台附带的USB数据线,连接实验平台主板和PC。

新建工程,编写程序,完成软件设计

新建工程保存文件夹,复制相应的库文件;

在开发环境中新建工程,配置工程选项;

新建程序代码文件,添加到工程,完成程序编码,无误后将程序下载到开发板的Flash

中,按

RESET

键复位;

在PC

机上运行串口调试助手(波特率115200、1

位停止位、无校验位、无硬件流控制),发送数据到开发板,观察实验现象。

3.观察实验结果

1)在PC

机上,串口助手接收区显示学生信息;

2)通过串口调试助手发送数据,在接收区接收到同样的数据。

七、实验结果:

八、心得体会

通过本次实验,我学到了很多知识,通过学习实验,通过实验掌握

USART的功能。掌握

STM32的USART的设置与运用。感谢老师的指导和同学的帮助。

下载串行口通讯实验报告word格式文档
下载串行口通讯实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    串口通讯实验报告

    网络编程与实践实验报告 实验内容:串口通信编程 学号:S201502189 姓名:职荣豪 日期:2015-9-28 一、 实验要求 使用VS2010编写基于对话框的MFC应用程序,两个窗口分别使用两个串口......

    中兴通讯-程控交换实验报告

    西安文理学院物理与机械电子工程学院程控交换课外实习报告专业班级10级电子信息工程2班 课程程控数字交换技术 学号08101100219 学生姓名李斌 成绩2013年11月实习报告 2013......

    实验四单片机串行口与PC机通讯实验(写写帮推荐)

    实验四单片机串行口与PC机通讯实验 一.实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。 3.了解......

    串行口通信技术开题报告

    华东交通大学大学本科生毕业设计(论文)开题报告姓 名班 级学号SCADA系统中串行通信接口程序设计 题目 一、背景、概况及意义 监控系统运行的可靠性,取决于远动装置本身的可靠性......

    实验三 单片机串行口编程(最终版)

    仲恺农业工程学院实验报告纸信息学院 (院、系)专业班组单片机原理及接口技术课实验三单片机串行口编程一、实验目的 1、掌握单片机串行口的工作方式; 2、掌握单片机串行口的编......

    通讯

    一、通讯的含义 通讯,是以叙述与描写相结合为主要表现手段,综合运用多种表达方式,及时、具体、 真实、生动地报道现实生活中新近发生的具有新闻价值的人物与事实的一种常用的新......

    通讯

    通讯文体的写作 一、通讯的概念 通讯,是运用叙述、描写等多种手法,具体、生动、形象地反映新闻事件或典型人物的一种新闻报道形式。它是记叙文的一种,是报纸、广播电台、通讯社......

    通讯

    第10课时《 通讯及彭德怀印象》导学案(教师版)教学目标】知识与能力 1、认识什么是通讯,了解通讯作品的社会功能,学会阅读通讯作品。 2、掌握通讯的作品的体裁特点和构成要素......