【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4
2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html#

第六十六章 综合测试实验

为了方便大家使用和验证综合例程,本章内容是综合例程的使用介绍。目的是展示STM32F1的强大处理能力,并且可以测试开发板的大部分功能。本实验代码只提供寄存器版本,存放的路径是:战舰V4 STM32F103开发板资料盘(A盘)4,程序源码1,标准例程-寄存器版本实验54 综合测试实验,代码非常多,这里不讲代码,只讲功能。
本章将分为如下2个小节:
66.1 综合测试实验简介
66.2 综合测试实验详解

66.1 综合测试实验简介

战舰V4是正点原子战舰V3开发板的升级版本,板载资源更合理,设计更精湛,软件功能也更强大,是新一代STM32F103开发板的旗舰型号。
开发板的硬件介绍请参考《战舰V4 STM32F103硬件参考手册_V1.0.pdf》。为了展示STM32F1系列强大的处理能力,综合例程实现了19个界面功能,分别是:电子图书、数码相框、音乐播放、TOM猫、时钟、系统设置、FC游戏机、记事本、运行器、手写画笔、照相机、录音机、USB连接、网络通信、无线传书、计算器、拨号、应用中心和电压表。
电子图书:支持.txt/.c/.h/.lrc等4种格式的文件阅读。
数码相框:支持.bmp/.jpeg/.jpb/.gif等4种格式的图片文件播放。
音乐播放,支持.mp3/.wav/.wma/.ogg/.flac等多种常见音频文件的播放。
TOM猫,模仿手机游戏:TOM猫,实现一个类似效果的游戏。
时钟:支持温度、时间、日期、星期的显示,同时具有指针式时钟显示。
系统设置:整个综合实验的设置。
FC游戏机:支持绝大部分NES游戏(.nes),支持USB手柄/键盘控制,带声音,超Info NES。
记事本:可以实现文本(.txt/.c/.h/.lrc)记录编辑等功能,支持中英文输入,手写识别。
运行器:即SRAM IAP功能,支持.bin文件的运行(文件大小+SRAM大小≤55K)。
手写画笔:可以作画/对bmp图片进行编辑,支持画笔颜色/尺寸设置。
照相机:可以拍照(.bmp/.jpg格式,需摄像头模块支持), 支持成像效果设置。
录音机:支持wav文件格式的录音(8Khz/16位单声道录音),支持AGC设置。
USB连接:支持和电脑连接读写SD卡/SPI FLASH 的内容。
网络通信:支持10、100M自适应,支持DHCP,支持UDP/TCP测试。
无线传书:通过无线模块,实现两个开发板之间的无线通信。
计算器:一个科学计算器,支持各种运算,精度为12位,支持科学计数法表示。
拨号:支持拨打电话(需要4G模块支持)。
应用中心:可扩展16个应用程序,我们实现了其中4个(红外遥控&蜂鸣器&LED测试&按键测试),其他预留。
电压表:用于测量0~3.3V的直流电压源。
以上,就是综合实验的19个功能简介,涉及到的内容包括:GUI(正点原子编写,非ucGUI)、UCOSII、内存管理、图片解码、音频解码、文件系统、USB(从机)、IAP、网络通信(TCP/UDP)、NES模拟器、手写识别、汉字输入等非常多的内容。下面,我们将详细介绍这19个功能。
66.2 综合测试实验详解
要测试战舰V4 STM32F103开发板综合测试实验的全部功能,大家得自备1个TF卡、1根网线、1个耳机(非必须)、1个DS18B20温度传感器(非必须)、1个4G模块、1个正点原子OV7725带FIFO摄像头模块等。不过,就算没有这些东西,综合实验还是可以正常运行的,只是有些限制而已,比如:不能保存新建的记事本、不能保存新建的画图、不能使用录音机功能、不能使用摄像头功能、不能拨号等。除了这几个,其他功能基本都可以正常运行。
预备知识:
1,系统支持:正点原子2.8寸电阻屏、正点原子3.5寸电阻屏、正点原子4.3寸电容屏和正点原子7寸电容屏(SSD1963方案),自动识别。
2,系统针对不同分辨率的屏幕,不同界面,会采用不同的字体和图标,以达到最佳效果。
3,系统主界面,对于2.8寸和3.5寸液晶模块,将会有2页,通过滑屏切换。每页8个图标+底部3个固定图标,总共19个。对于其中4.3寸/7寸液晶模块,直接就是1页,4.3寸/7寸屏不支持滑动。
4,系统测试有可能需要比较大电流(4.3屏、7寸屏、网络、喇叭)供电,强烈建议使用外部电源供电。
有了以上预备知识,我们先来看看战舰V4 STM32F103开发板综合测试实验的启动界面,启动界面如图66.2.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第1张图片

图66.2.1 综合实验启动界面
注意:综合实验支持屏幕截图(通过USMART控制,波特率为115200),本章所有图片均来自屏幕截图!
图66.2.1总共有3个截图拼成,分别代表2.8寸、3.5寸和4.3寸/7寸屏模块,显示内容都一样,但是图标大小和文字大小各不相同。图片显示了综合实验的详细启动过程,首先显示了版权信息,软硬件版本,接着显示了LCD驱动器的型号(LCD ID),然后显示CPU和内存信息(16MB,指的是SPI FLASH是16MB),之后显示SPI FLASH的大小,接着开始初始化RTC和文件系统(FATFS),然后显示SD卡容量、FLASH Disk容量(注意 FLASH Disk就是指SPI FLASH,因为我们划分了12MB空间给FATFS管理,所以FLASH Disk的容量显示为12228KB)。
接着,就是硬件检测,完了之后检测字库和系统文件,再初始化触摸屏,加载系统参数(参数保存在24C02里面),最后启动系统。在加载过程中,任何一个地方出错,都会显示相应的提示信息,请在检查无误后,按复位重启。
这里有几个注意的地方:
①如果没插入SD卡,其容量显示0,并提示 ERROR,不过系统还是会继续启动,因为就算没有SD卡系统还是可以启动的(前提是SPI FLASH(25Q128)里面的系统文件和字库文件都是正常的)。
②系统文件和字库文件都是存在SPI FLASH(25Q128)里面的,如这些文件被破坏了,在启动的时候,会提示Font Error / SYSTEM File Error。解决方法如下:
准备一个TF卡,并拷贝SYSTEM文件夹(注意:这个SYSTEM文件夹不是开发板例程里的SYSTEM文件夹,而是光盘根目录SD卡根目录文件SYSTEM文件夹)到TF卡根目录,然后TF卡插入开发板,按复位重启,然后开发板会自动更新文件。
③SPI Flash Disk是从SPI FLASH(25Q128)里面分割12MB空间出来实现的,强制将4K字节的扇区改为512字节使用,所以在写操作的时候擦除次数会明显提升(8倍以上),因此,如非必要,请不要往SPI Flash Disk里面写文件。频繁的写操作,很容易将SPI Flash Disk写挂掉。
④在系统启动时,一直按着KEY0不放(加载到Touch Check时),可以进入强制校准(仅电阻屏支持)。当你发现触摸屏不准的时候,可以使用这个办法强制校准。
⑤在系统启动时,一直按着KEY1不放(加载到Font Check时),可以强制更新字库。
⑥在系统启动时,一直按着WK_UP不放(加载到FLASH容量时),可以选择是否擦除所有文件(清空SPI FLASH),当需要重新更新的时候,建议先用此方法擦除,再更新。
⑦本系统用到触摸按键TPAD做返回(类似手机的HOME键,TPAD在开发板右下角,‘Z’图标丝印,该区域是触摸按键区域!!手指轻轻一摸,即可返回),所以请确保多功能端口P10的ADC和TPAD用跳线帽短接!
在SYSTEM Starting…之后,系统启动UCOSII,并加载SPB界面,在加载成功之后,来到主界面,主界面如图66.2.2~66.2.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第2张图片

