本帖最后由 正点原子运营 于 2023-3-6 15:40 编辑
第六十四章综合测试实验
1)实验平台:正点原子MiniPro STM32H750开发板
2) 章节摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
6)MiniPro STM32H750技术交流QQ群:170313895
为了方便大家使用和验证综合例程,本章内容是综合例程的使用介绍。目的是展示STM32H7的强大处理能力,并且可以测试开发板的大部分功能。本实验代码只提供寄存器版本,存放的路径是:MiniPRO STM32H750开发板资料盘(A盘)à4,程序源码à1,标准例程-寄存器版本à实验52 综合测试实验,代码非常多,这里不讲代码,只讲功能。 本章将分为如下2个小节: 64.1 综合测试实验简介 64.2 综合测试实验详解
64.1 综合测试实验简介MiniPro STM32H750开发板硬件介绍请参考《MiniPro STM32H750 硬件参考手册_V1.0.pdf》。为了展示STM32H7系列强大的处理能力,综合例程实现了23个界面功能,分别是:电子图书、数码相框、游戏机、视频播放、时钟、系统设置、计算器、记事本、运行器、手写画笔、照相机、无线传书、USB连接、RGB彩灯、二维码、人脸识别、电压表、蜂鸣器、按键测试、LED测试、拨号、应用中心和短信。
电子图书:支持.txt/.c/.h/.lrc等4种格式的文件阅读。
数码相框:支持.bmp/.jpeg/.jpb/.gif等4种格式的图片文件播放。
游戏机:支持大部分NES和SMS游戏(.nes/.sms),支持USB手柄/键盘控制。
视频播放:支持.avi格式(MJPEG编码)的视频播放(带音频),JPEG硬解码。
时钟:支持温度、时间、日期、星期的显示,同时具有指针式时钟显示。
系统设置:整个综合实验的设置。
计算器:一个科学计算器,支持各种运算,精度为12位,支持科学计数法表示。
记事本:可以实现文本(.txt/.c/.h/.lrc)记录编辑等功能,支持中英文输入,手写识别。
运行器:即SRAMIAP功能,支持.bin文件的运行(文件大小+SRAM大小≤448K)。
手写画笔:可以作画/对bmp图片进行编辑,支持画笔颜色/尺寸设置。
照相机:可以拍照(.bmp/.jpg格式,需摄像头模块支持), 支持自动对焦和参数设置。
无线传书:通过无线模块,实现两个开发板之间的无线通信。
USB连接:支持和电脑连接读写SD卡/SPI FLASH 的内容。
RGB彩灯:通过设置RGB三色灯的控制占空比,实现不同颜色显示。
二维码:支持二维码生成&二维码/条形码识别(需摄像头支持)。
人脸识别:一个简单的图像识别应用,可以实现人脸识别(需摄像头支持)。
电压表:用于测量0~3.3V的直流电压源。
蜂鸣器:用于测试蜂蜜器。
按键测试:用于测试三个功能按键。
LED测试:用于测试RGB灯。
拨号:支持拨打电话(需要GSM模块支持)。
应用中心:可扩展16个应用程序,我们实现了其中1个(红外遥控),其他预留。
短信:支持短信读取、发送、删除等操作(需要GSM模块支持)。
以上,就是综合实验的23个功能简介,涉及到的内容包括:GUI(ALIENTEK编写,非ucGUI)、UCOSII、内存管理、图片解码、文件系统、USB(从机)、IAP、NES模拟器、手写识别、汉字输入等非常多的内容。下面,我们将详细介绍这23个功能。
64.2 综合测试实验详解要测试MiniPro STM32H750开发板综合测试实验的全部功能,大家得自备1个TF卡、1个DS18B20温度传感器(非必须)、1个GSM模块、1个ALIENTEKOV5640摄像头模块和GSM模块等。不过,就算没有这些东西,综合实验还是可以正常运行的,只是有些限制而已,比如:不能保存新建的记事本、不能保存新建的画图、不能使用摄像头功能、不能拨号、不能收发短信等。除了这几个,其他功能基本都可以正常运行。
预备知识: 1,系统支持:ALIENTEK 2.8寸电阻屏、ALIENTEK 3.5寸电阻屏、ALIENTEK 4.3寸电容屏和ALIENTEK 7寸电容屏(SSD1963方案),自动识别。 2,系统针对不同分辨率的屏幕,不同界面,会采用不同的字体和图标,以达到最佳效果。 3,系统主界面,有3页,可以通过滑屏切换。总共有23个,其中,底部是3个固定图标。 4,系统测试有可能需要比较大电流(4.3屏、7寸屏)供电,强烈建议同时使用USB UART和USB SLAVE接口供电。 有了以上预备知识,我们先来看看MiniPro STM32H750开发板综合测试实验的启动界面,启动界面如图64.2.1所示: 图64.2.1 综合实验启动界面
注意:综合实验支持屏幕截图(通过USMART控制,波特率为115200),本章所有图片均来自屏幕截图! 图64.2.1总共有3个截图拼成,分别代表2.8寸、3.5寸和4.3寸/7寸屏模块,显示内容都一样,但是图标大小和文字大小各不相同。图片显示了综合实验的详细启动过程,首先显示了版权信息,软硬件版本,接着显示了LCD驱动器的型号(LCD ID),然后显示CPU和内存信息(16MB,指的是QSPI FLASH是16MB),之后显示QSPI FLASH的大小,接着开始初始化RTC和文件系统(FATFS),然后显示SD卡容量、FLASHDisk容量(注意 FLASH Disk就是指QSPI FLASH,因为我们划分了7360KB空间给FATFS管理,所以FLASH Disk的容量显示为7360KB)。U Disk表示U盘的容量,由于插入U盘,所以显示0MB,状态列显示ERROR。
接着,就是硬件检测,完了之后检测字库和系统文件,再初始化触摸屏,加载系统参数(参数保存在24C02里面),最后启动系统。在加载过程中,任何一个地方出错,都会显示相应的提示信息,请在检查无误后,按复位重启。
这里有几个注意的地方: ① 如果没插入SD卡,其容量显示0,并提示ERROR,不过系统还是会继续启动,因为就算没有SD卡系统还是可以启动的(前提是QSPI FLASH(25Q128)里面的系统文件和字库文件都是正常的)。
② 系统文件和字库文件都是存在QSPI FLASH(25Q128)里面的,如这些文件被破坏了,在启动的时候,会提示Font Error/ SYSTEM File Error。解决方法如下: 准备一个TF卡,并拷贝SYSTEM文件夹(注意:这个SYSTEM文件夹不是开发板例程里的SYSTEM文件夹,而是光盘根目录àSD卡根目录文件àSYSTEM文件夹)到TF卡根目录,然后TF卡插入开发板,按复位重启,然后开发板会自动更新文件。
③ SPIFlash Disk是从QSPI FLASH(25Q128)里面分割7360KB空间出来实现的,强制将4K字节的扇区改为512字节使用,所以在写操作的时候擦除次数会明显提升(8倍以上),因此,如非必要,请不要往SPI Flash Disk里面写文件。频繁的写操作,很容易将SPI Flash Disk写挂掉。
④ 在系统启动时,一直按着KEY0不放(加载到Touch Check时),可以进入强制校准(仅电阻屏支持)。当你发现触摸屏不准的时候,可以使用这个办法强制校准。
⑤ 在系统启动时,一直按着KEY1不放(加载到Font Check时),可以强制更新字库。
⑥ 在系统启动时,一直按着WK_UP不放(加载到FLASH容量时),可以选择是否擦除所有文件(清空SPI FLASH),当需要重新更新的时候,建议先用此方法擦除,再更新。
⑦ 本系统用到按键KEY0做返回键(类似手机的HOME键),进入主界面的APP功能后,可以通过KEY0返回。
在SYSTEMStarting…之后,系统启动UCOSII,并加载SPB界面,在加载成功之后,来到主界面,主界面如图64.2.2~64.2.4所示: 图64.2.2 综合实验系统主界面(2.8寸屏版本)
图64.2.3 综合实验系统主界面(3.5寸屏版本)
图64.2.4 综合实验系统主界面(4.3/7寸屏版本)
从上面三张图可以看出,2.8寸、3.5寸、4.3寸和7寸屏的主界面都有3个页面(滑屏可切换),总共是23个图标。每个图标代表一大功能,主界面顶部具有状态栏,显示GSM模块信号质量、运营商、TF卡状态、CPU使用率和时间等信息。
注意:GSM模块信号质量和运营商,必须是接了ATK-SIM900A GSM模块后,才可能正常显示的,否则信号质量显示灰色,运营商显示:无移动网。 ALIENTEK ATK-SIM900A GSM模块与MiniPro STM32H750开发板的连接方式如下: 用杜邦线将开发板的PA3(RX)接GSM模块的STXD脚,将开发板的PA2(TX)接GSM模块的SRXD脚。最后共地,开发板上随便找一个GND用杜邦线和GSM模块的GND连接起来。
只有GSM模块连接好,SIM卡正常,且长按GSM模块的PWR_KEY开机后,开发板才会显示如图64.2.4所示的信号质量和运营商,才可以进行拨号和短信功能测试!!如果不显示信号质量和运营商,请检查是否有GSM模块,或者GSM模块是否工作正常! 回到主界面,主界面默认是简体中文的,我们可以在系统设置里面设置语言,综合测试实验支持3种语言选择:简体中文、繁体中文和英文。
在进入主界面之后,开发板上的LED0开始有规律的短亮(每2.5秒左右亮100ms),提示系统运行正常,我们可以通过LED0判断系统的运行状况。另外,如果运行过程中,出现HardFault的情况,系统则会进入HardFault中断服务函数,此时LED0和LED1都会闪烁,提示系统故障。同时在串口打印故障信息。通过串口,系统会打印其他很多信息,最常打印的是内存使用率,然后我们还可以通过USMART对系统进行调试。
我们可以通过点击任何一个图标,选中,然后再次点击,即可进入该图标的功能。接下来,我们主要以4.3屏为例,给大家讲解综合实验。2.8屏、3.5屏和7寸屏操作基本一模一样,下面就不再分别贴图了。
在任何界面下,都可以通过按KEY0返回上一级,直至返回到主界面。
上面已经介绍完系统启动,下面开始介绍各个功能。
64.2.1 电子图书双击主界面的电子图书图标,进入如图64.2.1.1所示的文件浏览界面: 图64.2.1.1 文件浏览界面
图64.2.1.1中,左侧的图是我们刚刚进入的时候看到的界面(类似在XP/WIN7上打开我的电脑),可以看到我们有2个盘,磁盘名字分别是:正点原子和ALIENTEK。正点原子是我们TF卡的卷标(即磁盘名字),ALIENTEK是板载QSPI FLASH磁盘的卷标。注意:如果没有插入TF卡,则只会显示ALIENTEK这一个卷标。我们可以选择任何一个磁盘打开,并浏览里面的内容。
界面的上方,显示文件/文件夹的路径。如果当前路径是磁盘/磁盘根目录则显示磁盘图标,如果是文件夹,则显示文件夹图标,另外,如果路径太深,则只显示部分路径(其余用…代替)。
界面的下方显示磁盘/文件夹信息。
界面的下方,显示磁盘信息/当前文件夹信息。对磁盘,则显示当前选中磁盘的总容量和可用空间,对文件夹,则显示当前路径下文件夹总数和文件总数,并显示你当前选中的是第几个文件夹/文件。
双击图64.2.1.1中的“正点原子”,打开TF卡,得到图64.2.1.1右侧图片所示的界面,选中TEXT文件夹,双击打开得到如图64.2.1.2所示界面: 图64.2.1.2 目标文件和文本阅读
图64.2.1.2左侧显示了当前文件夹下面的目标文件(即电子图书支持的文件,包括.txt/.h/.c/.lrc等格式,其中.txt/.h/.c文件共用1个图标,.lrc文件单独一个图标)。另外,如果文件名太长,在我们选中该文件名后,系统会以走字的形式,显示整个文件名。
我们打开一个txt文件,开始文本阅读,如图64.2.1.2右侧的图片所示,同样我们可以通过滚动条/拖动的方式来浏览,图中我们还看到有一个光标,触摸屏点到哪,它就在哪里闪烁,可以方便大家阅读。
当我们想退出文本阅读的时候,通过按按键KEY0实现,按一下KEY0,则又回到查找目标文件状态(左侧图),按返回按钮可以返回上一层目录,如果再按一次KEY0则直接返回主界面。
64.2.2 数码相框双击主界面的数码相框图标,进入文件浏览界面,这个和64.2.1节差不多,我们找到存放图片的文件夹,如图64.2.2.1所示: 图64.2.2.1 文件浏览和图片播放
左侧是文件浏览的界面,可以看到在PICTURE文件夹下总共有27个文件,包括gif/jpg/bmp等,这些都是数码相框功能所支持的格式。右侧图片显示了一个正在播放的GIF图片,并在其左上角显示当前图片的名字。当然,我们也可以播放bmp和jpg文件,如图64.2.2.2所示: 图64.2.2.2 bmp和jpg图片播放
对于bmp和jpg文件,基本没有尺寸限制(但图片越大,解码时间越久),但是对于gif文件,则只支持尺寸在LCD分辨率以内的文件(因为gif图片我们不好做尺寸压缩处理),超过这个尺寸的gif图片将无法显示!!
我们可以通过按屏幕的上方(1/3屏幕)区域切换到上一张图片浏览;通过按屏幕的下方(1/3屏幕)区域切换到下一章图片;通过单击屏幕的中间(1/3屏幕)区域可以暂停自动播放,同时LED1亮,提示正在暂停状态,同样,通过按TPAD按钮,可以返回文件浏览状态。
图片浏览支持两种自动播放模式:循环播放/随即播放。大家可以在系统设置里面设置图片播放模式。系统默认是循环播放模式,在该模式下,每隔4秒左右自动播放下一张图片,依次播放所有图片。而随机播放模式,也是每隔4秒左右自动播放下一张图片,但是不是顺序播放,而是随机的播放下一张图片。
64.2.3 游戏机综合测试实验移植了一个非常强大的NES模拟器,核心部分采用汇编实现,效率极高,支持音频输出(由于MiniProSTM32H750开发板没有喇叭,所以无法输出音频),支持MAP,支持绝大部分NES游戏的运行。综合性能超过infoNES。该模拟器由开源电子网(http://www.openedv.com/forum.php)论坛网友:ye781205编写,然后ALIENTEK移植到本开发板上,即游戏机。
游戏机特点如下: 1,支持NES和SMS两种游戏模拟器。 2,支持MAP,可运行绝大部分NES游戏。 3,支持USB手柄(目前已测试了迪龙PU201、PU401、PU701、蓝觉L600、酷孩USB 无振动手柄等)。 4,支持USB键盘输入,可双人游戏。键盘与手柄功能对应关系如表64.2.3.1所示。 5,支持声音输出。 6,支持全速运行(60帧),在4.3寸屏会放大4倍处理(480*480分辨率)。 表64.2.3.1 USB键盘按键与手柄功能对应关系
上表中的3、6、2、5等数字,是指小键盘的数字按键。另外,需要注意:玩游戏的时候,USB_SLAVE不要插电脑,否则无法识别USB键盘/USB手柄!!!
双击主界面的系统设置图标,如果当时插着U盘,屏幕将提示:请先拔掉U盘。然后,会提示:请插入USB手柄/键盘。然后进入nes/sms文件浏览界面,如图64.2.3.1所示: 图64.2.3.2 文件浏览和超级玛丽游戏
上图中,左侧为nes文件浏览界面,我们随便选择一个打开即可开始游戏了,记得插上手柄哦!右侧的图片为经典的超级玛丽游戏界面,当然还可以玩很多其他经典游戏,如下面的图片所示: 图64.2.3.3 冒险岛和魂斗罗
图64.2.3.4 三木童子和双截龙
图64.2.3.5 炸弹人和SD快打
图64.2.3.6 洛克人和90坦克
这里,我们仅列出了几种游戏,这都是80后童年时玩的经典游戏,大家可以回味一下当年的经典了。
64.2.4 视频播放MiniPro STM32H750开发板的综合实验支持视频播放(不带声音),硬件解码MJPEG格式的avi文件,实现视频播放。支持的视频格式为:.avi,视频必须使用MJPEG压缩,视频分辨率必须小于等于屏幕分辨率。
特别提醒:一般网络下载的视频文件( .avi/.rmvb/.mkv/.mp4 等),本播放器不支持,必须通过软件转换(狸窝全能视频转换器),才可以,详细转换方法,见51.4节。
双击主界面的视频播放图标,进入文件浏览界面,这个和 64.2.1节差不多,只是这里我们浏览的文件变为了.avi的视频文件,我们找到存放视频文件的文件夹,如图64.2.4.1所示: 图64.2.4.1 文件浏览和avi视频播放
左侧是文件浏览的界面,可以看到在视频文件夹下总共有21个视频文件。右侧图片则是我们视频播放器的主界面,该界面显示了当前播放视频的名字、播放进度、播放时长、总时长、音频采样率、视频帧率、视频分辨率、音量、当前文件编号、总文件数等信息。下方的5个按键分别是:目录、上一个视频、暂停/播放、下一个视频、返回。点击视频播放进度条,可以直接设置视频播放位置,点击声音进度条,可以设置音量(当然本开发板是无法输出音频的)。
视频播放器还可以设置播放模式(在系统设置里面设置)。播放模式有3种:全部循环、随机播放、单曲循环,默认为全部循环。
我们可以通过按目录按钮,来选择其他视频文件;按返回按键(或 按键KEY0)则可以返回主界面。视频播放不支持后台播放,所以一旦退出到文件浏览或者主界面,则停止视频播放。
在图64.2.4.1 中,右侧图片播放的是480*272的视频。相对于 STM32F4的软解码视频(最大仅支持480*272分辨率,10帧),STM32H7的硬件解码视频性能非常强悍,实测性能:800*480 分辨率的视频,可以到45帧。其他分辨率的帧率,大家可自行测试。
分辨率越小,就可以获得更快的帧率。当视频横向分辨率大于屏幕的宽度时,将自动改为横屏播放,此时不会显示视频相关信息,只播放视频,如图64.2.4.2所示: 图64.2.4.2 播放1024*600分辨率的AVI视频
在横屏播放模式下,通过按键KEY_UP和KEY1,可以切换到上一个视频和下一个视频。
当视频横向分辨率小于等于屏幕宽度时,系统又会自动切换为竖屏模式播放视频。
64.2.5 时钟双击主界面的时钟图标,进入时钟界面,如图64.2.5.1所示: 图64.2.5.1 时钟界面
图64.2.5.1的左侧图片为加载时钟界面时的提示界面,表明没有检测到DS18B20,启用STM32H750的内部温度传感器,之后进入时钟主界面,如右侧图片所示。在时钟界面,我们显示了日期、时间、温度、星期等信息,并且在屏幕上方区域,有一个指针式时钟显示。我们可以在系统设置里面设置时间和日期,并且还可以设置闹钟和闹铃,这个我们后面再介绍。
同样,按KEY0可以返回主界面。
64.2.6 系统设置双击主界面的系统设置图标,进入系统设置界面,如图64.2.6.1所示: 图64.2.6.1 系统设置主界面和时间设置界面
上图中左侧的图片为系统设置主界面,在系统设置里面,总共有15个项目:时间设置、日期设置、闹钟时间设置、闹钟开关设置、闹钟铃声设置、语言设置、数码相框设置、视频播放器模式设置、背光设置、屏幕校准、系统文件更新、恢复默认设置、系统信息、系统状态、关于。通过这15个项目,我们可以设置和查看各种系统参数。下面我们将一一介绍这些设置。
首先是时间设置,如图64.2.6.1右侧图片所示,双击时间设置,就会弹出一个时间是指对话框,通过这个对话框,我们就可以设置开发板的时间了。设置好之后点击确定回到系统设置主界面,如果想放弃设置,则直接点击取消(或KEY0)。
再来看看日期设置和闹钟时间设置,如图64.2.6.2所示: 图64.2.6.2 日期设置和闹钟时间设置
上图中,左侧的对话框用来设置系统日期,右侧的对话框用来设置闹钟时间。操作上同前面介绍的时间设置的方法一模一样。关于闹钟,我们等下再详细介绍,先看闹钟开关设置和闹钟铃声设置两个界面,如图64.2.6.3所示: 图64.2.6.3 闹钟开关设置和闹钟铃声设置
上图中,左侧对话框用来设置闹钟开关,右侧对话框用来设置闹钟铃声。这里,我们来介绍一下本系统的闹钟,本系统的闹钟以星期为周期,以时间为点实现闹钟,比如判断一个闹钟是否应该响铃的标准是:先判断星期的条件是否满足,比如上图我们设置是周一到周五闹铃,今天(2022年6月20号)是周一,所以满足星期条件,接着看时间是否相等,如果两个条件都满足,则闹铃。假定当前时间是19:35,我们设置的闹钟时间是19:38,所以时间还不相等,故不闹铃,当时间来到19:38的时候,系统将会闹铃。闹铃铃声有4种,如上图右侧图片所示,铃声由蜂鸣器产生,铃声1对应“滴”,铃声2对应“滴、滴”,铃声3和4依此类推。当闹钟时间到来的时候,产生闹铃,如图64.2.6.4所示: 图59.2.6.4 闹铃和语言设置
上图中,左侧的图片显示正在闹铃。此时会弹出一个闹钟的对话框,并显示当前时间,同时蜂鸣器发出“滴、滴、滴、滴”的闹铃声(铃声4)。按取消(或KEY0)可以关闭闹钟,按再响,则5分钟后(20:45)继续闹铃。右侧的图片为语言设置界面,系统支持3种语言设置,默认为简体中文,设置为繁体中文/English之后如图64.2.6.5所示: 图64.2.6.5 繁体中文和English
上图显示了繁体中文和English的设置,不过本章我们还是以简体中文为例进行介绍。下面,我们来看看数码相框设置和视频播放器模式设置,如图64.2.6.6所示: 图59.2.6.6 数码相框设置和视频播放器模式设置
前面提到数码相框支持全部循环播放和随机播放两种模式,就是通过上图左侧的界面设置的。而视频播放器的三个播放模式,则通过右侧的界面进行设置。接下来看看背光设置和系统文件更新,如图64.2.6.7所示: 图64.2.6.7 背光设置和系统文件更新
上图中,左侧的界面用于设置LCD背光,背光通过PWM控制。背光亮度,值越大越亮。
上图中,右侧是双击系统文件更新提示,这里的系统文件是指SYSTEM文件夹里面除字库文件外的所有内容。综合测试实验之所以可以没有TF卡也能正常运行,主要是将SYSTEM文件夹(注意这个不是源码里面的SYSTEM文件夹!!)拷贝到了SPI Flash Disk(即25Q128)里面,这样,我们所有的系统资源都可以从25Q128里面获得,从而正常启动。
SYSTEM文件夹的文件目前占用内存总大小为6.69MB。这些文件一般不要修改,如果你想自己DIY的话,那可以修改这些文件,以达到你要的效果,不过建议修改之前备份一下,搞坏了还可以还原。
第10项,屏幕校准,这里因为我们用的是4.3寸电容触摸屏为例讲解的,电容屏不需要校准,所以这个设置对4.3屏模块无效。如果是电阻屏,点击该项则可以进入屏幕校准,根据提示完成校准即可。
接下来,我们看看恢复默认设置和系统信息,如图64.2.6.8所示: 图64.2.6.8恢复默认设置和系统信息
上图左侧图片为恢复默认设置功能确认界面,当选择确定后,系统将恢复默认设置,除了RTC时间日期以外的所有设置,都将恢复默认值,方便大家在设置乱以后,恢复正常。
上图右侧图片为系统信息界面,通过该界面,可以看到软硬件的详细信息。
最后,我们来看看系统状态和关于界面,如图64.2.6.9所示: 图64.2.6.9 系统状态和关于界面
上图中,左侧的界面显示了当前系统资源状况,显示了当前CPU使用率,CPU温度以及内存使用率。
右侧的图片显示了MiniPro STM32H750开发板的软硬件版本以及产品序列号,这个序列号是全球唯一的,每个开发板都不一样。
64.2.7 计算器MiniPro STM32H750开发板实现了一个简单的科学计算器,可以计算加减乘除、开方、平方、M^N次方、正弦、余弦、正切、对数、倒数、格式转换等一些常见的计算器功能,精度为12位,支持科学计数法表示。双击主界面的计算器图标,进入计算器主界面,如图64.2.7.1所示: 图64.2.7.1 计算器主界面和加法计算
上图中,左侧的图片为科学计算器的主界面,和我们手机用的计算器基本一样,使用上非常简单,我们就不详细介绍了。右侧的图片为加法计算,支持累加功能。 图64.2.7.2 计算器主界面和加法计算
上图为乘法计算和倒数计算,可以看到,结果是以科学计数法表示的,最大支持200位指数表示,超过范围直接显示错误(E)。
该计算器还支持格式转换(按FMT键),可以将十进制数据(最大为65535,超过部分将被丢弃)转换为16进制/二进制数据表示,如图64.2.7.3所示: 图64.2.7.3 格式转换
上图显示我们将十进制的65535转换为16进制/二进制后的表示。计算器的其他功能,我们就再列举了,感兴趣的朋友可以慢慢摸索,当然也可以在这个基础上进行改进。通过按KEY0可以返回主界面。
64.2.8 记事本双击主界面的记事本图标,首先弹出模式选择对话框,如图64.2.8.1所示: 图64.2.8.1 模式选择和新建文本文件
记事本支持2种模式:1,新建文本文件,这种方式完全新建一个文本文件(以当前系统时间命名),用来输入信息。2,打开已有文件,这种方式可以对已有的文件进行编辑。
上图中,右侧的界面为我们选择新建文本文件后的界面,此时出现一个空白编辑区和一个闪烁的光标,我们通过下方的键盘输入信息即可,这个输入键盘和我们的手机键盘十分类似,输入方法也是一模一样,支持中文、字母、数字和手写识别输入等几种输入方式,如图64.2.8.2和图64.2.8.3所示: 图64.2.8.2中文输入和标点符号输入
图64.2.8.3 英文输入和手写识别输入
其中,中文输入就是我们前面T9拼音输入法实验的具体运用,而手写识别的输入界面,我们也是用到前面手写识别实验的知识实现的。
只要新建文本文件有被编辑过,那么在返回(按KEY0返回)的时候,系统会提示是否保存,如图64.2.8.4所示: 图64.2.8.4保存提示和编辑已有文件
上图中,左侧图片为提示保存界面,如果选择确定,该文件将被保存在TF卡根目录的TEXT文件夹里面。右侧图片为打开已有文件进行编辑的界面,这样我们就可以在开发板上编辑.txt/.h/.c/.lrc文件了。
64.2.9 运行器双击主界面的运行器图标,首先进入文件浏览界面,如图64.2.9.1所示: 图64.2.9.1文件浏览和运行警告
上图中,左侧为文件浏览界面,图中显示了可运行的bin文件有两个,都是来自我们的标准例程对应的实验。本运行器支持448K字节以内的程序运行,很多例程都可以生成SRAM版本的bin文件,在运行器里面运行。SRAM版本.bin文件的生成办法,请参考串口IAP实验这个章节,里面有详细介绍。通过运行器,大家可以直接运行我们大部分例程,而不用再去刷代码了,方便大家测试和验证我们的实验。
右侧的图片是运行前的警告界面,因为一旦执行.bin文件,我们的系统将无法恢复,只能靠复位重启。点击确定之后,STM32就开始运行你所选择的.bin文件了,实验现象和对应实验所描述的现象一模一样。
64.2.10 手写画笔双击主界面的手写画笔图标,首先弹出模式选择对话框,如图64.2.10.1所示: 图64.2.10.1模式选择和新建画板
上图中,左侧图片为我们双击手写画笔后,弹出的模式选择界面,我们可以选择新建画笔,建立一个新的文件;也可以选择打开一个已有的位图进行编辑。右侧的图片为我们新建画笔后输入的内容,默认画笔为最小尺寸,颜色为红色。画笔的颜色和尺寸是可以设置的,按KEY_UP按键,则弹出画笔设置对话框,然后,可以对画笔颜色和画笔尺寸进行设置。如图64.2.10.2和图64.2.10.3所示: 图64.2.10.2画笔设置和画笔颜色设置
图64.2.10.3画笔尺寸设置和完成后的画图
图64.2.10.2中,左侧的图片为按KEY_UP按键后弹出的画笔设置对话框,我们可以选择对画笔颜色和画笔尺寸进行设置。右侧的图片为画笔颜色设置对话框,在该对话框里面,我们可以直接在颜色条快速输入要设置的颜色,也可以通过下方的三个滚动条进行精确设置,左侧的正方形区域为预览区。
图64.2.10.3中,左侧为画笔尺寸设置界面,我们可以通过滚动条设置画笔尺寸,对话框显示了画笔尺寸和对应的预览图。右侧的图片为我们完成的画图文件,在返回主界面(按KEY0)的时候,会提示保存,如图64.2.10.4所示: 图64.2.10.4保存画图和编辑已有位图
上图中,左侧为我们退出时弹出的提示保存对话框,如果选择确定,则新的画图文件将会被保存在TF卡的PAINT文件夹里面,命名方式是以当前系统的时间命名的,如PAINT20220620193550.bmp。
右侧的图片为对打开的位图进行编辑的界面,通过这个功能,我们可以在开发板上实现对一些相片(bmp格式)进行涂鸦。 |