camera.txt
29.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\flash\obj\camera.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\camera.d --cpu=Cortex-M4.fp --apcs=interwork -O1 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Include -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\uCOS-III\uC-CPU -I..\..\uCOS-III\uC-LIB -I..\..\uCOS-III\uCOS-III\Ports -I..\..\uCOS-III\uCOS-III\Source -I..\..\uCOS-III\uC-CPU\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uC-LIB\Ports\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView -I..\..\User -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\libapp -I..\..\RL-ARM\Config -I..\..\RL-ARM\Driver -I..\..\RL-ARM\RL-RTX\inc -I..\..\User\bsp\BSP -I..\..\RL-ARM\RL-CAN -I..\..\Libraries\DSP_LIB\Include -I..\..\MODBUS\modbus\rtu -I..\..\MODBUS\BARE\port -I..\..\MODBUS\modbus\include -I..\..\User\bsp\BSP -I..\..\PLC -I..\..\Avoid -I..\..\User\parameter -I..\..\User\LaserMotionCtr -I..\..\User\W5100S -I..\..\User\bsp -I..\..\User\CHASSIS -I..\..\User\CONTROLFUNCTION -I..\..\User\DATAUPDATE -I..\..\User\HARAWARE -I..\..\User\MOTORDRIVER -I..\..\User\NAVAGATION -I..\..\User\PLATFORM -I..\..\User\SENSOR -I.\RTE\_Flash -IC:\Users\YDJ\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\YDJ\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION=527 -D_RTE_ -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -D__RTX -D__FPU_USED=1 --omf_browse=.\flash\obj\camera.crf ..\..\User\SENSOR\Camera.c]
THUMB
AREA ||i.ProcessCameraData||, CODE, READONLY, ALIGN=2
REQUIRE _scanf_int
REQUIRE _scanf_real
ProcessCameraData PROC
;;;5 float CurAngle;
;;;6 void ProcessCameraData(unsigned char *data,unsigned int length)
000000 e92d4ff0 PUSH {r4-r11,lr}
;;;7 {
000004 ed2d8b02 VPUSH {d8}
000008 b093 SUB sp,sp,#0x4c
;;;8 static int i = 0;
;;;9 float XbiasFromros = 0, YbiasFromros = 0, TheataFromros = 0;
00000a ed9f0a62 VLDR s0,|L1.404|
00000e ed8d0a11 VSTR s0,[sp,#0x44]
000012 ed8d0a10 VSTR s0,[sp,#0x40]
000016 ed8d0a0f VSTR s0,[sp,#0x3c]
;;;10 int calcuTime = 0,timeStamp = 0;
00001a 2500 MOVS r5,#0
00001c 950e STR r5,[sp,#0x38]
00001e 950d STR r5,[sp,#0x34]
;;;11 int LocationSig = 0,CordingSig = 0,ROISig = 0;
000020 950c STR r5,[sp,#0x30]
000022 950b STR r5,[sp,#0x2c]
000024 950a STR r5,[sp,#0x28]
;;;12 static int XCoordingData = 0,YCoordingData = 0;
;;;13 sscanf((const char *)data, "<%dXY%d@(%fx%f)%f@%x@%x@%d-%d-%d>",
000026 a90a ADD r1,sp,#0x28
000028 aa0b ADD r2,sp,#0x2c
00002a e9cd2106 STRD r2,r1,[sp,#0x18]
00002e ab0c ADD r3,sp,#0x30
000030 ac0d ADD r4,sp,#0x34
000032 e9cd4304 STRD r4,r3,[sp,#0x10]
000036 ab10 ADD r3,sp,#0x40
000038 ac11 ADD r4,sp,#0x44
00003a a90e ADD r1,sp,#0x38
00003c aa0f ADD r2,sp,#0x3c
00003e e9cd4300 STRD r4,r3,[sp,#0]
000042 e9cd2102 STRD r2,r1,[sp,#8]
000046 4b54 LDR r3,|L1.408|
000048 a154 ADR r1,|L1.412|
00004a 1f1a SUBS r2,r3,#4
00004c f7fffffe BL __0sscanf
;;;14 &XCoordingData, &YCoordingData, &XbiasFromros, &YbiasFromros, &TheataFromros, &calcuTime, &timeStamp, &LocationSig, &CordingSig,&ROISig);
;;;15 if(XCoordingData!=9999)
000050 4c51 LDR r4,|L1.408|
;;;16 {
;;;17 Camera.XCoordingData = XCoordingData;
000052 4e5b LDR r6,|L1.448|
000054 3c08 SUBS r4,r4,#8 ;15
000056 f8d4a004 LDR r10,[r4,#4] ;15 ; XCoordingData
00005a f5aa501c SUB r0,r10,#0x2700 ;15
00005e 380f SUBS r0,r0,#0xf ;15
000060 d003 BEQ |L1.106|
000062 f8c6a000 STR r10,[r6,#0] ; Camera
;;;18 Camera.YCoordingData = YCoordingData;
000066 68a0 LDR r0,[r4,#8] ; YCoordingData
000068 6070 STR r0,[r6,#4] ; Camera
|L1.106|
;;;19 }
;;;20 if(!(XCoordingData == 0&&YCoordingData == 0) && LocationSig == 1)
00006a 68a0 LDR r0,[r4,#8] ; YCoordingData
00006c 9012 STR r0,[sp,#0x48]
00006e ea5a0000 ORRS r0,r10,r0
000072 d073 BEQ |L1.348|
000074 f8ddb030 LDR r11,[sp,#0x30]
000078 f1bb0f01 CMP r11,#1
00007c d16e BNE |L1.348|
;;;21 {
;;;22 Camera.X_pixel = (XbiasFromros-400)*0.2125 + 5;
00007e ed9d0a11 VLDR s0,[sp,#0x44]
000082 eddf0a50 VLDR s1,|L1.452|
000086 ee300a60 VSUB.F32 s0,s0,s1
00008a ee100a10 VMOV r0,s0
00008e f7fffffe BL __aeabi_f2d
000092 ed9f8b4d VLDR d8,|L1.456|
000096 ec532b18 VMOV r2,r3,d8
00009a f7fffffe BL __aeabi_dmul
00009e ed9f1b4c VLDR d1,|L1.464|
0000a2 ec532b11 VMOV r2,r3,d1
0000a6 f7fffffe BL __aeabi_dadd
0000aa f7fffffe BL __aeabi_d2f
0000ae 4680 MOV r8,r0
0000b0 60b0 STR r0,[r6,#8] ; Camera
;;;23 Camera.Y_pixel = -(YbiasFromros-300)*0.2125;
0000b2 ed9d0a10 VLDR s0,[sp,#0x40]
0000b6 eddf0a48 VLDR s1,|L1.472|
0000ba ee300ac0 VSUB.F32 s0,s1,s0
0000be ee100a10 VMOV r0,s0
0000c2 f7fffffe BL __aeabi_f2d
0000c6 ec532b18 VMOV r2,r3,d8
0000ca f7fffffe BL __aeabi_dmul
0000ce f7fffffe BL __aeabi_d2f
0000d2 4607 MOV r7,r0
0000d4 60f0 STR r0,[r6,#0xc] ; Camera
;;;24 if(agv.Command.RunState == 1 || agv.Command.RunState == 3)
0000d6 4841 LDR r0,|L1.476|
;;;25 Camera.angle = (TheataFromros+1)/57.3 + PI;
0000d8 eeb70a00 VMOV.F32 s0,#1.00000000
0000dc 7fc0 LDRB r0,[r0,#0x1f] ;24 ; agv
0000de ed9f8b40 VLDR d8,|L1.480|
0000e2 2801 CMP r0,#1 ;24
0000e4 d03f BEQ |L1.358|
0000e6 2803 CMP r0,#3 ;24
0000e8 d03d BEQ |L1.358|
;;;26 else
;;;27 Camera.angle = (TheataFromros+1)/57.3;
0000ea eddd0a0f VLDR s1,[sp,#0x3c]
0000ee ee300a80 VADD.F32 s0,s1,s0
0000f2 ee100a10 VMOV r0,s0
0000f6 f7fffffe BL __aeabi_f2d
0000fa ec532b18 VMOV r2,r3,d8
0000fe f7fffffe BL __aeabi_ddiv
000102 f7fffffe BL __aeabi_d2f
000106 6130 STR r0,[r6,#0x10] ; Camera
|L1.264|
;;;28 CurAngle = TheataFromros;
000108 980f LDR r0,[sp,#0x3c]
00010a 6260 STR r0,[r4,#0x24] ; CurAngle
;;;29 Camera.LocationSig = LocationSig;
00010c 2101 MOVS r1,#1
00010e 7631 STRB r1,[r6,#0x18]
;;;30 if(i++>10)
000110 6821 LDR r1,[r4,#0] ; i
000112 1c4a ADDS r2,r1,#1
000114 6022 STR r2,[r4,#0] ; i
000116 290a CMP r1,#0xa
000118 dd20 BLE |L1.348|
;;;31 {
;;;32 i = 0;
00011a 6025 STR r5,[r4,#0] ; i
;;;33 Uart_Printf(COM1,"识别二维码 坐标 = %d %d,位置偏移 = %.2f %.2f,角度 = %.2f,定位状态 = %d %d,二维码 = %d\r\n",
00011c f7fffffe BL __aeabi_f2d
000120 4604 MOV r4,r0
000122 460d MOV r5,r1
000124 4638 MOV r0,r7
000126 f7fffffe BL __aeabi_f2d
00012a 4606 MOV r6,r0
00012c 460f MOV r7,r1
00012e 4640 MOV r0,r8
000130 f7fffffe BL __aeabi_f2d
000134 4680 MOV r8,r0
000136 4822 LDR r0,|L1.448|
000138 4689 MOV r9,r1
00013a 990a LDR r1,[sp,#0x28]
00013c 7e40 LDRB r0,[r0,#0x19] ; Camera
00013e e9cd5b05 STRD r5,r11,[sp,#0x14]
000142 e9cd8900 STRD r8,r9,[sp,#0]
000146 e9cd6702 STRD r6,r7,[sp,#8]
00014a 9404 STR r4,[sp,#0x10]
00014c e9cd1007 STRD r1,r0,[sp,#0x1c]
000150 4652 MOV r2,r10
000152 4925 LDR r1,|L1.488|
000154 2001 MOVS r0,#1
000156 9b12 LDR r3,[sp,#0x48]
000158 f7fffffe BL Uart_Printf
|L1.348|
;;;34 XCoordingData,YCoordingData,Camera.X_pixel,Camera.Y_pixel,TheataFromros,LocationSig,ROISig,Camera.UpdataFlag);
;;;35 }
;;;36 }
;;;37 }
00015c b013 ADD sp,sp,#0x4c
00015e ecbd8b02 VPOP {d8}
000162 e8bd8ff0 POP {r4-r11,pc}
|L1.358|
000166 eddd0a0f VLDR s1,[sp,#0x3c] ;25
00016a ee300a80 VADD.F32 s0,s1,s0 ;25
00016e ee100a10 VMOV r0,s0 ;25
000172 f7fffffe BL __aeabi_f2d
000176 ec532b18 VMOV r2,r3,d8 ;25
00017a f7fffffe BL __aeabi_ddiv
00017e ed9f1b1b VLDR d1,|L1.492|
000182 ec532b11 VMOV r2,r3,d1 ;25
000186 f7fffffe BL __aeabi_dadd
00018a f7fffffe BL __aeabi_d2f
00018e 6130 STR r0,[r6,#0x10] ;25 ; Camera
000190 e7ba B |L1.264|
;;;38 void ProcessCameraData2(unsigned char *data,unsigned int length)
ENDP
000192 0000 DCW 0x0000
|L1.404|
000194 00000000 DCFS 0x00000000 ; 0
|L1.408|
DCD ||.data||+0x8
|L1.412|
00019c 3c256458 DCB "<%dXY%d@(%fx%f)%f@%x@%x@%d-%d-%d>",0
0001a0 59256440
0001a4 28256678
0001a8 25662925
0001ac 66402578
0001b0 40257840
0001b4 25642d25
0001b8 642d2564
0001bc 3e00
0001be 00 DCB 0
0001bf 00 DCB 0
|L1.448|
DCD ||.bss||
|L1.452|
0001c4 43c80000 DCFS 0x43c80000 ; 400
|L1.456|
0001c8 33333333 DCFD 0x3fcb333333333333 ; 0.21249999999999999
0001cc 3fcb3333
|L1.464|
0001d0 00000000 DCFD 0x4014000000000000 ; 5
0001d4 40140000
|L1.472|
0001d8 43960000 DCFS 0x43960000 ; 300
|L1.476|
DCD agv
|L1.480|
0001e0 66666666 DCFD 0x404ca66666666666 ; 57.299999999999997
0001e4 404ca666
|L1.488|
DCD ||.conststring||
|L1.492|
0001ec 40000000 DCFD 0x400921fb40000000 ; 3.1415925025939941
0001f0 400921fb
AREA ||i.ProcessCameraData2||, CODE, READONLY, ALIGN=2
REQUIRE _scanf_int
REQUIRE _scanf_real
ProcessCameraData2 PROC
;;;37 }
;;;38 void ProcessCameraData2(unsigned char *data,unsigned int length)
000000 b510 PUSH {r4,lr}
;;;39 {
000002 b090 SUB sp,sp,#0x40
;;;40 static int i = 0;
;;;41 float XbiasFromros = 0, YbiasFromros = 0, TheataFromros = 0;
000004 ed9f0a16 VLDR s0,|L2.96|
000008 ed8d0a0f VSTR s0,[sp,#0x3c]
00000c ed8d0a0e VSTR s0,[sp,#0x38]
000010 ed8d0a0d VSTR s0,[sp,#0x34]
;;;42 int calcuTime = 0,timeStamp = 0;
000014 2100 MOVS r1,#0
000016 910c STR r1,[sp,#0x30]
000018 910b STR r1,[sp,#0x2c]
;;;43 int LocationSig = 0,CordingSig = 0,ROISig = 0;
00001a 910a STR r1,[sp,#0x28]
00001c 9109 STR r1,[sp,#0x24]
00001e 9108 STR r1,[sp,#0x20]
;;;44 static int XCoordingData = 0,YCoordingData = 0;
;;;45 sscanf((const char *)data, "<%d@(%fx%f)%f@%x@%x@%d-%d-%d>",
000020 ab0a ADD r3,sp,#0x28
000022 ac0b ADD r4,sp,#0x2c
000024 e9cd4303 STRD r4,r3,[sp,#0xc]
000028 a908 ADD r1,sp,#0x20
00002a aa09 ADD r2,sp,#0x24
00002c e9cd2105 STRD r2,r1,[sp,#0x14]
000030 aa0d ADD r2,sp,#0x34
000032 ab0e ADD r3,sp,#0x38
000034 e9cd3200 STRD r3,r2,[sp,#0]
000038 a90c ADD r1,sp,#0x30
00003a 9102 STR r1,[sp,#8]
00003c ab0f ADD r3,sp,#0x3c
00003e 4a09 LDR r2,|L2.100|
000040 a109 ADR r1,|L2.104|
000042 f7fffffe BL __0sscanf
;;;46 &CameraTwo.Number, &XbiasFromros, &YbiasFromros, &TheataFromros, &calcuTime, &timeStamp, &LocationSig, &CordingSig,&ROISig);
;;;47
;;;48 // sscanf((const char *)data, "<%dXY%d@(%fx%f)%f@%x@%x@%d-%d-%d>",
;;;49 // &XCoordingData, &YCoordingData, &XbiasFromros, &YbiasFromros, &TheataFromros, &calcuTime, &timeStamp, &LocationSig, &CordingSig,&ROISig);
;;;50
;;;51 if(LocationSig == 1)
000046 980a LDR r0,[sp,#0x28]
000048 2801 CMP r0,#1
00004a d107 BNE |L2.92|
;;;52 {
;;;53 CameraTwo.angle = TheataFromros;
00004c 4805 LDR r0,|L2.100|
00004e ed9d0a0d VLDR s0,[sp,#0x34]
000052 381c SUBS r0,r0,#0x1c
000054 ed800a04 VSTR s0,[r0,#0x10]
;;;54
;;;55 CameraTwo.LocationSig = LocationSig;
000058 2101 MOVS r1,#1
00005a 7601 STRB r1,[r0,#0x18]
|L2.92|
;;;56 }
;;;57 }
00005c b010 ADD sp,sp,#0x40
00005e bd10 POP {r4,pc}
;;;58
ENDP
|L2.96|
000060 00000000 DCFS 0x00000000 ; 0
|L2.100|
DCD ||.bss||+0x3c
|L2.104|
000068 3c256440 DCB "<%d@(%fx%f)%f@%x@%x@%d-%d-%d>",0
00006c 28256678
000070 25662925
000074 66402578
000078 40257840
00007c 25642d25
000080 642d2564
000084 3e00
000086 00 DCB 0
000087 00 DCB 0
AREA ||i.UpdateCameraData||, CODE, READONLY, ALIGN=2
UpdateCameraData PROC
;;;59
;;;60 void UpdateCameraData()//地面
000000 e92d4ff0 PUSH {r4-r11,lr}
;;;61 {
000004 b0bd SUB sp,sp,#0xf4
;;;62 unsigned char buff[120],recvBuff[120];
;;;63 unsigned int len;
;;;64 unsigned int i;
;;;65 static int StepFlag = 0,iii = 0,lastTime = 0;
;;;66 len = ReadUart(COM3,buff,120);
000006 2278 MOVS r2,#0x78
000008 a91f ADD r1,sp,#0x7c
00000a 2003 MOVS r0,#3
00000c f7fffffe BL ReadUart
000010 4607 MOV r7,r0
;;;67
;;;68 if(len > 0)
;;;69 {
;;;70 // WriteUart(COM1,buff,sizeof(buff));
;;;71 for(i = 0;i<len;i++)
;;;72 {
;;;73 if(buff[i] == '<')
;;;74 {
;;;75 iii = 0;
;;;76 StepFlag = 1;
;;;77 }
;;;78 else if(buff[i] == '>')
;;;79 {
;;;80 StepFlag = 2;
;;;81 // Uart_Printf(COM1,"一帧数据完成\r\n");
;;;82 }
;;;83 if(iii>100)
;;;84 {
;;;85 StepFlag = 0;
;;;86 iii = 0;
;;;87 }
;;;88 if(StepFlag == 1)
;;;89 {
;;;90 recvBuff[iii++] = buff[i];
;;;91 }
;;;92 else if(StepFlag == 2)
;;;93 {
;;;94 recvBuff[iii++] = buff[i];
;;;95 ProcessCameraData(recvBuff,iii);
;;;96 StepFlag = 0;
;;;97 Camera.UpdataFlag = 1;
000012 f8dfa098 LDR r10,|L3.172|
000016 4d26 LDR r5,|L3.176|
;;;98 // Uart_Printf(COM1,"%s\r\n",recvBuff);
;;;99 }
;;;100 }
;;;101 lastTime = agv.Public.SystemTime;
000018 f8dfb098 LDR r11,|L3.180|
00001c 0038 MOVS r0,r7 ;68
00001e f04f0600 MOV r6,#0 ;68
000022 d037 BEQ |L3.148|
000024 2400 MOVS r4,#0 ;71
000026 f10d0804 ADD r8,sp,#4 ;62
00002a f04f0901 MOV r9,#1 ;76
00002e e029 B |L3.132|
|L3.48|
000030 a81f ADD r0,sp,#0x7c ;73
000032 5d00 LDRB r0,[r0,r4] ;73
000034 283c CMP r0,#0x3c ;73
000036 d002 BEQ |L3.62|
000038 283e CMP r0,#0x3e ;78
00003a d004 BEQ |L3.70|
00003c e005 B |L3.74|
|L3.62|
00003e 612e STR r6,[r5,#0x10] ;75 ; iii
000040 f8c5900c STR r9,[r5,#0xc] ;76 ; StepFlag
000044 e001 B |L3.74|
|L3.70|
000046 2102 MOVS r1,#2 ;80
000048 60e9 STR r1,[r5,#0xc] ;80 ; StepFlag
|L3.74|
00004a 6929 LDR r1,[r5,#0x10] ;83 ; iii
00004c 2964 CMP r1,#0x64 ;83
00004e dd01 BLE |L3.84|
000050 60ee STR r6,[r5,#0xc] ;85 ; StepFlag
000052 612e STR r6,[r5,#0x10] ;86 ; iii
|L3.84|
000054 68e9 LDR r1,[r5,#0xc] ;88 ; StepFlag
000056 2901 CMP r1,#1 ;88
000058 d002 BEQ |L3.96|
00005a 2902 CMP r1,#2 ;92
00005c d006 BEQ |L3.108|
00005e e010 B |L3.130|
|L3.96|
000060 6929 LDR r1,[r5,#0x10] ;90 ; iii
000062 1c4a ADDS r2,r1,#1 ;90
000064 612a STR r2,[r5,#0x10] ;90 ; iii
000066 f8080001 STRB r0,[r8,r1] ;90
00006a e00a B |L3.130|
|L3.108|
00006c 692a LDR r2,[r5,#0x10] ;94 ; iii
00006e 1c51 ADDS r1,r2,#1 ;94
000070 6129 STR r1,[r5,#0x10] ;94 ; iii
000072 f8080002 STRB r0,[r8,r2] ;94
000076 a801 ADD r0,sp,#4 ;95
000078 f7fffffe BL ProcessCameraData
00007c 60ee STR r6,[r5,#0xc] ;96 ; StepFlag
00007e f88a9019 STRB r9,[r10,#0x19] ;97
|L3.130|
000082 1c64 ADDS r4,r4,#1 ;71
|L3.132|
000084 42bc CMP r4,r7 ;71
000086 d3d3 BCC |L3.48|
000088 f8db00bc LDR r0,[r11,#0xbc] ; agv
00008c 6168 STR r0,[r5,#0x14] ; lastTime
|L3.142|
;;;102 }
;;;103 else
;;;104 {
;;;105 if(agv.Public.SystemTime - lastTime > 500)
;;;106 {
;;;107 lastTime = agv.Public.SystemTime;
;;;108 // memset(&Camera,0,sizeof(Camera));
;;;109 Camera.UpdataFlag = 0;
;;;110 }
;;;111 }
;;;112 }
00008e b03d ADD sp,sp,#0xf4
000090 e8bd8ff0 POP {r4-r11,pc}
|L3.148|
000094 f8db00bc LDR r0,[r11,#0xbc] ;105 ; agv
000098 6969 LDR r1,[r5,#0x14] ;105 ; lastTime
00009a 1a41 SUBS r1,r0,r1 ;105
00009c f5b17ffa CMP r1,#0x1f4 ;105
0000a0 d9f5 BLS |L3.142|
0000a2 6168 STR r0,[r5,#0x14] ;107 ; lastTime
0000a4 f88a6019 STRB r6,[r10,#0x19] ;109
0000a8 e7f1 B |L3.142|
;;;113
ENDP
0000aa 0000 DCW 0x0000
|L3.172|
DCD ||.bss||
|L3.176|
DCD ||.data||
|L3.180|
DCD agv
AREA ||i.UpdateCameraData2||, CODE, READONLY, ALIGN=2
UpdateCameraData2 PROC
;;;113
;;;114 void UpdateCameraData2()//天花板
000000 e92d4ff0 PUSH {r4-r11,lr}
;;;115 {
000004 b0bd SUB sp,sp,#0xf4
;;;116 unsigned char buff[120],recvBuff[120];
;;;117 unsigned int len;
;;;118 unsigned int i;
;;;119 static int StepFlag = 0,iii = 0,lastTime = 0;
;;;120 len = ReadUart(COM4,buff,120);
000006 2278 MOVS r2,#0x78
000008 a91f ADD r1,sp,#0x7c
00000a 2004 MOVS r0,#4
00000c f7fffffe BL ReadUart
000010 4607 MOV r7,r0
;;;121
;;;122 if(len > 0)
;;;123 {
;;;124 // WriteUart(COM1,buff,sizeof(buff));
;;;125 for(i = 0;i<len;i++)
;;;126 {
;;;127 if(buff[i] == '<')
;;;128 {
;;;129 iii = 0;
;;;130 StepFlag = 1;
;;;131 }
;;;132 else if(buff[i] == '>')
;;;133 {
;;;134 StepFlag = 2;
;;;135 // Uart_Printf(COM1,"一帧数据完成\r\n");
;;;136 }
;;;137 if(iii>100)
;;;138 {
;;;139 StepFlag = 0;
;;;140 iii = 0;
;;;141 }
;;;142 if(StepFlag == 1)
;;;143 {
;;;144 recvBuff[iii++] = buff[i];
;;;145 }
;;;146 else if(StepFlag == 2)
;;;147 {
;;;148 recvBuff[iii++] = buff[i];
;;;149 ProcessCameraData2(recvBuff,iii);
;;;150 StepFlag = 0;
;;;151 CameraTwo.UpdataFlag = 1;
000012 f8dfa09c LDR r10,|L4.176|
000016 4d27 LDR r5,|L4.180|
;;;152 // Uart_Printf(COM1,"%s\r\n",recvBuff);
;;;153 }
;;;154 }
;;;155 lastTime = agv.Public.SystemTime;
000018 f8dfb09c LDR r11,|L4.184|
00001c 0038 MOVS r0,r7 ;122
00001e f04f0600 MOV r6,#0 ;122
000022 d037 BEQ |L4.148|
000024 2400 MOVS r4,#0 ;125
000026 f10d0804 ADD r8,sp,#4 ;116
00002a f04f0901 MOV r9,#1 ;130
00002e e029 B |L4.132|
|L4.48|
000030 a81f ADD r0,sp,#0x7c ;127
000032 5d00 LDRB r0,[r0,r4] ;127
000034 283c CMP r0,#0x3c ;127
000036 d002 BEQ |L4.62|
000038 283e CMP r0,#0x3e ;132
00003a d004 BEQ |L4.70|
00003c e005 B |L4.74|
|L4.62|
00003e 61ee STR r6,[r5,#0x1c] ;129 ; iii
000040 f8c59018 STR r9,[r5,#0x18] ;130 ; StepFlag
000044 e001 B |L4.74|
|L4.70|
000046 2102 MOVS r1,#2 ;134
000048 61a9 STR r1,[r5,#0x18] ;134 ; StepFlag
|L4.74|
00004a 69e9 LDR r1,[r5,#0x1c] ;137 ; iii
00004c 2964 CMP r1,#0x64 ;137
00004e dd01 BLE |L4.84|
000050 61ae STR r6,[r5,#0x18] ;139 ; StepFlag
000052 61ee STR r6,[r5,#0x1c] ;140 ; iii
|L4.84|
000054 69a9 LDR r1,[r5,#0x18] ;142 ; StepFlag
000056 2901 CMP r1,#1 ;142
000058 d002 BEQ |L4.96|
00005a 2902 CMP r1,#2 ;146
00005c d006 BEQ |L4.108|
00005e e010 B |L4.130|
|L4.96|
000060 69e9 LDR r1,[r5,#0x1c] ;144 ; iii
000062 1c4a ADDS r2,r1,#1 ;144
000064 61ea STR r2,[r5,#0x1c] ;144 ; iii
000066 f8080001 STRB r0,[r8,r1] ;144
00006a e00a B |L4.130|
|L4.108|
00006c 69ea LDR r2,[r5,#0x1c] ;148 ; iii
00006e 1c51 ADDS r1,r2,#1 ;148
000070 61e9 STR r1,[r5,#0x1c] ;148 ; iii
000072 f8080002 STRB r0,[r8,r2] ;148
000076 a801 ADD r0,sp,#4 ;149
000078 f7fffffe BL ProcessCameraData2
00007c 61ae STR r6,[r5,#0x18] ;150 ; StepFlag
00007e f88a9019 STRB r9,[r10,#0x19] ;151
|L4.130|
000082 1c64 ADDS r4,r4,#1 ;125
|L4.132|
000084 42bc CMP r4,r7 ;125
000086 d3d3 BCC |L4.48|
000088 f8db00bc LDR r0,[r11,#0xbc] ; agv
00008c 6228 STR r0,[r5,#0x20] ; lastTime
|L4.142|
;;;156 }
;;;157 else
;;;158 {
;;;159 if(agv.Public.SystemTime - lastTime > 500)
;;;160 {
;;;161 lastTime = agv.Public.SystemTime;
;;;162 // memset(&CameraTwo,0,sizeof(CameraTwo));
;;;163 CameraTwo.UpdataFlag = 0;
;;;164 CameraTwo.Number = 0;
;;;165 }
;;;166 }
;;;167 }
00008e b03d ADD sp,sp,#0xf4
000090 e8bd8ff0 POP {r4-r11,pc}
|L4.148|
000094 f8db00bc LDR r0,[r11,#0xbc] ;159 ; agv
000098 6a29 LDR r1,[r5,#0x20] ;159 ; lastTime
00009a 1a41 SUBS r1,r0,r1 ;159
00009c f5b17ffa CMP r1,#0x1f4 ;159
0000a0 d9f5 BLS |L4.142|
0000a2 6228 STR r0,[r5,#0x20] ;161 ; lastTime
0000a4 f88a6019 STRB r6,[r10,#0x19] ;163
0000a8 f8ca601c STR r6,[r10,#0x1c] ;164 ; CameraTwo
0000ac e7ef B |L4.142|
;;;168
ENDP
0000ae 0000 DCW 0x0000
|L4.176|
DCD ||.bss||+0x20
|L4.180|
DCD ||.data||
|L4.184|
DCD agv
AREA ||.bss||, DATA, NOINIT, ALIGN=2
Camera
% 32
CameraTwo
% 32
AREA ||.conststring||, DATA, READONLY, MERGE=1, STRINGS, ALIGN=2
000000 cab6b1f0 DCB 202,182,177,240,182,254,206,172,194,235," ",215,248,177
000004 b6feceac
000008 c2eb2020
00000c d7f8b1
00000f ea203d20 DCB 234," = %d %d,",206,187,214,195,198,171,210,198," = %.2"
000013 25642020
000017 25642cce
00001b bbd6c3c6
00001f abd2c620
000023 3d20252e
000027 32
000028 66202025 DCB "f %.2f,",189,199,182,200," = %.2f,",182,168,206,187,215
00002c 2e32662c
000030 bdc7b6c8
000034 203d2025
000038 2e32662c
00003c b6a8cebb
000040 d7
000041 b4ccac20 DCB 180,204,172," = %d %d,",182,254,206,172,194,235," = %d\r"
000045 3d202564
000049 20202564
00004d 2cb6fece
000051 acc2eb20
000055 3d202564
000059 0d
00005a 0a00 DCB "\n",0
AREA ||.data||, DATA, ALIGN=2
i
DCD 0x00000000
XCoordingData
DCD 0x00000000
YCoordingData
DCD 0x00000000
StepFlag
DCD 0x00000000
iii
DCD 0x00000000
lastTime
DCD 0x00000000
|symbol_number.24|
DCD 0x00000000
|symbol_number.25|
DCD 0x00000000
|symbol_number.26|
DCD 0x00000000
CurAngle
DCD 0x00000000
;*** Start embedded assembler ***
#line 1 "..\\..\\User\\SENSOR\\Camera.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___8_Camera_c_78343763____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___8_Camera_c_78343763____REV16| PROC
#line 130
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___8_Camera_c_78343763____REVSH|
#line 144
|__asm___8_Camera_c_78343763____REVSH| PROC
#line 145
revsh r0, r0
bx lr
ENDP
AREA ||.rrx_text||, CODE
THUMB
EXPORT |__asm___8_Camera_c_78343763____RRX|
#line 300
|__asm___8_Camera_c_78343763____RRX| PROC
#line 301
rrx r0, r0
bx lr
ENDP
;*** End embedded assembler ***