图66.2.2 综合实验系统主界面(2.8寸屏版本)
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第3张图片

图66.2.3 综合实验系统主界面(3.5寸屏版本)
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第4张图片

图66.2.4 综合实验系统主界面(4.3/7寸屏版本)
从上面三张图可以看出,2.8寸屏和3.5寸屏主界面有2个页面(滑动切换),而4.3/7寸屏的只有1个页面(不支持滑动),总共是19个图标。每个图标代表一大功能,主界面顶部具有状态栏,显示4G模块信号质量、运营商、TF卡状态、CPU使用率和时间等信息。
注意:4G模块信号质量和运营商,必须是接了ATK-GM510或者是ATK-GM196 4G模块后,才可能正常显示的,否则信号质量显示灰色,运营商显示:无移动网。
这里推荐大家使用性价比更高些的ATK-GM196 4G模块,模块与开发板的连接方式如下:
用杜邦线将开发板的PB11(RX)接4G模块的TXD脚,将开发板的PB10(TX)接4G模块的RXD脚。最后共地,开发板上随便找一个GND用杜邦线和4G模块的GND连接起来。
只有4G模块连接好,SIM卡正常,且长按4G模块的POWER键开机后,开发板才会显示如图66.2.4所示的信号质量和运营商,才可以进行拨号功能测试!!如果不显示信号质量和运营商,请检查是否有4G模块,或者4G模块是否工作正常!
回到主界面,主界面默认是简体中文的,我们可以在系统设置里面设置语言,综合测试实验支持3种语言选择:简体中文、繁体中文和英文。
在进入主界面之后,开发板上的LED0开始有规律的短亮(每2.5秒左右亮100ms),提示系统运行正常,我们可以通过LED0判断系统的运行状况。另外,如果运行过程中,出现HardFault的情况,系统则会进入HardFault中断服务函数,此时LED0和LED1都会闪烁,提示系统故障。同时在串口打印故障信息。通过串口,系统会打印其他很多信息,最常打印的是内存使用率,然后我们还可以通过USMART对系统进行调试。
我们可以通过点击任何一个图标,选中,然后再次点击,即可进入该图标的功能。接下来,我们主要以4.3屏为例,给大家讲解综合实验。2.8屏、3.5屏和7寸屏操作基本一模一样,下面就不再分别贴图了。
在任何界面下,都可以通过按TPAD返回上一级,直至返回到主界面。
上面已经介绍完系统启动,下面开始介绍各个功能。
66.2.1 电子图书
双击主界面的电子图书图标,进入如图66.2.1.1所示的文件浏览界面:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第5张图片

图66.2.1.1 文件浏览界面
图66.2.1.1中,左侧的图是我们刚刚进入的时候看到的界面(类似在WIN7/WIN10上打开我的电脑),可以看到我们有2个盘,磁盘名字分别是:正点原子。正点原子是我们TF卡的卷标(即磁盘名字),是板载SPI FLASH磁盘的卷标。注意:如果没有插入TF卡,则只会显示这一个卷标。我们可以选择任何一个磁盘打开,并浏览里面的内容。
界面的上方,显示文件/文件夹的路径。如果当前路径是磁盘/磁盘根目录则显示磁盘图标,如果是文件夹,则显示文件夹图标,另外,如果路径太深,则只显示部分路径(其余用…代替)。
界面的下方显示磁盘/文件夹信息。
界面的下方,显示磁盘信息/当前文件夹信息。对磁盘,则显示当前选中磁盘的总容量和可用空间,对文件夹,则显示当前路径下文件夹总数和文件总数,并显示你当前选中的是第几个文件夹/文件。
双击图66.2.1.1中的“正点原子”,打开TF卡,得到图66.2.1.1右侧图片所示的界面,选中TEXT文件夹,双击打开得到如图66.2.1.2所示界面:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第6张图片

图66.2.1.2 目标文件和文本阅读
图66.2.1.2左侧显示了当前文件夹下面的目标文件(即电子图书支持的文件,包括.txt/.h/.c/.lrc等格式,其中.txt/.h/.c文件共用1个图标,.lrc文件单独一个图标)。另外,如果文件名太长,在我们选中该文件名后,系统会以走字的形式,显示整个文件名。
我们打开一个txt文件,开始文本阅读,如图66.2.1.2右侧的图片所示,同样我们可以通过滚动条/拖动的方式来浏览,图中我们还看到有一个光标,触摸屏点到哪,它就在哪里闪烁,可以方便大家阅读。
文本阅读是将整个文本文件加载到外部内存里面来实现的,所以文本文件最大不能超过外部内存总大小,即963KB(这里仅指受内存管理的部分,不是整个外部SRAM的大小)。
当我们想退出文本阅读的时候,通过按TPAD触摸按键实现,按一下TPAD,则又回到查找目标文件状态(左侧图),按返回按钮可以返回上一层目录,如果再按一次TPAD则直接返回主界面。
66.2.2 数码相框
双击主界面的数码相框图标,进入文件浏览界面,这个和66.2.1节差不多,我们找到存放图片的文件夹,如图66.2.2.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第7张图片

图66.2.2.1 文件浏览和图片播放
左侧是文件浏览的界面,可以看到在PICTURE文件夹下总共有27个文件,包括gif/jpg/bmp等,这些都是数码相框功能所支持的格式。右侧图片显示了一个正在播放的GIF图片,并在其左上角显示当前图片的名字。当然,我们也可以播放bmp和jpg文件,如图66.2.2.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第8张图片

