版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1串口USART“回声”实验2.1.1原理介绍串口USART又称通用同步/异步收发器,常用于与外部设备全双工数据交换。串口USART支持多种通信传输方式,可以通过小数波特率发生器提供多种波特率。串口在实际项目应用、技术开发过程中发挥着很重要的作用。本教材案例中常使用串口来打印程序调试信息。为了方便实验平台通过USB线与各类计算机通信,同时也为节省通信引脚,实验平台中将串口的接口设计成USB转串口接口,如图2.1所示。下一页返回2.1串口USART“回声”实验STM32F407xx内嵌4个通用同步/异步接收器,即USARTI,USART2,USART3和USART6,以及两个通用异步收发器,即UART4和UARTS。每个串口对应的IO可以从附录4“引脚功能映射表”中对应找到。USART双向通信均需要至少两个引脚,即接收数据输入引脚(RX)和发送数据输出引脚(TX)。“STM32实验平台一”中的串口USARTI采用USB转USART连接方式,PA9和PA10是串口的两个数据接口,如图2.2所示。正常USART模式下,通过这些引脚以帧的形式发送和接收串行数据,并将数据存储在数据寄存器(USART_DR)中,如图2.3所示。上一页下一页返回2.1串口USART“回声”实验数据的传输需要设定好相关的数据传输协议,因此必要的参数设定是必需的。STM32串口异步通信需要定义的参数如下。数据帧格式如图2.4所示。
(1)起始位。
(2)数据位(8/9位)。(3)奇偶校验位(第9位)。(4)停止位(1,15,2位)。
(5)波特率设置。假设,设置波特率为115200,8位数据,无奇偶校验位,1位停止位,在固件函数库里是通过设置USART_InitStructure结构体、调用USART_Init函数实现的。上一页下一页返回2.1串口USART“回声”实验2.1.2编程方法(1)通过串口通信连接实验平台与PC机。(2)定义串口通信的控制变量。(2)使能串口时钟,使能GPIO时钟。上一页下一页返回2.1串口USART“回声”实验(3)GPIO初始化设置。要设置模式为复用功能。GPIO引脚复用功能分布情况通过查看数据手册中的“Table7.Alternatefunctionmapping”可得,如图2.5所示。上一页下一页返回2.1串口USART“回声”实验上一页下一页返回2.1串口USART“回声”实验上一页下一页返回2.1串口USART“回声”实验(5)开启USART1中断并初始化NVIC,使能USART1中断。(6)使能串口USART1。(7)编写USART1中断处理函数用于处理数据接收。数据接收过程中处理3种可能,即接收成功、接收错误、数据过长。上一页下一页返回2.1串口USART“回声”实验上一页下一页返回2.1串口USART“回声”实验上一页下一页返回2.1串口USART“回声”实验
(8)对printf重定向。在STM32串口通信程序中使用printf()函数发送数据非常方便,但需要对工程属性进行配置。第1步:在main.c中包含“stdio.h"(标准输入输出头文件)。第2步:在usart.c文件中重定义印ut标准库函数(printf()在c标准库函数中是一个宏,调用ftptc());上一页下一页返回2.1串口USART“回声”实验(9)主程序。上一页下一页返回2.1串口USART“回声”实验上一页下一页返回2.1串口USART“回声”实验2.1.3实验现象在串口端输入“hello,串口端显示同样的内容“hello,如图2.6所示。上一页返回2.2RTC“实时时钟”实验2.2.1原理介绍STM32的RTC实时时钟提供了一个日历时钟。本实验主要设置RTC时钟,使其在串口终端上显示当前的时钟。这个时钟的显示是持续的,掉电重新上电后,时钟仍然在持续显示当前的时间。实时时钟(RTC)是一个独立的BCD定时器/计数器。RTC提供一个日历时钟、两个可编程闹钟中断以及一个具有中断功能的周期性可编程唤醒标志。RTC核心部分又分为预分频模块和一个32位的可编程计数器。前者可使每个TR_CLK周期中RTC产生一个秒中断,后者可被初始化为当前系统时间。下一页返回2.2RTC“实时时钟”实验此后系统时间会按照TR_CLK周期进行累加,实现时钟功能。RTC由两个部分组成,即APB1接口部分和RTC核心部分。RTC时钟源(RTC-CLK)通过时钟控制器从LSE时钟、LSI振荡器时钟以及HSE时钟三者中选择。对RTC的访问是通过APB1接口来进行的,一般来说,选择LSE作为时钟来源,频率为32768Hz。2.2.2编程方法(1)使能LSI时钟,配置RTC时钟。上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验(2)在main.c文件中,关键为对RTC时间的读取。主要依靠RTCGetTime(RTC_Format_BIN,&RTC_TimeExample)和RTC_CPtDatP(RTC&RTC_Format_BIN,DateExample)函数的设计。上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验(3)关键函数解读。上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验在mydelay.c文件中,定义了系统需要的各种延时函数。Mydelay.c文件通过寄存器直接编写,使用率高,读者可直接链接到所开发的工程中。上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验上一页下一页返回2.2RTC“实时时钟”实验2.2.3实验现象串口端每隔1s显示更新一次当前时间和日期的信息,如图2.7所示。上一页返回2.3常用固件库函数本单元主要固件库函数如表2.1所示。返回2.4项目2:满意度评价器的设计2.4.1方案设计利用串口设计一个银行满意度评价器。设置3个按键,分别代表客户对服务人员的满意程度,即KEY1-满意、KEY2-一般、KEY3-不满意。串口显示:当前用户的输入结果和实时时间(年份、日期、小时、分钟);统计、显示当前评价的总人数及满意人数占总人数的比例。LCD显示:利用LCD1602提示客户对服务做出评价。当客户完成评价,LCD显示“THANKS!”。2.4.2编程方法下一页返回2.4项目2:满意度评价器的设计(1)以1.5节EXTI工程作为本项目的工程模板,在此基础上添加项目程序代码。(2)添加2.1节、2.2节中关于USART1,RTC,GPIO,LCD1602(详见2.4.3小节)等源文件。(3)根据项口要求配置USART1,RTC,GPIO,LCD1602(LCD1602的配置与操作函数详见2.4.3节)。(4)通过消息处理获取评价信息。(5)显示当前用户的输入的结果和实时时间。
(6)在main.c文件中统计并显示当前评价的总人数及满意人数占总人数的比例。上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计2.4.3LCD1602的使用方法LCD1602是一个字符型液晶屏,能够同时显示16x2(即32)个字符,如图2.8所示。内置HD44780接口型液晶显示控制器,可与MCU单片机直接连接,广泛应用于各类仪器仪表及电子设备中。1602采用标准的16脚接口,接口定义如表2.2所示。接口电路如图2.9所示。LCD1602基本操作时序如下。读状态:输入:RS=L,RW=H,E=H;输出:D0~D7=状态字。写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲;输出:无。上一页下一页返回2.4项目2:满意度评价器的设计读数据:输入:RS=H,RW=H,E=H;输出:DO~D7=数据。写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲;输出:无。使用LCD1602时,需要通过LCD1602指令集完成相应功能。指令说明如下。1.显示模式设置(见表2.3)2.显示开/关及光标设置(见表2.4)3.数据控制控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部80BRAM。上一页下一页返回2.4项目2:满意度评价器的设计4.数据指针设置(见表2.5)5.读数据输入:RS=H,RW=H,E=H;输出:D0~D7=数据。6.写数据输入:RS=H,RW=L,D0~D7=数据,E=高脉冲;输出:无。7.其他设置(见表2.6)在1602.c文件中,设计下面程序中的函数,实现相应指令。根据指令定义,新建1602一文件,设计以下函数供给主程序使用。上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计上一页下一页返回2.4项目2:满意度评价器的设计2.4.4实验现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省潍坊市潍城区2025-2026学年初三考前第二次模拟考试语文试题含解析
- 江苏省徐州邳州市2026年中考模拟考试(第四次统测)英语试题含解析
- 内蒙古乌海市2026届初三下英语试题第四次月考试卷解答含解析
- 云南省昆明市盘龙区禄劝县重点名校2026届初三英语试题周练试卷含解析
- 浙江省德清县联考2026年初三教学质量检测试题(一)英语试题试卷含解析
- 江苏省宜兴市周铁区达标名校2025-2026学年初三下学期月考英语试题含解析
- 重庆市西南大附属中学2026年初三4月调研测试物理试题试卷含解析
- (正式版)DB37∕T 1635-2010 《夏玉米简化栽培技术规程》
- 慢阻肺急性加重合并II型呼吸衰竭个案护理
- 土地使用权出租合同
- 社区管理常识题库及答案
- 妇科急腹症的急救与护理
- 基于异丁烯制备甲基丙烯酸甲酯【MMA】方法的五万吨年产量生产工艺设计16000字【论文】
- 缺血性肠病课件
- 违纪违法反面典型案例剖析材料汇编3篇
- 黄金冶炼项目可行性研究报告
- 胆囊癌完整版本
- 第15课《十月革命与苏联社会主义建设》中职高一下学期高教版(2023)世界历史全一册
- 十期牛黄清心丸
- 缠论-简单就是美
- JT-T-798-2019路用废胎胶粉橡胶沥青
评论
0/150
提交评论