DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 150|回复: 0
打印 上一主题 下一主题

ARM的综合实验

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-25 13:10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ARM的综合实验
一、实验目的
学习做一个复杂的应用程序的方法和程序结构,结合应用以前16 次实验所学到的知识,
编写一个比较综合的应用。
二、实验内容
用一个列表框作为主菜单,通过键盘可以选择功能,主要的功能有:显示bmp 文件、
设定系统时间、USB 下载。同时,使用文本框控件作为系统的一个状态条,显示提示信息
和系统的时间。
三、预备知识
1、用ARM SDT 2.5 集成开发环境,编写和调试程序的基本过程。
2、基于操作系统的应用程序的框架结构。
3、会使用Source Insight 3 编辑C 语言源程序
4、会使用消息循环响应键盘消息
5、会使用文本框控件和列表框控件
6、会编写通过USB 连接下载的程序
7、会控制系统的时钟和多线程
8、会使用系统的绘图函数显示图片
9、会使用系统的文件相关函数列出指定类型的文件
四、实验设备及工具(包括软件调试工具)
硬件:ARM 嵌入式开发板、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentumn100 以

软件:PC 机操作系统win98、ARM SDT 2.51 集成开发环境、仿真器驱动程序、Source
Insight 3.0、超级终端通讯程序、USB 下载程序
五、实验步骤
1、在ARM SDT 2.51 中,使用实验一中创建好的模板,新建一个项目work1。把操作
系统的所需要的头文件(*.h)和库文件(*.alf)加入工程中。
2、用Source Insight 3 创建一个工程,把work1 中的C 语言源文件文件加入。
3、打开Main.c 文件,在Main_Task 任务中添加代码,使系统启动的时候,创建一个列
表框作为系统的选项菜单,添加三个字符串到列表框中,作为功能菜单,包括:绘制图形、
设置时间、USB 下载。创建两个文本框,其中一个作为系统的状态提示,另一个用来显示
系统时间。启动消息循环, 响应键盘消息(OSM_KEY)和列表框被改变的消息
(OSM_LISTCTRL_SELCHANGE)。Main_Task 的流程如图17-1 所示。



4、在Main_Task 任务中再创建一个新的任务,此任务负责实时的更新显示系统的时间.
其流程图如图:17-2 所示。



提示:
1、用CreateTextCtrl 函数创建文本框,SetTextCtrlText 函数设置文本框中的内容。
2、用CreateListCtrl 函数创建列表框,ReLoadListCtrl 函数装载一组字符串。
3、使用OSTaskCreate 来创建系统任务。在uCOS-II 系统中,任务的优先级是不能
相同的。比如:Main_Task 任务的优先级是12,Key_Scan_Task 任务的优先级是56。目
前使用的uCOS-II 的版本只支持64 个任务,包括,还有8 个系统任务,用户可以使用
的任务是56 个。创建任务的时候,需要选择合适的任务优先级(比如:14)。
4、通过SetTextCtrlEdit 函数设置文本框是否处于编辑状态,使用TextCtrlDeleteChar
和AppendChar2TextCtrl 函数在文本框中删除和追加字符。
5、键盘消息是OSM_KEY,列表框选择改变消息是OSM_LISTCTRL_SELCHANGE
6、使用Rtc_IsTimeChange 函数,判断系统的时钟对应的某一位是否改变。用
Rtc_Format 格式化系统的时钟格式得到Unicode 字符串,可以方便的显示到文本框控件
里。
7、可以使用一个指针函数的数组装载系统的各个功能(绘制图形、设置时间、USB
下载)函数,便于管理。如下面的程序所示:
void *MainFunction[]={(void*)OnDrawBmp,(void*)OnSetTime,(void*)OnUsb_Download};
其中,OnDrawBmp,OnSetTime,OnUsb_Download 函数就是对应的绘制图形、设置
时间、USB 下载功能函数。可以使用如下程序所示的方法调用指定序列的函数:
( (void (*)(void)) (MainFunction[pMainListCtrl->CurrentSel]) )();
其中,pMainListCtrl 表示指向系统主功能文本框的指针。
7、用ARM SDT 2.5 编译、下载并调试上述程序,检查运行结果
8、生成发行版本的.bin 文件,通过USB 下载到嵌入式开发板中,运行并检查输出结果。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-18 02:39 , 耗时 0.116759 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表