图66.2.2.2 bmp和jpg图片播放
对于bmp和jpg文件,基本没有尺寸限制(但图片越大,解码时间越久),但是对于gif文件,则只支持尺寸在LCD分辨率以内的文件(因为gif图片我们不好做尺寸压缩处理),超过这个尺寸的gif图片将无法显示!!
我们可以通过按屏幕的上方(1/3屏幕)区域切换到上一张图片浏览;通过按屏幕的下方(1/3屏幕)区域切换到下一章图片;通过单击屏幕的中间(1/3屏幕)区域可以暂停自动播放,同时LED1亮,提示正在暂停状态,同样,通过按TPAD按钮,可以返回文件浏览状态。
图片浏览支持两种自动播放模式:循环播放/随即播放。大家可以在系统设置里面设置图片播放模式。系统默认是循环播放模式,在该模式下,每隔4秒左右自动播放下一张图片,依次播放所有图片。而随机播放模式,也是每隔4秒左右自动播放下一张图片,但是不是顺序播放,而是随机的播放下一张图片。
66.2.3 音乐播放
综合测试实验的音乐播放器性能非常不错,可作音乐播放器使用。支持的音频格式包括:MP3、WMV、OGG、WAV、FLAC、M4V、AAC等。其中MP3/WMA/OGG支持全码率播放,WAV和FLAC则不能支持高码率,如果播放出现不流畅,说明歌曲码率太高了,无法支持,请降低码率再试试。
注意:战舰V4自带了喇叭,播放音乐时,直接可以通过开发板自带的喇叭来听,不过需要在系统设置里面,开启板载喇叭(默认是开启的)。另外,如果有耳机,则可以插入开发板的PHONE接口,从而更好的享受音乐(立体声)。
双击主界面的音乐播放图标,进入文件浏览界面,这个和66.2.1节差不多,只是这里我们浏览的文件变为了.mp3/.wma/.ogg/.wav/.flac/.m4a/.aac等音频文件,我们找到存放音频文件的文件夹,如图66.2.3.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第9张图片

图66.2.3.1 文件浏览和wav格式播放
左侧是文件浏览的界面,可以看到在音乐文件 文件夹下总共有26个音频文件,包括wav/mp3/flac/ogg/wma等格式,这些都是播放器所支持的格式。右侧图片则是我们播放器的主界面,该界面显示了当前播放歌曲的名字、播放进度、播放时长、总时长、采样率、位数、码率、音量、当前文件编号、总文件数、歌词等信息。下方的5个按键分别是:目录、上一曲、暂停/播放、下一曲、返回。点击播放进度条,可以直接设置歌曲播放位置,点击声音进度条,可以设置音量。上图为正在播放mp3文件,当然我们还可以播放其他音频格式,如图66.2.3.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第10张图片

图66.2.3.2 ogg和wma格式播放
图66.2.3.2中,分别展示了播放ogg格式和wma格式的音频文件。
播放器还可以设置音效和播放模式(均在系统设置里面设置)。音效包括3D效果、高音设置、低音设置等。播放模式有3种:全部循环、随机播放、单曲循环,默认为全部循环。
另外,关于歌词显示。歌词必须和歌曲在同一个文件夹里面,且名字必须相同(当然后缀是不同的,歌词后缀为.lrc),这样才能正常显示歌词。对于没有歌词文件的歌曲,则直接播放,不显示歌词。歌词采用多行显示,中间为当前正在演唱的歌词(粉红色字体显示),上下分别有预览歌词(白色字体显示),如果正在演唱的歌词太长,则会采用走字的形式来显示,走字时间由系统自动确定。
我们可以通过按目录按键,来选择其他音频文件;按返回按键(或TPAD)则可以返回主界面,不过此时正在播放的歌曲还是会继续播放(后台播放),如果想关闭音乐播放器,则需要先按暂停,然后返回主界面,即可关闭音频播放器,否则音频播放器将一直播放音乐。
本音乐播放器支持多种无损音频格式播放,前面介绍的mp3、ogg、wma都是有损音频格式,本音乐播放器支持的无损音频格式为:wav和flac两种,无损音频格式可以得到更好的音质,wav和flac的播放,如图66.2.3.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第11张图片

图66.2.3.3 wav和flac格式播放
在播放wav和flac格式的时候,由于通过VS1053不能得到歌曲文件的正确码率,所以播放时间和歌曲总时间都是不正确的,因此歌词显示也不准确,在使用的时候,大家注意下这个问题。
66.2.4 TOM猫
这是一个在智能手机上非常流行的游戏,你说一句话,游戏里的猫也跟着说一句,而且是以怪怪的音调(变调)模仿,十分有意思。
双击主界面的TOM猫图标,进入如图66.2.4.1所示界面:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第12张图片

图66.2.4.1 TOM猫主界面和增益及语速设置界面
上图中,左侧图片为TOM猫游戏的主界面,图中显示了一个小猫和信号电平指示,此时我们可以对着MIC(咪头)说话,你说一句,就可以通过板载喇叭或耳机(插开发板的耳机接口)里面听到TOM猫在重复你的句子,而且是以变调重复的,听起来和手机的TOM猫游戏差不多。
我们的TOM猫游戏还加入了语速设置,点击左侧图片里面的选项按钮,可以弹出增益及语速设置对话框,如右侧图片所示。在这个对话框里面,我们可以设置增益(AGC)和语速(SPEED),增益设置范围为0~10,建议设置在4左右为最佳。
语速设置范围为4000Hz~16000Hz,这里我们实现变调的原理很简单,就是人为改变wav文件的采样率,我们wav录音默认采样率为8KHz,而如果我们强制修改采样率为其他值,那么语调就肯定发生了变化,我们通过将采样率设置为不同的值得到不同的语调,如果设置为8KHz,就是正常语调了。默认我们设置语调为13000Hz,这个语调比较接近手机的TOM猫效果,大家可以修改为其他值,比如设置为4000Hz,听起来就像个老人的声音。
TOM猫就为大家介绍到这里。
66.2.5 时钟
双击主界面的时钟图标,进入时钟界面,如图66.2.5.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第13张图片

图66.2.5.1 时钟界面
图66.2.5.1的左侧图片为加载时钟界面时的提示界面,表明没有检测到DS18B20,启用STM32F103的内部温度传感器,之后进入时钟主界面,如右侧图片所示。在时钟界面,我们显示了日期、时间、温度、星期等信息,并且在屏幕上方区域,有一个指针式时钟显示。我们可以在系统设置里面设置时间和日期,并且还可以设置闹钟和闹铃,这个我们后面再介绍。
同样,按TPAD可以返回主界面。
66.2.6 系统设置
双击主界面的系统设置图标,进入系统设置界面,如图66.2.6.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第14张图片

