📄 gps.lis
字号:
01CA .dbline 123
01CA ; availability_flag_2 = data[mes_addr + 17];//无效数据标志'V',有效数据标志'A'
01CA FB01 movw R30,R22
01CC 7196 adiw R30,17
01CE EA0D add R30,R10
01D0 FB1D adc R31,R11
01D2 C080 ldd R12,z+0
01D4 .dbline 125
01D4 ;
01D4 ; if(availability_flag_2 == 'A'){//有效数据
01D4 8C2D mov R24,R12
01D6 8134 cpi R24,65
01D8 E9F4 brne L38
01DA X10:
01DA .dbline 125
01DA .dbline 128
01DA ; //debug_str("gps data effective !");
01DA ; //<1> 当前位置的格林尼治时间,格式为hhmmss
01DA ; Greenwich_time(&data[mes_addr + 7]);
01DA 8B01 movw R16,R22
01DC 095F subi R16,249 ; offset = 7
01DE 1F4F sbci R17,255
01E0 0A0D add R16,R10
01E2 1B1D adc R17,R11
01E4 49DF xcall _Greenwich_time
01E6 .dbline 130
01E6 ; //纬度
01E6 ; latitude(&data[mes_addr + 19]);
01E6 8B01 movw R16,R22
01E8 0D5E subi R16,237 ; offset = 19
01EA 1F4F sbci R17,255
01EC 0A0D add R16,R10
01EE 1B1D adc R17,R11
01F0 6CDF xcall _latitude
01F2 .dbline 132
01F2 ; //径度
01F2 ; radian(&data[mes_addr + 32]);
01F2 8B01 movw R16,R22
01F4 005E subi R16,224 ; offset = 32
01F6 1F4F sbci R17,255
01F8 0A0D add R16,R10
01FA 1B1D adc R17,R11
01FC 84DF xcall _radian
01FE .dbline 134
01FE ; //地面速度
01FE ; speed(&data[mes_addr + 46]);
01FE 8B01 movw R16,R22
0200 025D subi R16,210 ; offset = 46
0202 1F4F sbci R17,255
0204 0A0D add R16,R10
0206 1B1D adc R17,R11
0208 9CDF xcall _speed
020A .dbline 136
020A ; //
020A ; debug_str("");
020A 00E0 ldi R16,<L19
020C 10E0 ldi R17,>L19
020E 0E940000 xcall _debug_str
0212 .dbline 137
0212 ; }
0212 15C0 xjmp L39
0214 L38:
0214 .dbline 138
0214 ; else if(availability_flag_2 == 'V'){//无效数据(这个有时间返回)
0214 8C2D mov R24,R12
0216 8635 cpi R24,86
0218 39F4 brne L40
021A X11:
021A .dbline 138
021A .dbline 141
021A ; //debug_str("gps data invalid !");
021A ; //<1> 当前位置的格林尼治时间,格式为hhmmss
021A ; Greenwich_time(&data[mes_addr + 7]);
021A 8B01 movw R16,R22
021C 095F subi R16,249 ; offset = 7
021E 1F4F sbci R17,255
0220 0A0D add R16,R10
0222 1B1D adc R17,R11
0224 29DF xcall _Greenwich_time
0226 .dbline 142
0226 ; }
0226 0BC0 xjmp L41
0228 L40:
0228 .dbline 143
0228 ; else if(availability_flag_1 == 'V'){//无效数据
0228 4635 cpi R20,86
022A 29F4 brne L42
022C X12:
022C .dbline 143
022C .dbline 144
022C ; debug_str("gps data invalid !");
022C 00E0 ldi R16,<L44
022E 10E0 ldi R17,>L44
0230 0E940000 xcall _debug_str
0234 .dbline 145
0234 ; }
0234 04C0 xjmp L43
0236 L42:
0236 .dbline 146
0236 ; else{//信息有误或处理出错
0236 .dbline 147
0236 ; debug_str("gps error !");
0236 00E0 ldi R16,<L45
0238 10E0 ldi R17,>L45
023A 0E940000 xcall _debug_str
023E .dbline 148
023E ; }
023E L43:
023E L41:
023E L39:
023E .dbline 149
023E ; }
023E L36:
023E .dbline 150
023E ; }
023E L33:
023E .dbline 151
023E ; return 1;
023E 01E0 ldi R16,1
0240 .dbline -2
0240 L30:
0240 .dbline 0 ; func end
0240 2296 adiw R28,2
0242 0C940000 xjmp pop_xgsetF0FC
0246 .dbsym r availability_flag_1 20 c
0246 .dbsym r availability_flag_2 12 c
0246 .dbsym r mes_addr 22 i
0246 .dbsym r DataLen 14 i
0246 .dbsym r data 10 pc
0246 .dbend
.area data(ram, con, rel)
0000 .dbfile E:\item\GPS-1280\gps.c
0000 L45:
0000 .blkb 12
.area idata
0000 677073206572726F72202100 .byte 'g,'p,'s,32,'e,'r,'r,'o,'r,32,33,0
.area data(ram, con, rel)
000C .dbfile E:\item\GPS-1280\gps.c
000C L44:
000C .blkb 19
.area idata
000C 677073206461746120696E76616C6964 .byte 'g,'p,'s,32,'d,'a,'t,'a,32,'i,'n,'v,'a,'l,'i,'d
001C 202100 .byte 32,33,0
.area data(ram, con, rel)
001F .dbfile E:\item\GPS-1280\gps.c
001F L35:
001F .blkb 7
.area idata
001F 244750524D4300 .byte 36,'G,'P,'R,'M,'C,0
.area data(ram, con, rel)
0026 .dbfile E:\item\GPS-1280\gps.c
0026 L26:
0026 .blkb 10
.area idata
0026 737065656409093A0900 .byte 's,'p,'e,'e,'d,9,9,58,9,0
.area data(ram, con, rel)
0030 .dbfile E:\item\GPS-1280\gps.c
0030 L24:
0030 .blkb 11
.area idata
0030 72616469616E09093A0900 .byte 'r,'a,'d,'i,'a,'n,9,9,58,9,0
.area data(ram, con, rel)
003B .dbfile E:\item\GPS-1280\gps.c
003B L22:
003B .blkb 3
.area idata
003B 202000 .byte 32,32,0
.area data(ram, con, rel)
003E .dbfile E:\item\GPS-1280\gps.c
003E L21:
003E .blkb 12
.area idata
003E 6C61746974756465093A0900 .byte 'l,'a,'t,'i,'t,'u,'d,'e,9,58,9,0
.area data(ram, con, rel)
004A .dbfile E:\item\GPS-1280\gps.c
004A L19:
004A .blkb 1
.area idata
004A 00 .byte 0
.area data(ram, con, rel)
004B .dbfile E:\item\GPS-1280\gps.c
004B L18:
004B .blkb 2
.area idata
004B 3A00 .byte 58,0
.area data(ram, con, rel)
004D .dbfile E:\item\GPS-1280\gps.c
004D L17:
004D .blkb 18
.area idata
004D 477265656E776963682074696D65093A .byte 'G,'r,'e,'e,'n,'w,'i,'c,'h,32,'t,'i,'m,'e,9,58
005D 0900 .byte 9,0
.area data(ram, con, rel)
005F .dbfile E:\item\GPS-1280\gps.c
005F ; }
005F ;
005F ; /*
005F ; $GPRMC,,V,,,,,,,,,,N*53
005F ;
005F ; $GPVTG,,,,,,,,,N*30
005F ;
005F ; $GPGGA,,,,,,0,00,99.99,,,,,,*48
005F ;
005F ; $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
005F ;
005F ; $GPGSV,1,1,02,32,,,38,50,,,46*76
005F ;
005F ; $GPGLL,,,,,,V,N*64
005F ;
005F ;
005F ; gps error !
005F ; */
005F ;
005F ; /*
005F ; $GPRMC,075503.00,V,,,,,,,,,,N*79
005F ;
005F ; $GPVTG,,,,,,,,,N*30
005F ;
005F ; $GPGGA,075503.00,,,,,0,00,99.99,,,,,,*62
005F ;
005F ; $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
005F ;
005F ; $GPGSV,2,1,06,11,,,34,17,,,39,20,,,36,32,,,36*74
005F ;
005F ; $GPGSV,2,2,06,42,,,38,50,,,46*75
005F ;
005F ; $GPGLL,,,,,075503.00,V,N*4E
005F ;
005F ;
005F ; gps data invalid !
005F ; */
005F ;
005F ; /*
005F ; $GPRMC,075603.00,A,2231.90428,N,11404.37384,E,0.652,325.18,261008,,,A*66
005F ; $GPVTG,325.18,T,,M,0.652,N,1.209,K,A*3B
005F ; $GPGGA,075603.00,2231.90428,N,11404.37384,E,1,04,3.38,66.2,M,-2.2,M,,*76
005F ; $GPGSA,A,2,32,17,20,11,,,,,,,,,3.53,3.38,1.00*0A
005F ; $GPGSV,2,1,07,02,03,235,,11,22,045,35,17,42,332,37,20,44,074,37*7C
005F ; $GPGSV,2,2,07,32,23,054,39,42,51,128,38,50,46,122,46*43
005F ; $GPGLL,2231.90428,N,11404.37384,E,075603.00,A,A*60
005F ;
005F ; gps data effective !
005F ; */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -