重庆交通大学信息科学与工程学院

《嵌入式系统基础A》课程

实验报告(2)

班 级: 物联网工程2002

姓名-学号 : 谢志聪632007060527

实验项目名称: STM32串口通信编程

实验项目性质: 设计性

实验所属课程: 《嵌入式系统基础A》

实验室(中心): 南岸校区语音大楼

指 导 教 师 : 娄路

完成时间: 2021 年 10 月 xx 日

一、实验内容和任务

  1. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。

  2. 安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务:

    (1)重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。

    (2)完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送"hello windows!"。win10采用"串口助手"工具接收。

  3. 在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察第1题中3个GPIO端口的输出波形,和第2题中串口输出波形,并分析其正确与否。

    参考网址:

    https://blog.csdn.net/qq_43279579/article/details/112213196

    搭建STM32开发环境------STM32CubeMX,Keil5

    https://blog.csdn.net/qq_43279579/article/details/112233696

    STM32实现LED闪烁------基于HAL库

    https://blog.csdn.net/ssj925319/article/details/111984002

    基于 MDK 创建 STM32 汇编程序:串口输出 Hello world

    https://blog.csdn.net/vic_to_ry/article/details/110451036

二、实验要求

1. 分组要求:每个学生独立完成,即1人1组。

2. 程序及报告文档要求:具有较好的可读性,如叙述准确、标注明确、截图清晰等。

3.项目代码上传github,同时把项目完整打包为zip文件,与实验报告(Markdown源码及PDF文件)、作业博客地址一起提交到学习通。

三. 实验过程介绍 (此处可以填博客内容)

一.何为串口通信协议

       串口通信指两个或两个以上的设备使用串口按位(bit)发送和接收字节。可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议就是串口通讯时共同遵循的协议。 协议的内容是每一个bit 所代表的意义。 常用的串口通信协议 有以下几种

1 RS-232(ANSI/EIA-232标准) 只支持 点对点, 最大距离 50英尺。最大速度为128000bit/s, 距离越远 速度越慢。 支持全双工(发送同时也可接收)。
2 RS-422(EIA RS-422-AStandard),支持点对多一条平衡总线上连接最多10个接收器 将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),所以在100kbps速率以内,传输距离最大。支持全双工(发送同时也可接收)。
3 RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。速率最大10Mbps。支持全双工(发送同时也可接收)。2线连接时 是半双工状态。

二.RS-232

RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(EIA)联合贝尔系统公司、调制解调厂家及计算机终端生产厂家于1970年共同制定,其全名是“数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。

RS-232_百度百科

三.TTL电平与RS232电平的区别

什么是TTL电平、RS232电平?它们有什么区别呢?

(一)、TTL电平标准

输出 L: <0.8V ; H:>2.4V。

输入 L: <1.2V ; H:>2.0V

TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。

(二)、RS232标准

在TXD和RXD数据线上:
  (1)逻辑1为-3~-15V的电压
  (2)逻辑0为3~15V的电压
在RTS、CTS、DSR、DTR和DCD等控制线上:
  (1)信号有效(ON状态)为3~15V的电压
  (2)信号无效(OFF状态)为-3~-15V的电压
这是由通信协议RS-232规定的。
RS-232:标准串口,最常用的一种串行通讯接口。有三种类型(A,B和C),它们分别采用不同的电压来表示on和off。最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。所以RS-232适合本地设备之间的通信。

四、了解“USB/TTL转232“模块(以CH340芯片模块为例)的工作原理。

CH340 是一个USB 总线的转接芯片,实现USB 转串口、USB 转IrDA 红外或者USB 转打印口。为了增加串口通讯的远距离传输及抗干扰能力,RS-232标准使用-15V 表示逻辑 1, +15V 表示逻辑 0。常常会使用 MH340芯片对 USB/TTL与RS-232电平的信号进行转换。

STM32CubeMX简介

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。
在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间。

关于STM32CubeMX的安装教程,可参考此博客https://blog.csdn.net/as480133937/article/details/98885316

1、利用CubeMX新建工程点亮LED灯

1)前期准备
在本次实验中,使用到的STM32硬件为,STM32F103C8T6;
软件为,STM32CubeMX软件、KEIL MDK-arm软件,以及STM32F1xxHAL库

2)新建工程
搜索芯片型号–>选择芯片–>创建工程

1 在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR
2 进行芯片型号选择,一般直接在左上角搜索自己的芯片型号即可。


2、界面讲解

3、配置引脚

4、时钟源配置

5、工程管理

设置完MCU后,可以进行对工程文件的配置了。
在Project处,这里就是工程的各种配置,我们只用到有限几个,其他的默认即可 。
注意 存储目录不可以有中文

6、编译及烧录

总结

通过使用STMCubeMX简化实验过程,因为它能生成一些代码。然后可以根据波形来判断自己的代码是否有问题,对于解决问题有很大帮助。