图66.2.6.1 系统设置主界面和时间设置界面
上图中左侧的图片为系统设置主界面,在系统设置里面,总共有19个项目:时间设置、日期设置、闹钟时间设置、闹钟开关设置、闹钟铃声设置、语言设置、数码相框设置、音乐播放器模式设置、板载喇叭开关设置、VS1053音量&3D设置、VS1053低音设置、VS1053高音设置、背光设置、屏幕校准、系统文件更新、恢复默认设置、系统信息、系统状态、关于。通过这19个项目,我们可以设置和查看各种系统参数。下面我们将一一介绍这些设置。
首先是时间设置,如图66.2.6.1右侧图片所示,双击时间设置,就会弹出一个时间是指对话框,通过这个对话框,我们就可以设置开发板的时间了。设置好之后点击确定回到系统设置主界面,如果想放弃设置,则直接点击取消(或TPAD)。
再来看看日期设置和闹钟时间设置,如图66.2.6.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第15张图片

图66.2.6.2 日期设置和闹钟时间设置
上图中,左侧的对话框用来设置系统日期,右侧的对话框用来设置闹钟时间。操作上同前面介绍的时间设置的方法一模一样。关于闹钟,我们等下再详细介绍,先看闹钟开关设置和闹钟铃声设置两个界面,如图66.2.6.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第16张图片

图66.2.6.3 闹钟开关设置和闹钟铃声设置
上图中,左侧对话框用来设置闹钟开关,右侧对话框用来设置闹钟铃声。这里,我们来介绍一下本系统的闹钟,本系统的闹钟以星期为周期,以时间为点实现闹钟,比如判断一个闹钟是否应该响铃的标准是:先判断星期的条件是否满足,比如上图我们设置是周一到周五闹铃,今天(2022年12月23号)是周五,所以满足星期条件,接着看时间是否相等,如果两个条件都满足,则闹铃。假定当前时间是11:56,我们设置的闹钟时间是11:58,所以时间还不相等,故不闹铃,当时间来到11:58的时候,系统将会闹铃。闹铃铃声有4种,如上图右侧图片所示,铃声由蜂鸣器产生,铃声1对应“滴”,铃声2对应“滴、滴”,铃声3和4依此类推。当闹钟时间到来的时候,产生闹铃,如图66.2.6.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第17张图片

图66.2.6.4 闹铃和语言设置
上图中,左侧的图片显示正在闹铃。此时会弹出一个闹钟的对话框,并显示当前时间,同时蜂鸣器发出“滴、滴、滴、滴”的闹铃声(铃声4)。按取消(或TPAD)可以关闭闹钟,按再响,则5分钟后(12:03)继续闹铃。右侧的图片为语言设置界面,系统支持3种语言设置,默认为简体中文,设置为繁体中文/English之后如图66.2.6.5所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第18张图片

图66.2.6.5 繁体中文和English
上图显示了繁体中文和English的设置,不过本章我们还是以简体中文为例进行介绍。下面,我们来看看数码相框设置和音乐播放器模式设置,如图66.2.6.6所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第19张图片

图66.2.6.6 数码相框设置和音乐播放器模式设置
前面提到数码相框支持全部循环播放和随机播放两种模式,就是通过上图左侧的界面设置的。而音乐播放器的三个播放模式,则通过右侧的界面进行设置。接下来看看板载喇叭开关设置和VS1053音量&3D设置,如图66.2.6.7所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第20张图片

图66.2.6.7 板载喇叭开关设置和VS1053音量&3D设置
上图中,左侧的界面可以设置板载喇叭是否开启,战舰V4板载了一个喇叭,在开发板的背面,可以通过这个设置来选择是否开启。默认是开启板载喇叭的,如果设置为关闭喇叭,则板载的喇叭不会发声,需要插耳机到PHONE端口,才可以听到开发板的声音。
上图右侧是VS1053音量&3D设置,可以设置VS1053的音量(在此处修改后,将写入EEPROM保存,而如果在音频播放的时候修改音量,是不会保存在EEPROM的),同时还可以设置3D效果,值越大,3D效果越强,默认是0,即关闭3D效果。
下面我们看看VS1053的音效设置和背光设置,如图66.2.6.8所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第21张图片

图66.2.6.8 VS1053音效(低音)设置和背光设置
上图中,左侧的界面用于设置VS1053的音效设置,VS1053有2个音效设置:VS1053低音设置和VS1053高音设置。这里我们仅以低音设置为例讲解,高音设置方法类似,这里就不列出来。图中的中心频率,即增益对应的频点,默认是60Hz,可以通过中心频率滚动条设置(20Hz150Hz),而增益默认设置的是15dB,也可以通过滚动条设置(范围:0dB15dB)。大家可以根据自己的喜好,来设置音效以达到最好的音乐享受。注意:系统设置里面对VS1053的设置,都是立即生效的,并且会保存在EEPROM里面,当这里设置好之后,其他用到VS1053来播放音乐的程序(音乐播放、TOM猫和NES游戏等),都会共用这些设置。
右侧的界面用于设置LCD背光,背光通过PWM控制。当设置为0的时候,启动自动(auto)背光控制,其他值则是固定的背光亮度,值越大越亮。自动背光的时候,通过板载的光敏传感器(在摄像头座右侧,LS1)采集环境光强,自动调整背光。
第14项,屏幕校准,这里因为我们用的是4.3寸电容触摸屏为例讲解的,电容屏不需要校准,所以这个设置对4.3屏模块无效。如果是电阻屏,点击该项则可以进入屏幕校准,根据提示完成校准即可。
接下来,我们看看系统文件更新,如图66.2.6.9所示:
在这里插入图片描述

图66.2.6.9系统文件更新
上图中,左侧是双击系统文件更新提示,这里的系统文件是指SYSTEM文件夹里面除字库文件外的所有内容。综合测试实验之所以可以没有TF卡也能正常运行,主要是将SYSTEM文件夹(注意这个不是源码里面的SYSTEM文件夹!!)拷贝到了SPI Flash Disk(即25Q128)里面,这样,我们所有的系统资源都可以从25Q128里面获得,从而正常启动。
SYSTEM文件夹目前是包含171个文件,总大小为6.33MB。这些文件一般不要修改,如果你想自己DIY的话,那可以修改这些文件,以达到你要的效果,不过建议修改之前备份一下,搞坏了还可以还原。
如果在图66.2.6.9的系统文件更新提示时选择确定,则会执行系统文件更新,将TF卡的SYSTEM文件夹(拷贝自光盘:5,SD卡根目录文件 里面的SYSTEM文件夹),拷贝到FLASH Disk里面。这里有个前提,就是你的TF卡里面必须有这个SYSTEM文件夹!更新时界面如图66.2.6.9右侧图片所示,该界面显示了当前更新的文件夹以及文件和进度等信息。
接下来,我们看看恢复默认设置和系统信息,如图66.2.6.10所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第22张图片

