ImageVerifierCode 换一换
格式:DOCX , 页数:3 ,大小:13.87KB ,
资源ID:591800      下载积分:8 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/591800.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2023年串行口通讯实验报告.docx)为本站会员(g****t)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2023年串行口通讯实验报告.docx

1、天道酬勤齐 鲁 理 工 学 院 实 验 报 告 课程名称:微型计算机控制技术 2023.10.29 地点:D203 班级:2023级机制3班 姓名:杨帆 学号:171031010304 实验工程名称:串行通讯接口实验 实验指导教师:赵保华 实验成绩评定:一、 实验目的 通过实验掌握 USART 的功能。掌握 STM32 的 USART 的设置与运用。二、 实验设备 硬件:信盈达STM32 实验平台,STlink 仿真器套件,PC 机,串口连接线;软件:KEIL for ARMMDK集成开发环境,串口调试助手,Windows 7/8/10/XP。三、 实验内容 利用 PC 机的串口与信盈达Cot

2、ex-M3 实验平台的USART1进行输入输出通信。1把自己的个人信息姓名、学号,通过USART1发送到PC,PC通过串口助手显示出来。2通过 PC 机键盘往实验平台的 USART1发送字符,实验平台上的 USART1 将收到的字符再传回给 PC,在 PC串口助手上显示其串口接收到的字符。四、 实验原理 如 XYD-STM32F103 开发板 UART1 使用的是 CH340G 这个 USB 转换串口芯片,只需要使用 USB 线连接上,并且上安装了 CH340 芯片的硬件驱动程序,就会生成一个 COM 口,通过使用串口调试软件翻开这个 COM 口,就能实现开发板和 PC 机之间的通信了。五、

3、软件程序设计 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(

4、);/串口实现回显 uart.c参考程序:#include “stm32f10x.h“ #include “uart.h“ #include “stdio.h“ /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:UART1_Init 形参:无 返回值:无 函数功能:串口1的初始化 PA9 - TX PA8 - RX xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ void UART1_Init(void) GPIO_InitTypeDef GPIO_Initstruct

5、ure; 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_Initstructu

6、re);/管脚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协议数据位的的

7、位宽 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

8、;/使能接收和发送 USART_Init(USART1,&USART_Initstructure);/串口初始化 USART_Cmd(USART1,ENABLE);/使能串口1 /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:fputc 形参:ch代表要得到的参数 xf代表数据保存的地方 返回值:返回得到的参数 函数功能:用户printf函数的调用 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ int fputc (int ch, FILE xf) while(US

9、ART_GetFlagStatus(USART1,USART_FLAG_TXE) = RESET);/判断串口是否发送完数据 USART_SendData(USART1,ch);/从存放器中得到数据 return ch; /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:USART1_Echo 形参:无 返回值:无 函数功能:串口1的回显功能 给开发板发送数据,开发板再把接收到的数据返回给 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ void USART1_Echo

10、(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中的数据发送到 /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:Show_

11、Logo 形参:无 返回值:无 函数功能:在上显示自己的logo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ void Show_Logo(void) printf(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnr“); printf(“ 郑州信盈达电子nr“); printf(“ Welcome STM32 nr“); printf(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnr“); uart.h参考程序:#ifndef _UART_H_ #

12、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 的设置与运用。感谢老师的指导和同学的帮助。

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2