放在org_data[]数组中,根据@@Ea的格式内容即可定位所需信息的位置。数组中所存放的是二进制数,为了能显示还需将其转换为ASCII码的形式,因此还提供了以下4个函数来实现此功能,分别是:hextobcdtoascii_two(unsigned int hexs_two,unsigned char num_two)、hextobcdtoascii_four(unsigned int hexs_four,unsigned char num_four)、hextobcdtoascii_nine(unsigned long int hexs_nine,unsigned char num_nine)和init_msgbuff(unsigned char *dataptr, unsigned char *buffptr),其中前3个分别是实现将二进制数转换成两位、四位和九位的ASCII码形式,最后一个函数是实现将代码段中的字符串存入数据存储区内,用以实现将字符串显示在液晶显示器上。 程序运行后,在液晶上显示的结果为: DATE: ?1-01-2004 TIME 爃07:m50:s10 LATITU: 牋0028?44 ?//经度为28°44′,因为表示度的小圆圈不好显示,所以用问号?表示度。 LONGIT: 牋0115?51 ?//纬度为115°51′ HIGH: 牋 0145 牋ft ?//高度为145英尺 结 语 在需要实时、准确地获取空间位置和时间信息的场合,如环境监测与保护工程、交通调度等,该设计可嵌入到此类远程移动监控系统中。 |