图66.2.6.10 恢复默认设置和系统信息
上图左侧图片为恢复默认设置功能确认界面,当选择确定后,系统将恢复默认设置,除了RTC时间日期以外的所有设置,都将恢复默认值,方便大家在设置乱以后,恢复正常。
上图右侧图片为系统信息界面,通过该界面,可以看到软硬件的详细信息。
最后,我们来看看系统状态和关于界面,如图66.2.6.11所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第23张图片

图66.2.6.11 系统状态和关于界面
上图中,左侧的界面显示了当前系统资源状况,显示了当前CPU使用率,CPU温度以及内存使用率。
右侧的图片显示了战舰 STM32F103开发板的软硬件版本以及产品序列号,这个序列号是全球唯一的,每个开发板都不一样。
66.2.7 FC游戏机
综合测试实验移植了一个非常强大的NES模拟器,核心部分采用汇编实现,效率极高,支持音频输出,支持MAP,支持绝大部分NES游戏的运行。综合性能超过infoNES。该模拟器由开源电子网(http://www.openedv.com/forum.php)论坛网友:ye781205编写,然后正点原子移植到本开发板上,即FC游戏机。
该FC游戏机特点如下:
1,支持MAP,可运行绝大部分小于960K的NES游戏。
2,支持FC游戏手柄(9针手柄,默认配送)。
3,支持声音输出。
4,支持全速运行(60帧@2.8/3.5寸屏),在4.3寸屏会放大4倍处理(480*480分辨率),帧率约43帧/秒
双击主界面的FC游戏机图标,屏幕会弹出提示对话框,如图66.2.7.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第24张图片

图66.2.7.1 双击FC游戏机后提示界面
提示信息告诉我们,战舰V4的P8跳线帽,要连接PB10与COM3_RX、PB11与COM3_TX,然后,将拨动开关(K1)打到JOYPAD位置,最后,将FC游戏手柄插入开发板的COM3接口。最后,在退出NES游戏后,需要将K1打到RS232位置,然后将ATK-GM196模块连接在COM3,才可以进行拨号等操作。
确认好这些操作以后,点击确定,进入nes文件浏览界面,如图66.2.7.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第25张图片

图66.2.7.2 文件浏览和超级玛丽游戏
上图中,左侧为nes文件浏览界面,我们随便选择一个打开即可开始游戏了,记得插上手柄哦!右侧的图片为经典的超级玛丽游戏界面,当然还可以玩很多其他经典游戏,如下面的图片所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第26张图片

图66.2.7.3 冒险岛和魂斗罗
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第27张图片

图66.2.7.4 三木童子和双截龙
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第28张图片

图66.2.7.5 炸弹人和SD快打

图66.2.7.6 洛克人和90坦克

这里,我们仅列出了几种游戏,这都是80后童年时玩的经典游戏,如今,在战舰V4开发板上,大家可以回味一下当年的经典了。
66.2.8 记事本
双击主界面的记事本图标,首先弹出模式选择对话框,如图66.2.8.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第29张图片

图66.2.8.1 模式选择和新建文本文件
记事本支持2种模式:1,新建文本文件,这种方式完全新建一个文本文件(以当前系统时间命名),用来输入信息。2,打开已有文件,这种方式可以对已有的文件进行编辑。
上图中,右侧的界面为我们选择新建文本文件后的界面,此时出现一个空白编辑区和一个闪烁的光标,我们通过下方的键盘输入信息即可,这个输入键盘和我们的手机键盘十分类似,输入方法也是一模一样,支持中文、字母、数字和手写识别输入等几种输入方式,如图66.2.8.2和图66.2.8.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第30张图片

图66.2.8.2中文输入和标点符号输入
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第31张图片

图66.2.8.3 英文输入和手写识别输入

其中,中文输入就是我们前面T9拼音输入法实验的具体运用,而手写识别的输入界面,我们也是用到前面手写识别实验的知识实现的。
只要新建文本文件有被编辑过,那么在返回(按TPAD返回)的时候,系统会提示是否保存,如图66.2.8.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第32张图片

图66.2.8.4保存提示和编辑已有文件
上图中,左侧图片为提示保存界面,如果选择确定,该文件将被保存在TF卡根目录的TEXT文件夹里面。右侧图片为打开已有文件进行编辑的界面,这样我们就可以在开发板上编辑.txt/.h/.c/.lrc文件了。
66.2.9 运行器
双击主界面的运行器图标,首先进入文件浏览界面,如图66.2.9.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第33张图片

图66.2.9.1文件浏览和运行警告
上图中,左侧为文件浏览界面,图中显示了可运行的bin文件有3个,这些全部来自我们的标准例程对应的实验。本运行器支持55K字节以内的程序运行(FLASH+SRAM总共不超过55K),很多例程都可以生成SRAM版本的bin文件,在运行器里面运行。SRAM版本.bin文件的生成办法,请参考串口IAP实验这个章节,里面有详细介绍。通过运行器,大家可以直接运行我们大部分例程,而不用再去刷代码了,方便大家测试和验证我们的实验。
右侧的图片是运行前的警告界面,因为一旦执行.bin文件,我们的系统将无法恢复,只能靠复位重启。点击确定之后,STM32就开始运行你所选择的.bin文件了,实验现象和对应实验所描述的现象一模一样。
66.2.10 手写画笔
双击主界面的手写画笔图标,首先弹出模式选择对话框,如图66.2.10.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第34张图片

图66.2.10.1模式选择和新建画板
上图中,左侧图片为我们双击手写画笔后,弹出的模式选择界面,我们可以选择新建画笔,建立一个新的文件;也可以选择打开一个已有的位图进行编辑。右侧的图片为我们新建画笔后输入的内容,默认画笔为最小尺寸,颜色为红色。画笔的颜色和尺寸是可以设置的,按KEY_UP按键,则弹出画笔设置对话框,然后,可以对画笔颜色和画笔尺寸进行设置。如图66.2.10.2和图66.2.10.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第35张图片

图66.2.10.2画笔设置和画笔颜色设置
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第36张图片

图66.2.10.3画笔尺寸设置和完成后的画图
图66.2.10.2中,左侧的图片为按KEY_UP按键后弹出的画笔设置对话框,我们可以选择对画笔颜色和画笔尺寸进行设置。右侧的图片为画笔颜色设置对话框,在该对话框里面,我们可以直接在颜色条快速输入要设置的颜色,也可以通过下方的三个滚动条进行精确设置,左侧的正方形区域为预览区。
图66.2.10.3中,左侧为画笔尺寸设置界面,我们可以通过滚动条设置画笔尺寸,对话框显示了画笔尺寸和对应的预览图。右侧的图片为我们完成的画图文件,在返回主界面(按TPAD)的时候,会提示保存,如图66.2.10.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第37张图片

图66.2.10.4保存画图和编辑已有位图
上图中,左侧为我们退出时弹出的提示保存对话框,如果选择确定,则新的画图文件将会被保存在TF卡的PAINT文件夹里面,命名方式是以当前系统的时间命名的,如PAINT20220620193550.bmp。
右侧的图片为对打开的位图进行编辑的界面,通过这个功能,我们可以在开发板上实现对一些相片(bmp格式)进行涂鸦。
66.2.11 照相机
本照相机支持正点原子OV7725这款30W像素的CMOS摄像头模块,本照相机的特点有:
1,支持BMP拍照(拍下的bmp分辨率为LCD分辨率),按KEY_UP拍BMP照片。
2,支持30帧全速预览。
3,支持各种参数设置,包括:场景、特效、曝光、亮度、色度和对比度等。
双击主界面的照相机图标,首先初始化OV7725摄像头模块,如图66.2.11.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第38张图片

图66.2.11.1 初始化OV7725
在初始化OV7725之后,进入等待拍照模式,右侧的等待拍照时,显示区域只有一部分,并没有全屏显示,因为正点原子OV7725模块,输出分辨率一般是用240320,而我们演示用的屏幕分辨率为480800,所以,只有一部分区域有图像显示,其他区域用黑色填充。
此时我们可以通过点击屏幕,弹出相机设置对话框,对摄像头的参数进行设置,如图66.2.11.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第39张图片

图66.2.11.2 相机设置
在相机设置界面,我们可以对很多参数进行调节。
再来看看场景设置和特效设置,如图66.2.11.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第40张图片

图66.2.11.3 场景设置和特效设置
场景设置支持6种常用场景,特效设置支持6种特效(不含普通模式),我们可以根据自己的需要选择。
接下来看看亮度设置和色度设置,如图66.2.11.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第41张图片

图66.2.11.4 亮度设置和色度设置
亮度设置和色度设置各支持7个档位调节,我们可以根据自己的需要选择,默认都是-1的。
最后,看看对比度设置和拍照实现,如图66.2.11.5所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第42张图片

图66.2.11.5 对比度设置和拍照
同样,对比度也支持7个档位设置,默认为-1。在个参数设置好之后,我们按下KEY_UP按键,就会执行拍照操作,在照片保存期间LED1亮,保存完后蜂鸣器发出“滴”的一声,提示拍照成功,同时弹出拍照成功对话框,如上图右侧图片所示。
从上图可以看出,照片文件的命名还是以当前时间为名字命名的。我们将所有的照片都保存在TF卡的PHOTO文件夹。如果你没有插入TF卡,拍照时会提示“创建文件失败,请检查!”的提示信息。
另外,如果你觉得照片模糊,可以手动调节摄像头模块的镜头,进行调焦,以达到最佳效果。
66.2.12 录音机
综合测试实验带了录音机功能,可以实现通过MIC(咪头)录音,并将录音文件保存在TF卡。录音文件为WAV文件,格式为:单声道、16位、8Khz采样率。
双击主界面的录音机图标,进入录音机主界面,如图66.2.12.1左侧图片所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第43张图片

图66.2.12.1 录音机主界面和麦克风增益设置
图中,左侧图片为录音机主界面,该界面显示了当前录音时间以及信号电平等,在该界面有两个按钮:左边的按钮用于开始/暂停录音,右边的按钮用于停止录音,并保存当前录音文件。
图中,右侧图片为麦克风增益设置界面,通过点击主界面左下角的选项按钮,可以弹出麦克风增益设置界面,麦克风增益设置,可以调节咪头(MIC)的灵敏度(其实就是调节:AGC),设置范围为:0~15,值越大,增益越高。0代表自动增益,默认的增益值为4。
我们在录音机主界面点击录音按钮,则开始录音,如图66.2.12.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第44张图片

图66.2.12.2 录音进行中和提示保存
在图66.2.12.2中,左侧的图片为正在录音的界面,此时我们可以按暂停/停止,按停止则自动保存当前录音文件,录音文件同样是以时间命名(见图中上方白字),所有录音文件都是被保存在TF卡根目录的RECORDER文件夹里面的。在录音的时候,按下TPAD,会提示是否保存,如上图右侧图片所示,我们可以根据需要选择。
66.2.13 USB连接
双击主界面的USB连接图标,如果开发板的USB端口没有连接电脑,则显示无连接,如图66.2.13.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第45张图片

图66.2.13.1 USB无连接和USB读数据
上图中,左侧的图片显示开发板没有和电脑连接上,此时,我们找一根USB线,连接开发板的USB_Slave端口和电脑的USB,然后,可以看到开发板提示USB已连接,并显示USB正在读数据,同时我们在电脑上面,可以看到右下角提示发现新硬件,并自动安装驱动(如果是第一次连接的话),如图66.2.13.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第46张图片

图66.2.13.2 电脑发现新硬件
此时,我们打开我的电脑,即可找到可移动磁盘,如果有TF卡插入,那么会显示两个磁盘:ALIENTEK磁盘和TF卡磁盘。如果TF卡没插入,则只显示ALIENTEK磁盘。这里的ALIENTEK磁盘即开发板板载的SPI FLASH Disk。
这样,我们就实现了开发板和电脑的USB连接,可以直接从电脑拷贝文件到开发板的TF卡和SPI Flash Disk(即25Q128)。
这里再次提醒大家,如非必要,不要往SPI Flash Disk写入数据!否则容易写坏SPI FLASH。
66.2.14 网络通信
开发板板载了一个10M/100M自适应以太网接口,可以实现网络通信。本系统的网络通信,就是给大家演示开发板的网络通信功能。
本系统自带的网络通信具有如下特点:
1,支持DHCP,当DHCP失败时,使用静态IP(静态IP地址为:192.168.1.100)。
2,自适应网线(支持交叉和直连网线)。
3,支持TCP Client、TCP Server和UDP等测试。
特别注意:本测试,必须在开发板网口接入网线,并连接正常后,才可以进行测试。也就是必须用网线连接开发板和电脑/路由器,才可以进行测试,否则,系统将使用默认IP地址:192.168.1.100!!!
双击主界面的网络通信图标,开始网卡初始化,在网卡初始化成功后,开始DHCP获取IP地址,在DHCP成功后,进入网络通信主界面,如图66.2.14.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第47张图片

图66.2.14.1 初始化网卡和网络通信主界面
上图中,左侧图片显示正在初始化网卡,此时,我们需要在开发板的网口插入网线,并连接电脑或者路由器。初始化网卡成功后,则开始DHCP获取IP地址:
1,开发板连接到路由器,此种方式,DHCP一般可以成功获取IP地址。
2,如果是直接连接电脑,那么DHCP肯定失败,最终会使用静态IP地址:192.168.1.100,此时需要设置电脑IP地址为192.168.1.XXX,其中XXX可以由用户自己随意设置(但是不能是1和100)。
这里我们以直接连接到电脑为例,DHCP获取失败后,进入网络通信主界面,如图66.2.14.1右侧图片所示,该界面显示了开发板网卡的详细设置和参数,包括:本机MAC地址、本机IP地址(DHCP获取)、子网掩码、网关和网速等。
能进入网络通信主界面,说明开发板与电脑的连接已经正常了,可以在电脑端ping屏幕显示的IP地址,即可查看网络是否连接正常,如图66.2.14.2所示:
在这里插入图片描述

图66.2.14.2 ping 192.168.1.100成功
从上图可以看出,ping开发板IP地址是成功的,说明网络连接正常了。
点击图66.2.14.1右侧图片所示的开始测试,即可进入:TCP Server、TCP Client和UDP的测试界面,如图66.2.14.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第48张图片

图66.2.14.3 TCP&UDP测试界面和协议选择
从图66.2.14.3 左侧图片可以看出:最顶部,显示了TCP Server的本机IP地址和端口号,其中IP地址是白色,表示不可以设置;端口号是绿色,表示可以设置,设办法:触摸点击该区域,看到光标闪烁后,即可输入数字进行设置。随后,显示TX,RX,和协议等三个信息,分别代表发送接收的数据量,和当前所使用的协议类型。
然后就是一个接收区和发送区,分别用于显示接收到的数据,和发送的数据。这个同电脑端的网络调试助手一样。右边的协议选择按钮,可以选择不同协议(如图66.2.14.3右侧图片所示),该选择按钮只有在连接断开的时候,才有效。连接按钮,用于启动连接(TCP Server/TCP Client和UDP等),连接结果会有对话框提示(成功或者失败)。清除接收按钮,则可以清除接收区的所有数据,同时清除RX和TX计数器。发送按钮,则用于发送数据,每按一次,发送区的数据就发送一次。
进入TCP&UDP测试后,协议默认选择的是TCP Server,可以通过协议选择按钮,选择不同协议(TCP Server、TCP Client和UDP),如上图右侧图片所示。
我们使用默认的TCP Server端口号(8088),然后点击链接,提示:连接成功后,即可开启开发板的TCP Server服务,然后在电脑端,打开网络调试助手,设置正确的网络参数后(如不懂设置方法,请参考《网络开发指南》对应测试部分,下同!!),即可连接上开发板的TCP Server,并互相通信,如图66.2.14.4所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第49张图片

图66.2.14.4 TCP Server测试和TCP Client参数设置
上图中,左侧图片为TCP Server测试界面,可以看到,我们收到来自电脑的数据,接收数据时,首先会在接收区提示收到的数据来自何处(即电脑端的IP地址,本例可以看出,电脑IP地址为:192.168.1.10),随后才是电脑端发送过来的数据。同时,我们也发送了一些数据给电脑(电脑端网络调试助手可以看到,这里就不截图出来了)。此时,协议选择按钮变为了灰色,处于无效状态。只有在断开连接后,才可以选择新的协议。
TCP Client的测试如图66.2.14.4中右侧图片所示,我们选择了TCP Client协议之后,顶部IP变为了目标IP,也就是TCP Client要连接的IP地址,我们可以根据自己需要设置对应的IP地址和端口号。这里,我们设置为:192.168.1.100,端口为:8088。注意:这里的IP和端口号,要根据自己电脑的实际情况修改。随后需要在电脑端开启网络调试助手,并设置正确的网络参数(主要是端口号和IP地址),然后开启TCP Server服务。
TCP Client测试必须等电脑端TCP Server服务开启后,我们才可以在开发板点击连接,并连接成功,否则肯定是连接失败的。连接成功后,TCP Client的测试如图66.2.14.5所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第50张图片

图66.2.14.5 TCP Client测试和UDP测试
上图中,左侧为TCP Client测试界面,右侧为UDP测试界面,这两个测试界面和TCP Server差不多,请参考前面的介绍。
UDP的测试,同TCP Client基本一样,也是先设置目标IP和端口号,然后按连接,进行测试。UDP测试的时候,一般需要开发板先发送一次数据给电脑端的网络调试助手,随后才可以实现数据互发。UDP测试界面如图66.2.14.5右侧图片所示。 注意:UDP不是基于可靠连接的通信,所以程序提示连接成功的时候,仅仅是个提示作用,并不是说就一定连接上了目标IP和端口号,因此,不一定能成功发送数据给对方,这个在使用的时候,要注意。
网络通信就为大家介绍到这里。
66.2.15 无线传书
该功能用来实现两个开发板之间的无线数据传输,在开发板A输入的内容,会在开发板B上完整的“复制”一份,该功能需要2个战舰V4开发板(也可以一个战舰板与精英板或探索板或 Mini板搭配用,不过都要刷综合实验!!)和2个NRF24L01无线模块。
双击主界面的无线传书图标(假定开发板已插上NRF24L01无线模块),会先弹出模式选择对话框,如图 66.2.15.1 所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第51张图片

图66.2.15.1 模式选择和发送模式
从左侧的图片可以看出,模式设置,我们可以设置为发送模式或接收模式。右侧的图片则是选择发送模式后进入的界面。我们在另外一块开发板(开发板B)设置模式为接收模式,然后在本开发板(开发板A)手写输入一些内容,就可以看到在另外一个开发板也出现了同样的内容,如图 66.2.15.2 所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第52张图片

图66.2.15.2 在开发板A输入的内容完整的显示在开发板B上
从上图可以看出,在开发板A上输入的内容,被完整的复制到开发板B上了。这就是无线传书功能。
66.2.16 计算器
本开发板实现了一个简单的科学计算器,可以计算加减乘除、开方、平方、M^N次方、正弦、余弦、正切、对数、倒数、格式转换等一些常见的计算器功能,精度为12位,支持科学计数法表示。双击主界面的计算器图标,进入计算器主界面,如图66.2.16.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第53张图片

图66.2.16.1 计算器主界面和加法计算
上图中,左侧的图片为科学计算器的主界面,和我们手机用的计算器基本一样,使用上非常简单,我们就不详细介绍了。右侧的图片为加法计算,支持累加功能。
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第54张图片

图66.2.16.2 计算器主界面和加法计算
上图为乘法计算和倒数计算,可以看到,结果是以科学计数法表示的,最大支持200位指数表示,超过范围直接显示错误(E)。
该计算器还支持格式转换(按FMT键),可以将十进制数据(最大为65535,超过部分将被丢弃)转换为16进制/二进制数据表示,如图66.2.7.3所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第55张图片

图66.2.16.3 格式转换
上图显示我们将十进制的65535转换为16进制/二进制后的表示。计算器的其他功能,我们就再列举了,感兴趣的朋友可以慢慢摸索,当然也可以在这个基础上进行改进。通过按TPAD可以返回主界面。
66.2.17 拨号
本综合实验支持拨打和接听电话,不过需要正点原子 ATK-GM510/ATK- GM196模块的支持,所以本功能的测试,请先确保有4G模块,并连接成功(详见66.2节开头部分)。
双击主界面的拨号图标,进入拨号界面,如图66.2.17.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第56张图片

图66.2.17.1 拨号主界面和拨号
上图中左侧图片就是拨号主界面,这个和手机拨号是一样的。右侧是我们输入的拨号号码,点击拨号图标,即可进行拨号。如图66.2.17.2所示。
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第57张图片

图66.2.17.2 拨号中和通话中
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第58张图片

图66.2.17.3 来电和接听来电
图66.2.17.2为拨号和拨通后的通话界面。图66.2.17.3为来电和接听来电后的通话界面,此时蜂鸣器会发出“滴、滴”的提示声,提示有电话呼入。其他的操作和我们智能手机基本一模一样,就无需多说了。
注意,在通话状态,如果按TPAD,则会挂断电话,结束通话。
66.2.18 应用中心
双击主界面的应用中心图标,进入应用中心界面,如图66.2.18.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第59张图片

图66.2.18.1 应用中心和红外遥控测试
左侧图片是我们刚进入应用中心看到的界面,在该界面下总共有16个图标,我们仅实现了第一行四个功能:红外遥控、蜂鸣器、LED测试、按键测试。其他都没有实现,大家可以自由发挥,添加属于自己的东西。
双击第一个图标,会弹出一个红外遥控的小窗口,用于接收红外信号,此时,我们将红外遥控对准开发板的红外接收头,并按下按钮,就可以在红外遥控窗口里面显示键值、按键次数、符号等信息。如图66.2.18.1右侧图片所示。
按TPAD可以退出红外遥控功能,返回应用中心主界面,然后按第二个图标,即可进入蜂鸣器测试界面。蜂鸣器功能用于测试蜂鸣器,通过触摸屏来控制蜂鸣器响或不响。
进入蜂鸣器测试窗口后,就可以通过点击显示屏的“打开”按钮,让蜂鸣器响。此时“打开”按钮变成“关闭”按钮,之后点击“关闭”按钮则会关闭蜂鸣器,“关闭”按钮又会变成“打开”按钮,如图66.2.18.2所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第60张图片

图66.2.18.2 蜂鸣器功能测试
按TPAD,则会退出蜂鸣器测试功能,回到应用中心主界面。然后按第三个图标,即可进入LED测试界面。LED测试功能用于测试板载的LED灯,通过触摸屏来控制LED灯的亮灭。
进入LED测试窗口后,默认LED灯全部熄灭,显示屏的两个实心圆显示白色,如图66.2.18.3左侧图所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第61张图片

图66.2.18.3 默认没有按键按下和按下DS0亮按键
我们可以通过点击显示屏的“DS0亮”和“DS1亮”这2个按钮,来控制板载LED灯亮。比如点击“DS0亮”按钮,那么DS0对应的实心圆就变成红色,如图66.2.18.1右侧图所示,此时LED0红灯也会亮。LED1灯的控制方法类似的。
按TPAD,则会退出LED测试功能,回到应用中心主界面。然后按第四个图标,即可进入按键测试界面。按键测试功能用于测试板载的四个功能按键。
进入按键测试窗口后,此时,如果没有任何按键被按键,默认显示屏上显示四个黄色的实心圆(KEYUP、KEY2、KEY1、KEY0),如图66.2.18.4左侧图所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第62张图片

图66.2.18.4 默认没有按键按下和按下KEY1按键
当我们按下其中一个按键,则对应的实心圆会显示红色,比如按下按键KEY1,显示屏的实心圆KEY1变红色,如图66.2.18.4所示,此后松开KEY1按键,该实心圆又变回黄色。注意:当有两个或两个以上按键被同时按下,只有其中一个有效。
按TPAD,则会退出按键测试功能,回到应用中心主界面,再按一次TPAD就可以返回主界面。
66.2.19 电压表
电压表功能用于测量03.3V的直流电压源,可以是开发板上的电压源,也可以是外部的,但是电压的范围一定要是03.3V,否则容易烧毁STM32芯片。
下面我们一起来测量板载的可调电位器的电压,双击主界面的电压表图标,屏幕会弹出提示对话框,如图66.2.19.1所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第63张图片

图66.2.19.1 双击电压表后提示界面
提示信息告诉我们,需要使用短路帽将多功能端口P10的DAC和RV1排针连接。
进入电压表功能后,就可以通过调节可调点位旋钮改变接入ADC的电压,从而在屏幕上显示不同的电压值,如图66.2.19.2左侧图所示:
【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2_第64张图片

图66.2.19.2 调节电位器得到不同电压和最大允许接入3.3V电压
上图中,ADC值是电压的数字值,Uin值是经过转换后的实际电压。由于STM32F103的ADC最大分辨率是12位,所以电压的数字值范围是0~4095。
当我们把可调电压值调至最大,就可以得到3.3V的最大输入电压,如图66.2.19.2右侧图所示。电压的数字值是4095,对应的实际电压是3.3V。
至此,开发板的综合测试实验就介绍完了。其中,参考了不少网友的代码,对这些网友表示衷心的感谢,同时我也希望我们的这个代码,可以让大家有所受益,能开发出更强更好的产品。
综合实验整个代码编译后大小为452K左右(-O0优化后),代码量是非常的大,希望大家慢慢理解,各个攻破,最后祝大家身体健康、学习进步!

你可能感兴趣的:(stm32,嵌入式硬件,单片机)