分享
2023年串行口通讯实验报告.docx
下载文档

ID:591800

大小:13.87KB

页数:3页

格式:DOCX

时间:2023-04-11

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 串行口 通讯 实验 报告
天道酬勤 齐 鲁 理 工 学 院 实 验 报 告 课程名称:微型计算机控制技术 2023.10.29 地点:D203 班级:2023级机制3班 姓名:杨帆 学号:171031010304 实验工程名称:串行通讯接口实验 实验指导教师:赵保华 实验成绩评定:一、 实验目的 ü通过实验掌握 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“ /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:UART1_Init 形参:无 返回值:无 函数功能:串口1的初始化 PA9 -- TX PA8 -- RX xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ 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 } /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:fputc 形参:ch代表要得到的参数 xf代表数据保存的地方 返回值:返回得到的参数 函数功能:用户printf函数的调用 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ int fputc (int ch, FILE xf) { while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);//判断串口是否发送完数据 USART_SendData(USART1,ch);//从存放器中得到数据 return ch; } /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:USART1_Echo 形参:无 返回值:无 函数功能:串口1的回显功能 给开发板发送数据,开发板再把接收到的数据返回给 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ 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中的数据发送到 } /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 函数名:Show_Logo 形参:无 返回值:无 函数功能:在上显示自己的logo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ void Show_Logo(void) { printf(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\r“); printf(“ 郑州信盈达电子\n\r“); printf(“ Welcome STM32 \n\r“); printf(“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\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 的设置与运用。感谢老师的指导和同学的帮助。

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

下载文档
你可能关注的文档
收起
展开