实验报告模版Markdown格式 (2)相关推荐

  1. python一个富翁试图与陌生人做一笔生意_实验报告模版(第一单元).doc

    实验报告模版(第一单元) <VB程序设计>实验单元一实验报告专业班级: 姓名 学号 指导教师: 完成时间: 实验 一VB环境和可视化编程基础实验目的1 了解Visual Basic的安装2 ...

  2. 洞道干燥及计算机控制实验报告,化工原理洞道干燥实验报告模版

    化工原理洞道干燥实验报告模版 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 洞道干燥附件 1. 调试实验的数据见表2, 表中符号的意义 ...

  3. 电子生物实验报告的标准格式

    电子生物实验报告的标准格式通常包括以下内容: 标题页:包括报告标题.作者.日期等信息. 摘要:简要概括实验目的.方法.结果和结论. 引言:阐述实验背景.目的和意义. 材料和方法:详细描述实验所用的设备 ...

  4. 大学mysql实验报告怎么写格式_上海大学实验报告格式.doc

    上海大学实验报告格式 上海大学实验报告格式 篇一:上海大学数据库原理(1)实验报告 <数据库原理> 实验报告(一) 院(系)计算机工程与科学 年级专业计算机科学与技术 教师 姓名 报告日期 ...

  5. matlab上机实验报告,matlab实验报告格式.doc

    matlab实验报告格式,matlab实验报告,matlab实验报告总结,matlab综合实验报告,matlab数学实验报告,matlab仿真实验报告,matlab上机实验报告,matlab实验报告模 ...

  6. 计算机中的二进制实验报告,大学计算机-实验报告一.doc

    北京信息科技大学 信息管理学院 实 验 报 告 课程名称 信息系统基础 实验项目 实验一 计算机数据信息化和指令执行过程 实验仪器 PC.Office2003 专 业 **** 班级/学号 *** 学 ...

  7. python编程图书批发商店的某本书的零售价是26.5_根据实验指导书,完成实验3的所有任务,使用 实验三(实验报告).docx 完成报告并提交。_学小易找答案...

    [多选题]期末结账后没有余额的账户是( ). [单选题]企业本期生产产品直接耗用原材料 3000 元,生产车间管理方面耗用原材料 2000 元,正确的会计分录是( TopSage ) [多选题]下列属 ...

  8. python编程图书批发商店的某本书的零售价是26.5_根据实验指导书,完成实验6的所有任务,使用 实验六(实验报告).docx 完成报告并提交。_学小易找答案...

    [简答题]完成课本P116,二简答题第5题,判断最大最小值,提交源代码 [简答题]从键盘输入 n(0 [其它]其采用实验1的报告模版,参考优秀实验报告的撰写格式,认真撰写实验报告. 作业提交必须以wo ...

  9. python编程图书批发商店的某本书的零售价是26.5_根据实验指导书,完成实验2的任务一与任务三,使用 实验二(实验报告).docx 完成报告并提交。_学小易找答案...

    [简答题]从键盘输入 n(0 [简答题]完成课本P89,查询学生成绩,提交源代码 [单选题]企业本期生产产品直接耗用原材料 3000 元,生产车间管理方面耗用原材料 2000 元,正确的会计分录是( ...

最新文章

  1. java kafka 集群消费_kafka集群搭建和使用Java写kafka生产者消费者
  2. B2B2C网站系统建设的常见误区
  3. 每天一个linux命令目录
  4. Hadoop Streaming二次排序
  5. Sybase中字符串替换函数 STR REPLACE
  6. 有奖调研 | 致云通信短信服务用户的一封信
  7. [kubernetes] 资源管理 ---- 资源请求和限制
  8. SharePoint 2007 做Migration后用户处理
  9. js截取url问号前面_js截取url问号后参数并转化为对象
  10. gptuefi优势_UEFI+GPT的区别,有啥不同?写的很详细易懂
  11. 扫地机器人滤网顺序_1分钟小课堂:扫地机器人滤网多久换一次?
  12. 解决Eclipse 项目报错:Unbound classpath container: ‘JRE System Library [JavaSE-1.7]
  13. ASP.NET状态管理之六(缓存Cache)
  14. 汇编edx_开源社区开始热议edX
  15. 马蜂窝等多家旅游平台针对肺炎疫情推出旅客保障措施
  16. Pytorch 手工复现交叉熵损失(Cross Entropy Loss)
  17. 使用vue-cli来搭建vue项目
  18. Win7环境下VS2015安装+CUDA 10.0安装配置教程以及安装环境时遇到的一些问题
  19. Java实验输出希腊字母表
  20. a4的尺寸大小转换为像素

热门文章

  1. 中文评价对象提取以及NLP基础
  2. ChatGPT一路狂飙,NVMe SSD能否应对性能挑战?
  3. sniffer(Wireshark)抓包
  4. 怎么关闭计算机主机控制面板,Win7系统PC输入面板怎么关闭?
  5. 笔记本整机性能测试软件,整机性能测试_笔记本评测-中关村在线
  6. RTMP 直播 H265 推流适配总结
  7. 计算机如何安装cpu风扇,CPU风扇安装过程图解
  8. CET-4、CET-6复习
  9. 【webrtc】RTPSender
  10. [Unity3D学习]3D数学基础之向量