|
还没注册吗?一起加入来玩吧!
您需要 登录 才可以下载或查看,没有帐号?注册
x
女朋友的毕业论文 碰到了不熟悉的东西~~
希望有朋友能相助~~
小弟 在此口头先谢过了~~~
麻烦了~~ 应该是需要什么OS2系统的 只求,相助 做个实验~~~ 测试什么的
时间也比较急~~ 4月初就要的~~~
小弟无以为报~~~ 如事情顺利圆满~~ 可以考虑“自宫”8-9新 deore 自行车零件一个作为酬谢~~~~
可以加本人qq 祥聊~~~ 30928449
msn: jameslee1123@msn.com
具体东西 如下~~
目录
第1 章GPRS/GPS 实验.......................................................................................
1
1.1.1 GPS 实验..........................................................................................................
1
1.1.2 GPRS 实验........................................................................................................
3
i
第1章 GPRS/GPS 实验
1.1.1 GPS 实验
1. 实验目的
通过实验,能够使用GPS 驱动中间件来获取GPS 地理信息。
2. 实验设备
.. 硬件:PC 机一
台
SmartARM2200 教学实验开发平台一
套
GPS 模块一
套
.. 软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环
境
μC/OS-II 操作系统(V2.52),GPS 驱动中间
件
3. 实验内容
使用GPS 驱动中间件,先初始化GPS ,然后启动GPS,发送相关命令,等待接收地理
数据,获取的信息被保存到GPS_DATA 这个结构体变量中,用户可以在变量窗口中观察该
变量的值。
4. 实验预习要求
仔细阅读参考文献[1]第5.11节的UART的内容,了解GPS驱动中间件。
仔细阅读参考文献[2]第1章的内容,了解SmartARM2200 开发平台的硬件结构。
5. 实验步骤
(1)启动ADS 1.2 ,使用ARM Executable Image for UCOSII(for lpc2200) 工程模板,在
uCOSII 目录下建立一个工程GPS。
(2)将GPS 驱动中间件gps_handle 与ARM 、ARM_PC、SOURCE 等文件,一起拷贝到
uCOSII 目录下,如图 1.1 所示。其中gps_handle 、ARM 和ARM_PC文件夹见产品配套光盘。
SOURCE文件夹应该包含uC/OS-II v2.52源代码。
图 1.1 GPS 项目目录结构
(3)在ADS的工程中添加GPS组,并将uCOSII\gps_handle 目录下的GPS_HANDLE.C 和
GPS_CPU_PORT.C文件添加到GPS组中。在项目中的config.h文件中加入“#include
"..\gps_handle\gps_handle.h" ”。其中GPS驱动中间件gps_handle文件夹见产品配套光盘。
(4)更改GPS\src\Os_cfg.h文件,配置OS_MAX_EVENTS为20。
(5)在工程的target 组的irq.s文件最后,增加UART中断服务程序的汇编语言部分代码
“Uart0_Handler HANDLER IRQ_UART ”。
(6)在工程的target 组的target.c 文件中的VICInit 函数,添加向量中断的初始化代码,如
程序清单 1.1所示。
程序清单 1.1 UART0 中断初始化代码
extern void Uart0_Handler(void);
VICVectAddr11 = (uint32)Uart0_Handler;
VICVectCntl11 = (0x20 | 0x06);
VICIntEnable = 1 << 6;
(7)打开工程窗口user 组中的main.c 文件,编写实验程序并保存,程序代码如程序清
单 1.2所示。
(8)将SmartARM2200 教学实验开发平台上的JP10跳线选择Bank0-RAM,Bank1-Flash,
把GPS的串口和开发平台上的CZ2串口插座连接起来。GPS模块串口上的J2分
别与开发平台上J5(GPIO插针)的+5V和GND相连,如图 1.2所示。
UART0 串口线
J1 CZ2
GPRS SmartARM2200
interface
J2
+5V
GND
+5V
GND
J5
图 1.2 GPS 与开发板的接线简图
(9)选用DebugInExram 生成目标,然后编译链接工程。之后选择【Project】->【Debug 】,
启动AXD进行JTAG 仿真调试。
(10)全速运行程序,在运行几秒钟后停下来,观察GPS_DATA 这个结构体变量,察
看对应所获取的数据。
6. 实验参考程序
GPS 实验参考程序如程序清单 1.2所示。
程序清单 1.2 GPS 实验参考程序
#include "config.h"
#include "stdlib.h"
#define TaskStkLengh 64 //Define the Task0 stack length 定义用户任务0 的堆栈长度
OS_STK TaskStk [TaskStkLengh]; //Define the Task0 stack 定义用户任务0 的堆栈
void Task0(void *pdata); //Task0 任务0
int main (void)
{
OSInit ();
OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2)
;
OSStart ()
;
return 0;
}
/*******************************************************************************************
** Task0 任务0
*******************************************************************************************/
void Task0 (void *pdata)
{
pdata = pdata;
TargetInit ();
ZLG_GPS_Initial(); //GPS 初始化
ZLG_GPS_START_Command(); //发送GPS 启动命令
ZLG_GPS_Send_AAC_Command(); //发送AAC 命令
while (1)
{
OSTimeDly(10);
}
}
7. 思考
分析GPS驱动中间件的ZLG_GPS_Initial()函数是如何初始化GPS任务的?
1.1.2 GPRS 实验
1. 实验目的
通过实验,能够使用GPRS驱动中间件来进行GPRS远程通讯。
2. 实验设备
.. 硬件:PC 机一
台
SmartARM2200 教学实验开发平台一
套
GPRS PACK 及手机卡一
套
.. 软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环
境
μC/OS-II 操作系统(V2.52),GPRS 驱动中间
件
3. 实验内容
使用GPRS驱动中间件,先初始化GPRS,然后进行拨号实验。
4. 实验预习要求
仔细阅读参考文献[1]第5.11 节的UART1 的内容,及GPRS 驱动中间件。
仔细阅读参考文献[2]第1 章的内容,了解SmartARM2200 教学实验开发平台的硬件结
构,注意Modem 接口部分的电路。
仔细阅读GPRS 的使用手册及AT 指令集的相关资料。
5. 实验原理
本实验是通过SmartARM2200 教学实验开发平台的CZ3 与GPRS PACK 连接,程序首
先初始化GPRS,初始化成功后进行拔号,实现手机拨号的实验。
GPRS 驱动中间件提供的API 函数以及资源占用情况如下:
API 函数:初始化GPRS,通过GPRS 拔号,GPRS 发送短信,GPRS 读取短信,GPRS
接电话等。
外设资源占用:LPC2210 的UART1
μC/OS-II 资源占用:3 个信号量
6. 实验步骤
(1) 启动ADS 1.2 ,使用ARM Executable Image for UCOSII(for lpc2200) 工程模板,并在
UCOSII 目录下建立一个GPRS_T 工程。
(2) 打开工程窗口user 组中的main.c 文件,编写实验程序并保存, 将ARM 和SOURCE
文件,一起拷贝到UCOSII 目录下。如图 1.3 所示。
图 1.3 GPRS 项目目录结构
(3) 更改GPRS_T\src\Os_cfg.h 文件,配置OS_MAX_EVENTS 为20。
(4) 将GPRS 驱动中间件的两个文件GPRS.c、GPRS.h 复制到GPRS_T\src 目录下,然
后将GPRS.c 添加到工程的user 组中。在项目中的config.h 文件中加入“#include
"GPRS.h"”。并修改config.h 文件,删除“#include "../arm_pc/pc.h" ”这行。(该程序没有使
用pc.h 文件)。其中GPRS 驱动中间件的GPRS.c、GPRS.h 文件见产品配套光盘。
(5) 在工程的target 组的irq.s 文件最后,增加UART1 中断服务程序的汇编语言部分代
码“UART1_Handler HANDLER UART1_Exception”。
(6) 在工程的target 组的target.c 文件中的VICInit 函数,添加UART1 向量中断的初始
化代码,如程序清单 1.3 所示。
程序清单 1.3 GPRS 通讯实验—UART1 向量中断初始化
extern void UART1_Handler(void)
;
VICVectAddr14 = (uint32)UART1_Handler;
VICVectCntl14 = (0x20 | 0x07)
;
VICIntEnable = 1 << 7;
(7) 将SmartARM2200 教学实验开发平台上的JP1、JP8 断开,JP3 短接,JP10 跳线选
4
123
择Bank0-RAM,Bank1-Flash,GPRS PACK 板接上天线和手机卡,JP3 的1、2 全部短接,
将GPRS PACK 板上的J2 口通过串口延长线与和开发平台上的CZ3 连接,并接上耳机和话
筒。然后在GPRS PACK 板的J10 接上12V 电源,接线简图如图 1.4 所示。按照以上步骤,
应该可以看到GPRS PACK 板上的POW 灯亮,按一下GPRS PACK 板上的上电复位按钮
RST,按完后等待约一秒,应该可以听到蜂鸣器“嘟”的声音,然后继续等待GPRS PACK
板上的LED 灯闪烁(大约需要5 秒)。
J4 ER
J3 MIC
天线接口
GPRS
UART1
串口线
SmartARM2200
interface
CZ3
外接12V电源J10 J2
+12V JP3
GND
图 1.4 GPRS 与开发板接线简图
(8) SmartARM2200 教学实验开发平台上电。
(9) 选用DebugInExram 生成目标,然后编译链接工程。之后选择【Project】->【Debug 】,
启动AXD 进行JTAG 仿真调试。
(10) 全速运行程序,等耳机发出拨号的声音。
7. 实验参考程序
GPRS 通讯实验的参考程序见程序清单1.4 和程序清单1.5。调试时拔号的号码为“1860”,
用户可以根据实际情况修改拨号的号码。
程序清单1.4 GPRS 通讯实验—main()函数
int main (void)
{
OSInit();
OSTaskCreate(Task0, (void *)0, &TaskStk[TaskStkLengh - 1],2);
OSStart();
return 0;
}
程序清单1.5 GPRS 通讯实验—数据接收发送任务
void Task0 (void *pdata)
{
pdata = pdata; /* 避免编译警告 */
TargetInit(); /* 目标板初始化*/
ModemInit(19200);
ModemDialUp("1860"); /* 拨号到1860 */
for (;;)
{
OSTimeDly(200);
}
}
5
8. 思考
分析GPRS 驱动中间件的ModemInit () 函数是如何初始化GPRS 的?
6
参考文献
1. 周立功等编著.ARM 嵌入式系统基础教程.北京航空航天大学出版社,2004 年.
2. 周立功等编著.ARM 嵌入式系统实验教程(二).北京航空航天大学出版社,2005 年.
7 |
|