communicationforcenter.txt 91.1 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 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146
; 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\communicationforcenter.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\communicationforcenter.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\communicationforcenter.crf ..\..\User\DATAUPDATE\CommunicationForCenter.c]
                          THUMB

                          AREA ||i.ActionProcess||, CODE, READONLY, ALIGN=1

                  ActionProcess PROC
;;;292    //动作方向处理
;;;293    short ActionProcess(char paraOne,char paraTwo)
000000  2865              CMP      r0,#0x65
;;;294    {
000002  d002              BEQ      |L1.10|
;;;295    	if(paraOne == 'e')
;;;296    	{
;;;297    		return 0;
;;;298    	}
;;;299    	else if(paraOne == 'f' && paraTwo == 'a')
000004  2866              CMP      r0,#0x66
000006  d002              BEQ      |L1.14|
000008  e003              B        |L1.18|
                  |L1.10|
00000a  2000              MOVS     r0,#0                 ;297
;;;300    	{
;;;301    		return 3;
;;;302    	}
;;;303    	else if(paraOne == 'f' && paraTwo == 'c')
;;;304    	{
;;;305    		return 4;
;;;306    	}
;;;307    	else if(paraOne == 'f' && paraTwo == 'm')
;;;308    	{
;;;309    		return 1;
;;;310    	}
;;;311    	else if(paraOne == 'b' && paraTwo == 'a')
;;;312    	{
;;;313    		return 5;
;;;314    	}
;;;315    	else if(paraOne == 'b' && paraTwo == 'c')
;;;316    	{
;;;317    		return 6;
;;;318    	}
;;;319    	else if(paraOne == 'b' && paraTwo == 'm')
;;;320    	{
;;;321    		return 2;
;;;322    	}
;;;323    	else if(paraOne == 'f' && paraTwo == 'l')
;;;324    	{
;;;325    		return 7;
;;;326    	}
;;;327    	else if(paraOne == 'b' && paraTwo == 'l')
;;;328    	{
;;;329    		return 9;
;;;330    	}
;;;331    	else if(paraOne == 'f' && paraTwo == 'r')
;;;332    	{
;;;333    		return 8;
;;;334    	}
;;;335    	else if(paraOne == 'b' && paraTwo == 'r')
;;;336    	{
;;;337    		return 10;
;;;338    	}
;;;339    	else 
;;;340    		return -1;
;;;341    }
00000c  4770              BX       lr
                  |L1.14|
00000e  2961              CMP      r1,#0x61              ;299
000010  d002              BEQ      |L1.24|
                  |L1.18|
000012  2866              CMP      r0,#0x66              ;303
000014  d002              BEQ      |L1.28|
000016  e003              B        |L1.32|
                  |L1.24|
000018  2003              MOVS     r0,#3                 ;301
00001a  4770              BX       lr
                  |L1.28|
00001c  2963              CMP      r1,#0x63              ;303
00001e  d002              BEQ      |L1.38|
                  |L1.32|
000020  2866              CMP      r0,#0x66              ;307
000022  d002              BEQ      |L1.42|
000024  e003              B        |L1.46|
                  |L1.38|
000026  2004              MOVS     r0,#4                 ;305
000028  4770              BX       lr
                  |L1.42|
00002a  296d              CMP      r1,#0x6d              ;307
00002c  d002              BEQ      |L1.52|
                  |L1.46|
00002e  2862              CMP      r0,#0x62              ;311
000030  d002              BEQ      |L1.56|
000032  e003              B        |L1.60|
                  |L1.52|
000034  2001              MOVS     r0,#1                 ;309
000036  4770              BX       lr
                  |L1.56|
000038  2961              CMP      r1,#0x61              ;311
00003a  d002              BEQ      |L1.66|
                  |L1.60|
00003c  2862              CMP      r0,#0x62              ;315
00003e  d002              BEQ      |L1.70|
000040  e003              B        |L1.74|
                  |L1.66|
000042  2005              MOVS     r0,#5                 ;313
000044  4770              BX       lr
                  |L1.70|
000046  2963              CMP      r1,#0x63              ;315
000048  d002              BEQ      |L1.80|
                  |L1.74|
00004a  2862              CMP      r0,#0x62              ;319
00004c  d002              BEQ      |L1.84|
00004e  e003              B        |L1.88|
                  |L1.80|
000050  2006              MOVS     r0,#6                 ;317
000052  4770              BX       lr
                  |L1.84|
000054  296d              CMP      r1,#0x6d              ;319
000056  d002              BEQ      |L1.94|
                  |L1.88|
000058  2866              CMP      r0,#0x66              ;323
00005a  d002              BEQ      |L1.98|
00005c  e003              B        |L1.102|
                  |L1.94|
00005e  2002              MOVS     r0,#2                 ;321
000060  4770              BX       lr
                  |L1.98|
000062  296c              CMP      r1,#0x6c              ;323
000064  d002              BEQ      |L1.108|
                  |L1.102|
000066  2862              CMP      r0,#0x62              ;327
000068  d002              BEQ      |L1.112|
00006a  e003              B        |L1.116|
                  |L1.108|
00006c  2007              MOVS     r0,#7                 ;325
00006e  4770              BX       lr
                  |L1.112|
000070  296c              CMP      r1,#0x6c              ;327
000072  d002              BEQ      |L1.122|
                  |L1.116|
000074  2866              CMP      r0,#0x66              ;331
000076  d002              BEQ      |L1.126|
000078  e003              B        |L1.130|
                  |L1.122|
00007a  2009              MOVS     r0,#9                 ;329
00007c  4770              BX       lr
                  |L1.126|
00007e  2972              CMP      r1,#0x72              ;331
000080  d002              BEQ      |L1.136|
                  |L1.130|
000082  2862              CMP      r0,#0x62              ;335
000084  d002              BEQ      |L1.140|
000086  e003              B        |L1.144|
                  |L1.136|
000088  2008              MOVS     r0,#8                 ;333
00008a  4770              BX       lr
                  |L1.140|
00008c  2972              CMP      r1,#0x72              ;335
00008e  d002              BEQ      |L1.150|
                  |L1.144|
000090  f04f30ff          MOV      r0,#0xffffffff        ;340
000094  4770              BX       lr
                  |L1.150|
000096  200a              MOVS     r0,#0xa               ;337
000098  4770              BX       lr
;;;342    /********************************
                          ENDP


                          AREA ||i.AddCheckSum||, CODE, READONLY, ALIGN=1

                  AddCheckSum PROC
;;;188    //求数组iCmd数组所有参数和的最小两位数
;;;189    uint16_t AddCheckSum(char* cBuffer, short iBufLen)
000000  b570              PUSH     {r4-r6,lr}
;;;190    {
000002  4605              MOV      r5,r0
;;;191    	uint16_t i = 0, j = 0;
000004  2300              MOVS     r3,#0
;;;192    	uint16_t wCrc = 0xffff;
000006  f64f70ff          MOV      r0,#0xffff
;;;193    	uint16_t wPolynom = 0xA003;
00000a  f24a0403          MOV      r4,#0xa003
00000e  e00e              B        |L2.46|
                  |L2.16|
;;;194    	for (i = 0; i < iBufLen; i++)
;;;195    	{
;;;196    		wCrc ^= cBuffer[i];
000010  5cea              LDRB     r2,[r5,r3]
000012  4050              EORS     r0,r0,r2
;;;197    		for (j = 0; j < 8; j++)
000014  2200              MOVS     r2,#0
                  |L2.22|
;;;198    		{
;;;199    			if (wCrc & 0x0001)
000016  07c6              LSLS     r6,r0,#31
000018  d002              BEQ      |L2.32|
;;;200    			{
;;;201    				wCrc = (wCrc >> 1) ^ wPolynom;
00001a  ea840050          EOR      r0,r4,r0,LSR #1
00001e  e000              B        |L2.34|
                  |L2.32|
;;;202    			}
;;;203    			else
;;;204    			{
;;;205    				wCrc = wCrc >> 1;
000020  0840              LSRS     r0,r0,#1
                  |L2.34|
000022  1c52              ADDS     r2,r2,#1              ;197
000024  b292              UXTH     r2,r2                 ;197
000026  2a08              CMP      r2,#8                 ;197
000028  d3f5              BCC      |L2.22|
00002a  1c5b              ADDS     r3,r3,#1              ;194
00002c  b29b              UXTH     r3,r3                 ;194
                  |L2.46|
00002e  428b              CMP      r3,r1                 ;194
000030  dbee              BLT      |L2.16|
;;;206    			}
;;;207    		}
;;;208    	}
;;;209    	return wCrc;
;;;210    }
000032  bd70              POP      {r4-r6,pc}
;;;211    
                          ENDP


                          AREA ||i.AddCheckSumCRC||, CODE, READONLY, ALIGN=1

                  AddCheckSumCRC PROC
;;;222    //求数组iCmd数组所有参数和的最小两位数
;;;223    uint16_t AddCheckSumCRC(char* cBuffer, short iBufLen)
000000  b570              PUSH     {r4-r6,lr}
;;;224    {
000002  4605              MOV      r5,r0
;;;225    	uint16_t i = 0, j = 0;
;;;226    	uint16_t wCrc = 0xffff;
000004  f64f70ff          MOV      r0,#0xffff
;;;227    	uint16_t wPolynom = 0xA003;
000008  f24a0403          MOV      r4,#0xa003
;;;228    	for (i = 4; i < iBufLen; i++)
00000c  2304              MOVS     r3,#4
00000e  e00e              B        |L3.46|
                  |L3.16|
;;;229    	{
;;;230    		wCrc ^= cBuffer[i];
000010  5cea              LDRB     r2,[r5,r3]
000012  4050              EORS     r0,r0,r2
;;;231    		for (j = 0; j < 8; j++)
000014  2200              MOVS     r2,#0
                  |L3.22|
;;;232    		{
;;;233    			if (wCrc & 0x0001)
000016  07c6              LSLS     r6,r0,#31
000018  d002              BEQ      |L3.32|
;;;234    			{
;;;235    				wCrc = (wCrc >> 1) ^ wPolynom;
00001a  ea840050          EOR      r0,r4,r0,LSR #1
00001e  e000              B        |L3.34|
                  |L3.32|
;;;236    			}
;;;237    			else
;;;238    			{
;;;239    				wCrc = wCrc >> 1;
000020  0840              LSRS     r0,r0,#1
                  |L3.34|
000022  1c52              ADDS     r2,r2,#1              ;231
000024  b292              UXTH     r2,r2                 ;231
000026  2a08              CMP      r2,#8                 ;231
000028  d3f5              BCC      |L3.22|
00002a  1c5b              ADDS     r3,r3,#1              ;228
00002c  b29b              UXTH     r3,r3                 ;228
                  |L3.46|
00002e  428b              CMP      r3,r1                 ;228
000030  dbee              BLT      |L3.16|
;;;240    			}
;;;241    		}
;;;242    	}
;;;243    	return wCrc;
;;;244    }
000032  bd70              POP      {r4-r6,pc}
;;;245    /*************************
                          ENDP


                          AREA ||i.Bady_DictateTypeHandle||, CODE, READONLY, ALIGN=2

                  Bady_DictateTypeHandle PROC
;;;494    
;;;495    void Bady_DictateTypeHandle(void)
000000  b538              PUSH     {r3-r5,lr}
;;;496    {
;;;497    	u8 num =0;
;;;498    	static int dst = 0;
;;;499    
;;;500    	switch (CenterCommand.Content)
000002  4c30              LDR      r4,|L4.196|
000004  f504611e          ADD      r1,r4,#0x9e0
000008  f8940b7e          LDRB     r0,[r4,#0xb7e]  ; CenterCommand
00000c  2808              CMP      r0,#8
00000e  d043              BEQ      |L4.152|
000010  dc0f              BGT      |L4.50|
000012  2801              CMP      r0,#1
000014  d00c              BEQ      |L4.48|
000016  2802              CMP      r0,#2
000018  d019              BEQ      |L4.78|
00001a  2803              CMP      r0,#3
00001c  d01f              BEQ      |L4.94|
00001e  2804              CMP      r0,#4
000020  d106              BNE      |L4.48|
;;;501    	{
;;;502    	case ct_getac://获得RFID位置
;;;503    		break;
;;;504    	
;;;505    	case ct_getvol://获得电压值
;;;506    		Create_BodyTreaty(false, et_smtagv, sort_Receive, ct_getvol, CenterCommand.CmdList.Cmd_RoadParam);
;;;507    //		Create_BodyTreaty(false, et_smtagv, sort_Send, ct_rptvol, ParameterTransform("%2.2f", AGVStatus.battery_voltage*0.0001f));
;;;508    		break;
;;;509    	
;;;510    	case ct_geterr://获得报警状态
;;;511    		Create_BodyTreaty(false, et_smtagv, sort_Receive, ct_geterr, CenterCommand.CmdList.Cmd_RoadParam);
;;;512    		Create_BodyTreaty(true, et_smtagv, sort_Send, ct_rpterr, ParameterTransform("%04x", agv.Public.Error_Flag));
;;;513    		break;
;;;514    	
;;;515    	case ct_getspd://获得小车速度
;;;516    		Create_BodyTreaty(false, et_smtagv, sort_Receive, ct_getspd, CenterCommand.CmdList.Cmd_RoadParam);
000022  9100              STR      r1,[sp,#0]
000024  2100              MOVS     r1,#0
000026  2304              MOVS     r3,#4
000028  2201              MOVS     r2,#1
00002a  4608              MOV      r0,r1
00002c  f7fffffe          BL       Create_BodyTreaty
                  |L4.48|
;;;517    
;;;518    //		Create_BodyTreaty(false, et_smtagv, sort_Send, ct_rptspd, ParameterTransform("%2.4f", AGVStatus.Speed));
;;;519    		break;
;;;520    	
;;;521    	case ct_rptvmot://获取料架上报并回复
;;;522    		Create_BodyTreaty(false, et_B123, sort_Receive, ct_rptvmot, CenterCommand.CmdList.Cmd_RoadParam);
;;;523    
;;;524    //		Create_BodyTreaty(false, et_smtagv, sort_Send, ct_rptspd, ParameterTransform("%2.4f", AGVStatus.Speed));
;;;525    		break;
;;;526    	
;;;527    	case ct_rptmt:
;;;528    		switch (CenterCommand.Param[0])//检测1号工位
;;;529    		{
;;;530    			case 0:
;;;531    				break;
;;;532    			case 1:
;;;533    				break;
;;;534    		}	
;;;535    		Create_BodyTreaty(false, et_B124, sort_Receive, ct_rptmt, CenterCommand.CmdList.Cmd_RoadParam);
;;;536    		break;
;;;537    		
;;;538    	case ct_setlrout://设置行走轴
;;;539    		Create_BodyTreaty(false, et_smtagv, sort_Receive, ct_setlrout, CenterCommand.CmdList.Cmd_RoadParam);		
;;;540    	break;
;;;541    	
;;;542    	case ct_setvmot: //设置小车滚筒转动状态
;;;543    		Create_BodyTreaty(false, et_smtagv, sort_Receive, ct_setvmot, CenterCommand.CmdList.Cmd_RoadParam);
;;;544    		commandActionAnalysis(CenterCommand.Param[0],CenterCommand.Param[1]);//悬臂轴自动对接
;;;545    
;;;546    	}
;;;547    }
000030  bd38              POP      {r3-r5,pc}
                  |L4.50|
000032  280b              CMP      r0,#0xb               ;500
000034  d028              BEQ      |L4.136|
000036  2821              CMP      r0,#0x21              ;500
000038  d036              BEQ      |L4.168|
00003a  2827              CMP      r0,#0x27              ;500
00003c  d1f8              BNE      |L4.48|
00003e  9100              STR      r1,[sp,#0]            ;539
000040  2100              MOVS     r1,#0                 ;539
000042  2327              MOVS     r3,#0x27              ;539
000044  2201              MOVS     r2,#1                 ;539
000046  4608              MOV      r0,r1                 ;539
000048  f7fffffe          BL       Create_BodyTreaty
00004c  bd38              POP      {r3-r5,pc}
                  |L4.78|
00004e  9100              STR      r1,[sp,#0]            ;506
000050  2100              MOVS     r1,#0                 ;506
000052  2302              MOVS     r3,#2                 ;506
000054  2201              MOVS     r2,#1                 ;506
000056  4608              MOV      r0,r1                 ;506
000058  f7fffffe          BL       Create_BodyTreaty
00005c  bd38              POP      {r3-r5,pc}
                  |L4.94|
00005e  9100              STR      r1,[sp,#0]            ;511
000060  2100              MOVS     r1,#0                 ;511
000062  2303              MOVS     r3,#3                 ;511
000064  2201              MOVS     r2,#1                 ;511
000066  4608              MOV      r0,r1                 ;511
000068  f7fffffe          BL       Create_BodyTreaty
00006c  4816              LDR      r0,|L4.200|
00006e  f8d01080          LDR      r1,[r0,#0x80]         ;512  ; agv
000072  a016              ADR      r0,|L4.204|
000074  f7fffffe          BL       ParameterTransform
000078  2200              MOVS     r2,#0                 ;512
00007a  9000              STR      r0,[sp,#0]            ;512
00007c  2306              MOVS     r3,#6                 ;512
00007e  4611              MOV      r1,r2                 ;512
000080  2001              MOVS     r0,#1                 ;512
000082  f7fffffe          BL       Create_BodyTreaty
000086  bd38              POP      {r3-r5,pc}
                  |L4.136|
000088  2201              MOVS     r2,#1                 ;522
00008a  9100              STR      r1,[sp,#0]            ;522
00008c  230b              MOVS     r3,#0xb               ;522
00008e  4611              MOV      r1,r2                 ;522
000090  2000              MOVS     r0,#0                 ;522
000092  f7fffffe          BL       Create_BodyTreaty
000096  bd38              POP      {r3-r5,pc}
                  |L4.152|
000098  9100              STR      r1,[sp,#0]            ;535
00009a  2308              MOVS     r3,#8                 ;535
00009c  2201              MOVS     r2,#1                 ;535
00009e  2102              MOVS     r1,#2                 ;535
0000a0  2000              MOVS     r0,#0                 ;535
0000a2  f7fffffe          BL       Create_BodyTreaty
0000a6  bd38              POP      {r3-r5,pc}
                  |L4.168|
0000a8  9100              STR      r1,[sp,#0]            ;543
0000aa  2100              MOVS     r1,#0                 ;543
0000ac  2321              MOVS     r3,#0x21              ;543
0000ae  2201              MOVS     r2,#1                 ;543
0000b0  4608              MOV      r0,r1                 ;543
0000b2  f7fffffe          BL       Create_BodyTreaty
0000b6  f5046438          ADD      r4,r4,#0xb80          ;544
0000ba  cc03              LDM      r4!,{r0,r1}           ;544
0000bc  e8bd4038          POP      {r3-r5,lr}            ;544
0000c0  f7ffbffe          B.W      commandActionAnalysis
;;;548    
                          ENDP

                  |L4.196|
                          DCD      ||.bss||+0xcf5c
                  |L4.200|
                          DCD      agv
                  |L4.204|
0000cc  25303478          DCB      "%04x",0
0000d0  00      
0000d1  00                DCB      0
0000d2  00                DCB      0
0000d3  00                DCB      0

                          AREA ||i.CenterDecode||, CODE, READONLY, ALIGN=2

                          REQUIRE _scanf_int
                  CenterDecode PROC
;;;84     tsCommand CenterCommand;
;;;85     ctDecodestate CenterDecode(char Byte, tsCmdList* iList)
000000  e92d4ff8          PUSH     {r3-r11,lr}
;;;86     {
000004  4604              MOV      r4,r0
;;;87     
;;;88     		static bool sFirst = 0;
;;;89     	static ctDecodestate Status;
;;;90     	static u16  DataCount = 0;
;;;91     	static u16  FinishDataCount = 0;
;;;92     	static u16  StartDataCount = 0;
;;;93     	unsigned int  Check_Sum = 0x00;//存储接收到的校验码
000006  2500              MOVS     r5,#0
000008  9500              STR      r5,[sp,#0]
;;;94     	unsigned int  Add_Sum = 0x00;//存储计算校验码
;;;95     	if (!sFirst)
00000a  4e46              LDR      r6,|L5.292|
;;;96     	{
;;;97     		memset(CenterCommand.CmdList.ReceiveData, 0, sizeof(CenterCommand.CmdList.ReceiveData));
00000c  f8dfa118          LDR      r10,|L5.296|
;;;98     		Status = teERR;
;;;99     		sFirst = 1;
000010  f04f0801          MOV      r8,#1
000014  7830              LDRB     r0,[r6,#0]            ;95  ; sFirst
000016  f44f77c8          MOV      r7,#0x190             ;97
00001a  2800              CMP      r0,#0                 ;95
00001c  d107              BNE      |L5.46|
00001e  4639              MOV      r1,r7                 ;97
000020  4650              MOV      r0,r10                ;97
000022  f7fffffe          BL       __aeabi_memclr4
000026  7075              STRB     r5,[r6,#1]            ;98
000028  f8868000          STRB     r8,[r6,#0]
;;;100    		DataCount = 0;
00002c  80b5              STRH     r5,[r6,#4]
                  |L5.46|
;;;101    	}
;;;102    	if (Byte == '#')
00002e  2c23              CMP      r4,#0x23
000030  d00c              BEQ      |L5.76|
;;;103    	{
;;;104    		Status = teDecoding;
;;;105    		StartDataCount++;
;;;106    		if (StartDataCount == 1)
;;;107    		{
;;;108    			DataCount = 0;
;;;109    		}
;;;110    	}
;;;111    	else
;;;112    	{
;;;113    		StartDataCount = 0;
000032  8135              STRH     r5,[r6,#8]
                  |L5.52|
;;;114    	}
;;;115    	switch (Status)
000034  7870              LDRB     r0,[r6,#1]  ; Status
000036  f8df90f4          LDR      r9,|L5.300|
;;;116    	{
;;;117    	case teERR:
;;;118    		break;
;;;119    	case teDecodLost:
;;;120    	case teDecodSuccess:
;;;121    		memset(CenterCommand.CmdList.ReceiveData, 0, sizeof(CenterCommand.CmdList.ReceiveData));
;;;122    		Status = teDecoding;
;;;123    		DataCount = 0;
;;;124    	case teDecoding:
;;;125    		if (Byte != ' ')
;;;126    		{
;;;127    			if (DataCount < WifiBUFF_SIZE)
;;;128    				CenterCommand.CmdList.ReceiveData[DataCount++] = Byte;//从#号开始存储数据到Z号结束
;;;129    		}
;;;130    		if (Byte == 'Z')
;;;131    		{
;;;132    			FinishDataCount++;
00003a  f04f0b02          MOV      r11,#2
00003e  2805              CMP      r0,#5                 ;115
000040  d26e              BCS      |L5.288|
000042  e8dff000          TBB      [pc,r0]               ;115
000046  6a14              DCB      0x6a,0x14
000048  0d280d00          DCB      0x0d,0x28,0x0d,0x00
                  |L5.76|
00004c  f8868001          STRB     r8,[r6,#1]            ;104
000050  8930              LDRH     r0,[r6,#8]            ;105  ; StartDataCount
000052  1c40              ADDS     r0,r0,#1              ;105
000054  b280              UXTH     r0,r0                 ;105
000056  8130              STRH     r0,[r6,#8]            ;105
000058  2801              CMP      r0,#1                 ;106
00005a  d1eb              BNE      |L5.52|
00005c  80b5              STRH     r5,[r6,#4]            ;108
00005e  e7e9              B        |L5.52|
000060  4639              MOV      r1,r7                 ;121
000062  4650              MOV      r0,r10                ;121
000064  f7fffffe          BL       __aeabi_memclr4
000068  f8868001          STRB     r8,[r6,#1]            ;122
00006c  80b5              STRH     r5,[r6,#4]            ;123
00006e  2c20              CMP      r4,#0x20              ;125
000070  d009              BEQ      |L5.134|
000072  88b0              LDRH     r0,[r6,#4]            ;127  ; DataCount
000074  42b8              CMP      r0,r7                 ;127
000076  d206              BCS      |L5.134|
000078  1c41              ADDS     r1,r0,#1              ;128
00007a  4448              ADD      r0,r0,r9              ;128
00007c  f5005000          ADD      r0,r0,#0x2000         ;128
000080  80b1              STRH     r1,[r6,#4]            ;128
000082  f8804d50          STRB     r4,[r0,#0xd50]        ;128
                  |L5.134|
000086  2c5a              CMP      r4,#0x5a              ;130
000088  d023              BEQ      |L5.210|
;;;133    			if (FinishDataCount == 2)
;;;134    			{
;;;135    				Status = teDecodCRC;
;;;136    			}
;;;137    			else
;;;138    			{
;;;139    				break;
;;;140    			}
;;;141    		}
;;;142    		else
;;;143    		{
;;;144    			FinishDataCount = 0;
00008a  80f5              STRH     r5,[r6,#6]
;;;145    			if (DataCount >= WifiBUFF_SIZE)
00008c  88b0              LDRH     r0,[r6,#4]  ; DataCount
00008e  42b8              CMP      r0,r7
000090  d343              BCC      |L5.282|
;;;146    			{
;;;147    				Status = teDecodLost;
000092  f886b001          STRB     r11,[r6,#1]
                  |L5.150|
;;;148    			}
;;;149    			else
;;;150    			{
;;;151    				break;
;;;152    			}
;;;153    		}
;;;154    
;;;155    	case teDecodCRC:
;;;156    
;;;157    		sscanf(&CenterCommand.CmdList.ReceiveData[DataCount - 8], "%04x", &Check_Sum);//接收中控校验码
000096  88b0              LDRH     r0,[r6,#4]  ; DataCount
000098  f6425148          MOV      r1,#0x2d48
00009c  4448              ADD      r0,r0,r9
00009e  4408              ADD      r0,r0,r1
0000a0  466a              MOV      r2,sp
0000a2  a123              ADR      r1,|L5.304|
0000a4  f7fffffe          BL       __0sscanf
;;;158    		Add_Sum = AddCheckSum(CenterCommand.CmdList.ReceiveData, DataCount - 8);//计算接收数据的校验码
0000a8  88b0              LDRH     r0,[r6,#4]  ; DataCount
0000aa  3808              SUBS     r0,r0,#8
0000ac  b201              SXTH     r1,r0
0000ae  4650              MOV      r0,r10
0000b0  f7fffffe          BL       AddCheckSum
0000b4  4601              MOV      r1,r0
;;;159    		if (Add_Sum == Check_Sum || (Check_Sum == 0))
0000b6  9800              LDR      r0,[sp,#0]
0000b8  4281              CMP      r1,r0
0000ba  d013              BEQ      |L5.228|
0000bc  b190              CBZ      r0,|L5.228|
;;;160    		{
;;;161    			memset(Original_Command_String, 0, sizeof(Original_Command_String));
;;;162    			strcpy(Original_Command_String, CenterCommand.CmdList.ReceiveData);//将接收的数据存到Original_Command_String数组中
;;;163    
;;;164    			memset(CenterCommand.CmdList.ReceiveData, 0, sizeof(CenterCommand.CmdList.ReceiveData));
;;;165    			CenterCommand.CmdList.RecesiveDate = strlen(Original_Command_String);//存储本次接收字符数据量
;;;166    			DataCount = 0;
;;;167    			Status = teDecodSuccess;
;;;168    			break;
;;;169    		}
;;;170    		else
;;;171    		{
;;;172    			memset(CenterCommand.CmdList.ReceiveData, 0, sizeof(CenterCommand.CmdList.ReceiveData));
0000be  4639              MOV      r1,r7
0000c0  4650              MOV      r0,r10
0000c2  f7fffffe          BL       __aeabi_memclr4
;;;173    			DataCount = 0;
0000c6  80b5              STRH     r5,[r6,#4]
;;;174    			Status = teDecodLost;
0000c8  f886b001          STRB     r11,[r6,#1]
;;;175    		}
;;;176    		if (Byte == '#')
0000cc  2c23              CMP      r4,#0x23
0000ce  d01f              BEQ      |L5.272|
0000d0  e023              B        |L5.282|
                  |L5.210|
0000d2  88f0              LDRH     r0,[r6,#6]            ;132  ; FinishDataCount
0000d4  1c40              ADDS     r0,r0,#1              ;132
0000d6  b280              UXTH     r0,r0                 ;132
0000d8  80f0              STRH     r0,[r6,#6]            ;132
0000da  2802              CMP      r0,#2                 ;133
0000dc  d11d              BNE      |L5.282|
0000de  2003              MOVS     r0,#3                 ;135
0000e0  7070              STRB     r0,[r6,#1]            ;135
0000e2  e7d8              B        |L5.150|
                  |L5.228|
0000e4  4639              MOV      r1,r7                 ;161
0000e6  4814              LDR      r0,|L5.312|
0000e8  f7fffffe          BL       __aeabi_memclr4
0000ec  4651              MOV      r1,r10                ;162
0000ee  4812              LDR      r0,|L5.312|
0000f0  f7fffffe          BL       strcpy
0000f4  4639              MOV      r1,r7                 ;164
0000f6  4650              MOV      r0,r10                ;164
0000f8  f7fffffe          BL       __aeabi_memclr4
0000fc  480e              LDR      r0,|L5.312|
0000fe  f7fffffe          BL       strlen
000102  490e              LDR      r1,|L5.316|
000104  f8c10b78          STR      r0,[r1,#0xb78]        ;165  ; CenterCommand
000108  80b5              STRH     r5,[r6,#4]            ;166
00010a  2004              MOVS     r0,#4                 ;167
00010c  7070              STRB     r0,[r6,#1]            ;167
00010e  e004              B        |L5.282|
                  |L5.272|
;;;177    		{
;;;178    			memset(CenterCommand.CmdList.ReceiveData, 0, sizeof(CenterCommand.CmdList.ReceiveData));
000110  4639              MOV      r1,r7
000112  4650              MOV      r0,r10
000114  f7fffffe          BL       __aeabi_memclr4
;;;179    			DataCount = 0;
000118  80b5              STRH     r5,[r6,#4]
                  |L5.282|
;;;180    		}
;;;181    		break;
;;;182    	
;;;183    	default:
;;;184    		while (1);
;;;185    	}
;;;186    	return Status;
00011a  7870              LDRB     r0,[r6,#1]  ; Status
;;;187    }
00011c  e8bd8ff8          POP      {r3-r11,pc}
                  |L5.288|
000120  e7fe              B        |L5.288|
;;;188    //求数组iCmd数组所有参数和的最小两位数
                          ENDP

000122  0000              DCW      0x0000
                  |L5.292|
                          DCD      ||.data||
                  |L5.296|
                          DCD      ||.bss||+0x8cac
                  |L5.300|
                          DCD      ||.bss||+0x5f5c
                  |L5.304|
000130  25303478          DCB      "%04x",0
000134  00      
000135  00                DCB      0
000136  00                DCB      0
000137  00                DCB      0
                  |L5.312|
                          DCD      ||.bss||+0x5dcc
                  |L5.316|
                          DCD      ||.bss||+0xcf5c

                          AREA ||i.CommandAnalysis||, CODE, READONLY, ALIGN=2

                  CommandAnalysis PROC
;;;423    /**关键字解码判断**/
;;;424    char CommandAnalysis(void)
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;425    {
;;;426    	//任何一处解码失败,程序就不会继续往下执行
;;;427    	uint8_t i;
;;;428    	int Status = 0;
;;;429    	CenterCommand.SendOrReply = sort_Default;
000004  4d2a              LDR      r5,|L6.176|
000006  2002              MOVS     r0,#2
000008  f8850b7c          STRB     r0,[r5,#0xb7c]
;;;430    	CenterCommand.Content = ct_Default;
00000c  2030              MOVS     r0,#0x30
00000e  f8850b7e          STRB     r0,[r5,#0xb7e]
;;;431    	Status = GetKeyWords(&CenterCommand.CmdList);//初步用,号判断有几段用,号隔开的数据且返回判断结果
000012  4828              LDR      r0,|L6.180|
000014  f7fffffe          BL       GetKeyWords
;;;432    	for (i = 0; i < sort_Size; i++)
000018  2400              MOVS     r4,#0
;;;433    	{
;;;434    		Status = strcasecmp(CenterCommand.CmdList.Cmd_List[2], SendOrReplyTypeDataCode[i]);//判断方向
00001a  4e27              LDR      r6,|L6.184|
00001c  4f27              LDR      r7,|L6.188|
                  |L6.30|
00001e  eb040084          ADD      r0,r4,r4,LSL #2
000022  eb060180          ADD      r1,r6,r0,LSL #2
000026  4638              MOV      r0,r7
000028  f7fffffe          BL       strcasecmp
;;;435    		if (Status == 0)
00002c  b380              CBZ      r0,|L6.144|
;;;436    		{
;;;437    			CenterCommand.SendOrReply = (teSendOrReplyType)i;//存储方向
;;;438    			break;
;;;439    		}
;;;440    		if (i == sort_Default)
00002e  2c02              CMP      r4,#2
000030  d032              BEQ      |L6.152|
000032  1c64              ADDS     r4,r4,#1              ;432
000034  b2e4              UXTB     r4,r4                 ;432
000036  2c03              CMP      r4,#3                 ;432
000038  d3f1              BCC      |L6.30|
                  |L6.58|
;;;441    		{
;;;442    			return 2;//失败返回2
;;;443    		}
;;;444    	}
;;;445    	for (i = 0; i < et_Size; i++)
00003a  2400              MOVS     r4,#0
;;;446    	{
;;;447    		Status = strcasecmp(CenterCommand.CmdList.Cmd_List[1], EquipmentTypeDataCode[i]);//判断动作(content)模式
00003c  4e1e              LDR      r6,|L6.184|
00003e  4f1f              LDR      r7,|L6.188|
000040  363c              ADDS     r6,r6,#0x3c
000042  3f28              SUBS     r7,r7,#0x28           ;429
                  |L6.68|
000044  eb040084          ADD      r0,r4,r4,LSL #2
000048  eb060180          ADD      r1,r6,r0,LSL #2
00004c  4638              MOV      r0,r7
00004e  f7fffffe          BL       strcasecmp
;;;448    		if (Status == 0)
000052  b318              CBZ      r0,|L6.156|
;;;449    		{
;;;450    			CenterCommand.EquipmentType = (teEquipmentType)i;//存储动作模式
;;;451    			break;
;;;452    		}
;;;453    		if (i == et_Default)
000054  2c03              CMP      r4,#3
000056  d024              BEQ      |L6.162|
000058  1c64              ADDS     r4,r4,#1              ;445
00005a  b2e4              UXTB     r4,r4                 ;445
00005c  2c04              CMP      r4,#4                 ;445
00005e  d3f1              BCC      |L6.68|
                  |L6.96|
;;;454    		{
;;;455    			return 3;//失败返回3
;;;456    		}
;;;457    	}
;;;458    	for (i = 0; i < ct_Size; i++)
000060  2400              MOVS     r4,#0
;;;459    	{
;;;460    		Status = strcasecmp(CenterCommand.CmdList.Cmd_List[3], ContentTypeDataCode[i]);//判断动作(content)模式
000062  4e15              LDR      r6,|L6.184|
000064  4f15              LDR      r7,|L6.188|
000066  368c              ADDS     r6,r6,#0x8c
000068  3728              ADDS     r7,r7,#0x28           ;429
                  |L6.106|
00006a  eb040044          ADD      r0,r4,r4,LSL #1
00006e  eb0000c4          ADD      r0,r0,r4,LSL #3
000072  eb060140          ADD      r1,r6,r0,LSL #1
000076  4638              MOV      r0,r7
000078  f7fffffe          BL       strcasecmp
;;;461    		if (Status == 0)
00007c  b198              CBZ      r0,|L6.166|
;;;462    		{
;;;463    			CenterCommand.Content = (teContentType)i;//存储动作模式
;;;464    			break;
;;;465    		}
;;;466    		if (i == ct_Default)
00007e  2c30              CMP      r4,#0x30
000080  d014              BEQ      |L6.172|
000082  1c64              ADDS     r4,r4,#1              ;458
000084  b2e4              UXTB     r4,r4                 ;458
000086  2c31              CMP      r4,#0x31              ;458
000088  d3ef              BCC      |L6.106|
                  |L6.138|
;;;467    		{
;;;468    			return 7;//失败返回7
;;;469    		}
;;;470    	}
;;;471    	return 0;
00008a  2000              MOVS     r0,#0
                  |L6.140|
;;;472    }
00008c  e8bd81f0          POP      {r4-r8,pc}
                  |L6.144|
000090  e7ff              B        |L6.146|
                  |L6.146|
000092  f8854b7c          STRB     r4,[r5,#0xb7c]        ;437
000096  e7d0              B        |L6.58|
                  |L6.152|
000098  2002              MOVS     r0,#2                 ;442
00009a  e7f7              B        |L6.140|
                  |L6.156|
00009c  f8854b7d          STRB     r4,[r5,#0xb7d]        ;450
0000a0  e7de              B        |L6.96|
                  |L6.162|
0000a2  2003              MOVS     r0,#3                 ;455
0000a4  e7f2              B        |L6.140|
                  |L6.166|
0000a6  f8854b7e          STRB     r4,[r5,#0xb7e]        ;463
0000aa  e7ee              B        |L6.138|
                  |L6.172|
0000ac  2007              MOVS     r0,#7                 ;468
0000ae  e7ed              B        |L6.140|
;;;473    /**设置或者回复指令**/
                          ENDP

                  |L6.176|
                          DCD      ||.bss||+0xcf5c
                  |L6.180|
                          DCD      ||.bss||+0x8cac
                  |L6.184|
                          DCD      ||.data||+0x10
                  |L6.188|
                          DCD      ||.bss||+0x8e8c

                          AREA ||i.Create_BodyTreaty||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_pre_padding
                          REQUIRE _printf_percent
                          REQUIRE _printf_flags
                          REQUIRE _printf_widthprec
                          REQUIRE _printf_x
                          REQUIRE _printf_longlong_hex
                          REQUIRE _printf_s
                          REQUIRE _printf_str
                  Create_BodyTreaty PROC
;;;549    //生成通讯协议
;;;550    void Create_BodyTreaty(bool AskAgainEnable, teEquipmentType EquipmentType, teSendOrReplyType SendOrReplyType, teContentType ContentType, char *Parameter)
000000  e92d43fe          PUSH     {r1-r9,lr}
;;;551    {
000004  f8dd8028          LDR      r8,[sp,#0x28]
000008  4607              MOV      r7,r0
00000a  460e              MOV      r6,r1
00000c  4615              MOV      r5,r2
00000e  461c              MOV      r4,r3
;;;552    	char CheckSum[4];
;;;553    	//先清零重发数据的字符数组
;;;554    	memset(Uart8SendBuff, 0, sizeof(Uart8SendBuff));
000010  f44f71c8          MOV      r1,#0x190
000014  482b              LDR      r0,|L7.196|
000016  f7fffffe          BL       __aeabi_memclr4
;;;555    	
;;;556    	if (agv.Parameter.AGVID != 0)//AGG ID号不等于0时设置AGVID
00001a  482b              LDR      r0,|L7.200|
00001c  8e82              LDRH     r2,[r0,#0x34]  ; agv
00001e  b11a              CBZ      r2,|L7.40|
;;;557    	{
;;;558    		sprintf(EquipmentTypeDataCode[0], "%04X", agv.Parameter.AGVID);
000020  a12a              ADR      r1,|L7.204|
000022  482c              LDR      r0,|L7.212|
000024  f7fffffe          BL       __2sprintf
                  |L7.40|
;;;559    	}
;;;560    	sprintf(Uart8SendBuff, "##,,%s,,%s,,%s,,%s,,", EquipmentTypeDataCode[EquipmentType], SendOrReplyTypeDataCode[SendOrReplyType],
000028  492a              LDR      r1,|L7.212|
00002a  eb040044          ADD      r0,r4,r4,LSL #1
00002e  eb0000c4          ADD      r0,r0,r4,LSL #3
000032  3150              ADDS     r1,r1,#0x50
000034  eb010040          ADD      r0,r1,r0,LSL #1
000038  e9cd0800          STRD     r0,r8,[sp,#0]
00003c  eb050085          ADD      r0,r5,r5,LSL #2
000040  398c              SUBS     r1,r1,#0x8c
000042  eb010380          ADD      r3,r1,r0,LSL #2
000046  eb060086          ADD      r0,r6,r6,LSL #2
00004a  313c              ADDS     r1,r1,#0x3c
00004c  eb010280          ADD      r2,r1,r0,LSL #2
000050  a121              ADR      r1,|L7.216|
000052  481c              LDR      r0,|L7.196|
000054  f7fffffe          BL       __2sprintf
;;;561    		ContentTypeDataCode[ContentType], Parameter);
;;;562    	
;;;563    	sprintf(CheckSum, "%04x,,ZZ", AddCheckSum(Uart8SendBuff, strlen(Uart8SendBuff)));
000058  481a              LDR      r0,|L7.196|
00005a  f7fffffe          BL       strlen
00005e  b201              SXTH     r1,r0
000060  4818              LDR      r0,|L7.196|
000062  f7fffffe          BL       AddCheckSum
000066  4602              MOV      r2,r0
000068  a121              ADR      r1,|L7.240|
00006a  a802              ADD      r0,sp,#8
00006c  f7fffffe          BL       __2sprintf
;;;564    	
;;;565    	strcat(Uart8SendBuff, CheckSum);
000070  a902              ADD      r1,sp,#8
000072  4814              LDR      r0,|L7.196|
000074  f7fffffe          BL       strcat
;;;566    	
;;;567    	WriteUart(COM6,(unsigned char*)Uart8SendBuff,strlen(Uart8SendBuff));
000078  4812              LDR      r0,|L7.196|
00007a  f7fffffe          BL       strlen
00007e  4602              MOV      r2,r0
000080  4910              LDR      r1,|L7.196|
000082  2006              MOVS     r0,#6
000084  f7fffffe          BL       WriteUart
;;;568    
;;;569    	memcpy(ReStructor.Matmesseg[ContentType], Uart8SendBuff, strlen(Uart8SendBuff));
000088  480e              LDR      r0,|L7.196|
00008a  f7fffffe          BL       strlen
00008e  4602              MOV      r2,r0
000090  eb0400c4          ADD      r0,r4,r4,LSL #3
000094  4d19              LDR      r5,|L7.252|
000096  eb001004          ADD      r0,r0,r4,LSL #4
00009a  eb051000          ADD      r0,r5,r0,LSL #4
00009e  f50060f5          ADD      r0,r0,#0x7a8
0000a2  4908              LDR      r1,|L7.196|
0000a4  f7fffffe          BL       __aeabi_memcpy4
;;;570    	//是否重发? 由Resend决定
;;;571    	ReStructor.MatmesEnable[ContentType] = AskAgainEnable;
0000a8  1928              ADDS     r0,r5,r4
0000aa  f50040a0          ADD      r0,r0,#0x5000
0000ae  f8807438          STRB     r7,[r0,#0x438]
;;;572    	//清零重发计时
;;;573    	ReStructor.Matmestime[ContentType] = 0;
0000b2  eb050084          ADD      r0,r5,r4,LSL #2
0000b6  f50040a0          ADD      r0,r0,#0x5000
0000ba  2100              MOVS     r1,#0
0000bc  f8c0146c          STR      r1,[r0,#0x46c]
;;;574    }
0000c0  e8bd83fe          POP      {r1-r9,pc}
;;;575    
                          ENDP

                  |L7.196|
                          DCD      ||.bss||+0x5c28
                  |L7.200|
                          DCD      agv
                  |L7.204|
0000cc  25303458          DCB      "%04X",0
0000d0  00      
0000d1  00                DCB      0
0000d2  00                DCB      0
0000d3  00                DCB      0
                  |L7.212|
                          DCD      ||.data||+0x4c
                  |L7.216|
0000d8  23232c2c          DCB      "##,,%s,,%s,,%s,,%s,,",0
0000dc  25732c2c
0000e0  25732c2c
0000e4  25732c2c
0000e8  25732c2c
0000ec  00      
0000ed  00                DCB      0
0000ee  00                DCB      0
0000ef  00                DCB      0
                  |L7.240|
0000f0  25303478          DCB      "%04x,,ZZ",0
0000f4  2c2c5a5a
0000f8  00      
0000f9  00                DCB      0
0000fa  00                DCB      0
0000fb  00                DCB      0
                  |L7.252|
                          DCD      ||.bss||+0x28

                          AREA ||i.GetKeyWords||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_percent
                          REQUIRE _printf_s
                          REQUIRE _printf_str
                          REQUIRE _printf_str
                          REQUIRE _printf_str
                  GetKeyWords PROC
;;;247    **************************/
;;;248    int GetKeyWords(tsCmdList * iList)
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;249    {
000004  4604              MOV      r4,r0
;;;250    	char *pch;
;;;251    	iList->Cmd_ListSize = 0;
000006  f5044580          ADD      r5,r4,#0x4000
00000a  2000              MOVS     r0,#0
00000c  f8c50e20          STR      r0,[r5,#0xe20]
;;;252    	pch = strtok(Original_Command_String, ",,");//将第一个没有用的,号排除
000010  a124              ADR      r1,|L8.164|
000012  4825              LDR      r0,|L8.168|
000014  f7fffffe          BL       strtok
000018  4606              MOV      r6,r0
;;;253    	while (pch != NULL)
00001a  e017              B        |L8.76|
                  |L8.28|
;;;254    	{
;;;255    		if (iList->Cmd_ListSize == 4)
00001c  f8d50e20          LDR      r0,[r5,#0xe20]
000020  2804              CMP      r0,#4
000022  d018              BEQ      |L8.86|
;;;256    		{
;;;257    			memset(iList->Cmd_Lt, 0, sizeof(iList->Cmd_Lt));
;;;258    			sprintf(iList->Cmd_Lt, "%s", pch);//单独存储指令接收到的参数	
;;;259    			sprintf(iList->Cmd_List[iList->Cmd_ListSize], "%s", "0");//将之前的第3号存储参数的位置存储为0字符			
;;;260    			memset(iList->Cmd_RoadParam, 0, sizeof(iList->Cmd_RoadParam));
;;;261    			memcpy(iList->Cmd_RoadParam, iList->Cmd_Lt, WifiBUFF_SIZE);
;;;262    		}
;;;263    		else
;;;264    		{
;;;265    			sprintf(iList->Cmd_List[iList->Cmd_ListSize], "%s", pch);
000024  eb000080          ADD      r0,r0,r0,LSL #2
000028  eb0400c0          ADD      r0,r4,r0,LSL #3
00002c  f50070c8          ADD      r0,r0,#0x190
000030  4632              MOV      r2,r6
000032  a11e              ADR      r1,|L8.172|
000034  f7fffffe          BL       __2sprintf
                  |L8.56|
;;;266    		}
;;;267    		iList->Cmd_ListSize++;
000038  f8d50e20          LDR      r0,[r5,#0xe20]
00003c  1c40              ADDS     r0,r0,#1
00003e  f8c50e20          STR      r0,[r5,#0xe20]
;;;268    		pch = strtok(NULL, ",,");
000042  a118              ADR      r1,|L8.164|
000044  2000              MOVS     r0,#0
000046  f7fffffe          BL       strtok
00004a  4606              MOV      r6,r0
                  |L8.76|
00004c  2e00              CMP      r6,#0                 ;253
00004e  d1e5              BNE      |L8.28|
;;;269    	}
;;;270    	return 0;//接收成功返回0
000050  2000              MOVS     r0,#0
;;;271    }
000052  e8bd81f0          POP      {r4-r8,pc}
                  |L8.86|
000056  f44f77c8          MOV      r7,#0x190             ;257
00005a  f5046048          ADD      r0,r4,#0xc80          ;257
00005e  4639              MOV      r1,r7                 ;257
000060  4680              MOV      r8,r0                 ;257
000062  f7fffffe          BL       __aeabi_memclr4
000066  4632              MOV      r2,r6                 ;258
000068  a110              ADR      r1,|L8.172|
00006a  4640              MOV      r0,r8                 ;258
00006c  f7fffffe          BL       __2sprintf
000070  f8d50e20          LDR      r0,[r5,#0xe20]        ;259
000074  a20e              ADR      r2,|L8.176|
000076  eb000080          ADD      r0,r0,r0,LSL #2       ;259
00007a  eb0400c0          ADD      r0,r4,r0,LSL #3       ;259
00007e  f50070c8          ADD      r0,r0,#0x190          ;259
000082  a10a              ADR      r1,|L8.172|
000084  f7fffffe          BL       __2sprintf
000088  f6444090          MOV      r0,#0x4c90            ;260
00008c  4420              ADD      r0,r0,r4              ;260
00008e  4639              MOV      r1,r7                 ;260
000090  4606              MOV      r6,r0                 ;260
000092  f7fffffe          BL       __aeabi_memclr4
000096  463a              MOV      r2,r7                 ;261
000098  4641              MOV      r1,r8                 ;261
00009a  4630              MOV      r0,r6                 ;261
00009c  f7fffffe          BL       __aeabi_memcpy4
0000a0  e7ca              B        |L8.56|
;;;272    /*************************
                          ENDP

0000a2  0000              DCW      0x0000
                  |L8.164|
0000a4  2c2c00            DCB      ",,",0
0000a7  00                DCB      0
                  |L8.168|
                          DCD      ||.bss||+0x5dcc
                  |L8.172|
0000ac  257300            DCB      "%s",0
0000af  00                DCB      0
                  |L8.176|
0000b0  3000              DCB      "0",0
0000b2  00                DCB      0
0000b3  00                DCB      0

                          AREA ||i.GetKeyWordschar||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_percent
                          REQUIRE _printf_s
                          REQUIRE _printf_str
                  GetKeyWordschar PROC
;;;274    **************************/
;;;275    int GetKeyWordschar(tsCmdListParam * iList, char *cmd, const char *str)
000000  b570              PUSH     {r4-r6,lr}
;;;276    {
000002  b08e              SUB      sp,sp,#0x38
000004  4604              MOV      r4,r0
000006  460e              MOV      r6,r1
000008  4615              MOV      r5,r2
;;;277    	char *pch;
;;;278    	char node_commonds[50] = { 0 };
00000a  2134              MOVS     r1,#0x34
00000c  a801              ADD      r0,sp,#4
00000e  f7fffffe          BL       __aeabi_memclr4
;;;279    	int length = strlen(cmd);
000012  4630              MOV      r0,r6
000014  f7fffffe          BL       strlen
000018  4602              MOV      r2,r0
;;;280    	memcpy(node_commonds, cmd, length);
00001a  4631              MOV      r1,r6
00001c  a801              ADD      r0,sp,#4
00001e  f7fffffe          BL       __aeabi_memcpy
;;;281    	iList->Cmd_ListSize = 0;
000022  2000              MOVS     r0,#0
000024  7020              STRB     r0,[r4,#0]
;;;282    	pch = strtok(node_commonds, str);//将第一个没有用的,号排除
000026  4629              MOV      r1,r5
000028  a801              ADD      r0,sp,#4
00002a  f7fffffe          BL       strtok
00002e  4602              MOV      r2,r0
;;;283    	while (pch != NULL)
000030  e010              B        |L9.84|
                  |L9.50|
;;;284    	{
;;;285    		sprintf(iList->Cmd_List[iList->Cmd_ListSize], "%s", pch);
000032  7820              LDRB     r0,[r4,#0]
000034  a10a              ADR      r1,|L9.96|
000036  ebc01000          RSB      r0,r0,r0,LSL #4
00003a  eb040040          ADD      r0,r4,r0,LSL #1
00003e  1c40              ADDS     r0,r0,#1
000040  f7fffffe          BL       __2sprintf
;;;286    		iList->Cmd_ListSize++;
000044  7820              LDRB     r0,[r4,#0]
000046  1c40              ADDS     r0,r0,#1
000048  7020              STRB     r0,[r4,#0]
;;;287    		pch = strtok(NULL, str);
00004a  4629              MOV      r1,r5
00004c  2000              MOVS     r0,#0
00004e  f7fffffe          BL       strtok
000052  4602              MOV      r2,r0
                  |L9.84|
000054  2a00              CMP      r2,#0                 ;283
000056  d1ec              BNE      |L9.50|
;;;288    	}
;;;289    	return 0;//接收成功返回0
;;;290    }
000058  b00e              ADD      sp,sp,#0x38
00005a  2000              MOVS     r0,#0                 ;289
00005c  bd70              POP      {r4-r6,pc}
;;;291    
                          ENDP

00005e  0000              DCW      0x0000
                  |L9.96|
000060  257300            DCB      "%s",0
000063  00                DCB      0

                          AREA ||i.Getparameters||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_percent
                          REQUIRE _printf_s
                          REQUIRE _printf_str
                  Getparameters PROC
;;;344    ********************************/
;;;345    int Getparameters(tsCmdList * iList)
000000  e92d4ff8          PUSH     {r3-r11,lr}
;;;346    {
000004  4681              MOV      r9,r0
;;;347    	uint16_t i = 0, ii = 0, j;
000006  2400              MOVS     r4,#0
000008  2600              MOVS     r6,#0
;;;348    	char *pch;
;;;349    	iList->Cmd_ParametersSize = 0;
00000a  f6446124          MOV      r1,#0x4e24
00000e  2000              MOVS     r0,#0
000010  f8410009          STR      r0,[r1,r9]
;;;350    
;;;351    	for (i = 0; i < ParamSize; i++)
000014  f44f75c8          MOV      r5,#0x190
                  |L10.24|
;;;352    	{
;;;353    		memset(iList->Cmd_parameters[i], 0, NameSize);//清除参数
000018  eb040084          ADD      r0,r4,r4,LSL #2
00001c  eb0900c0          ADD      r0,r9,r0,LSL #3
000020  f5006061          ADD      r0,r0,#0xe10
000024  2128              MOVS     r1,#0x28
000026  f7fffffe          BL       __aeabi_memclr4
00002a  1c64              ADDS     r4,r4,#1              ;351
00002c  b2a4              UXTH     r4,r4                 ;351
00002e  42ac              CMP      r4,r5                 ;351
000030  d3f2              BCC      |L10.24|
;;;354    	}
;;;355    
;;;356    	pch = strtok(iList->Cmd_Lt, "::");//分解参数
000032  a17d              ADR      r1,|L10.552|
000034  f5096048          ADD      r0,r9,#0xc80
000038  f7fffffe          BL       strtok
00003c  4602              MOV      r2,r0
;;;357    	while (pch != NULL)
00003e  e00f              B        |L10.96|
                  |L10.64|
;;;358    	{
;;;359    		sprintf(iList->Cmd_parameters[ii], "%s", pch);
000040  eb060086          ADD      r0,r6,r6,LSL #2
000044  eb0900c0          ADD      r0,r9,r0,LSL #3
000048  f5006061          ADD      r0,r0,#0xe10
00004c  a177              ADR      r1,|L10.556|
00004e  f7fffffe          BL       __2sprintf
;;;360    		pch = strtok(NULL, "::");
000052  a175              ADR      r1,|L10.552|
000054  2000              MOVS     r0,#0
000056  f7fffffe          BL       strtok
00005a  4602              MOV      r2,r0
;;;361    		ii++;//记录参数个数
00005c  1c76              ADDS     r6,r6,#1
00005e  b2b6              UXTH     r6,r6
                  |L10.96|
000060  2a00              CMP      r2,#0                 ;357
000062  d1ed              BNE      |L10.64|
;;;362    	}
;;;363    	if (strcasecmp(CenterCommand.CmdList.Cmd_List[3], "setlrout") == 0 )//&& !AGVStatus.TurnSelect )//当发送是路径指令时
000064  4875              LDR      r0,|L10.572|
000066  a172              ADR      r1,|L10.560|
000068  4605              MOV      r5,r0
00006a  f7fffffe          BL       strcasecmp
00006e  f8dfa1d0          LDR      r10,|L10.576|
000072  b970              CBNZ     r0,|L10.146|
;;;364    	{
;;;365    		for (i = 0; i < ii; i++)
000074  2400              MOVS     r4,#0
000076  e00a              B        |L10.142|
                  |L10.120|
;;;366    		{
;;;367    			memset(&CenterCommand.CmdListParam[i], 0, sizeof(CenterCommand.CmdListParam[i]));
000078  eb040044          ADD      r0,r4,r4,LSL #1
00007c  ebc01044          RSB      r0,r0,r4,LSL #5
000080  eb0a00c0          ADD      r0,r10,r0,LSL #3
000084  21e8              MOVS     r1,#0xe8
000086  f7fffffe          BL       __aeabi_memclr4
00008a  1c64              ADDS     r4,r4,#1              ;365
00008c  b2a4              UXTH     r4,r4                 ;365
                  |L10.142|
00008e  42b4              CMP      r4,r6                 ;365
000090  d3f2              BCC      |L10.120|
                  |L10.146|
;;;368    
;;;369    		}
;;;370    	}
;;;371    
;;;372    	CenterCommand.Paramcount = ii;//存储参数个数
000092  486c              LDR      r0,|L10.580|
000094  9000              STR      r0,[sp,#0]
000096  f8c061c0          STR      r6,[r0,#0x1c0]  ; CenterCommand
;;;373    	
;;;374    	if (strcasecmp(CenterCommand.CmdList.Cmd_List[3], "setlrout") == 0)//当发送是路径指令时
00009a  a165              ADR      r1,|L10.560|
00009c  4628              MOV      r0,r5
00009e  f7fffffe          BL       strcasecmp
0000a2  b108              CBZ      r0,|L10.168|
;;;375    	{
;;;376    		if(agv.Public.i_UpdatePathSig == 1)
;;;377    		{				
;;;378    			clearPathInfomation();
;;;379    			traffic_land_marks.size = ii;
;;;380    			for (i = 0; i < ii; i++)
;;;381    			{					
;;;382    				CenterCommand.RoadParamcount = ii;//存储参数个数
;;;383    
;;;384    				GetKeyWordschar(&CenterCommand.CmdListParam[i], iList->Cmd_parameters[i], "_");
;;;385    				for (j = 0; j < 2; j++)
;;;386    				{
;;;387    					CenterCommand.CmdListParam[i].Cmd_parameters[j] = strtoul(CenterCommand.CmdListParam[i].Cmd_List[j], NULL, 10);
;;;388    					
;;;389    					traffic_land_marks.land_marks[i].pose[j] = CenterCommand.CmdListParam[i].Cmd_parameters[j];
;;;390    				}
;;;391    				traffic_land_marks.land_marks[i].LaserArea = atoi(CenterCommand.CmdListParam[i].Cmd_List[CenterCommand.CmdListParam[i].Cmd_ListSize-1]);
;;;392    				traffic_land_marks.land_marks[i].DispatchSpeed = atoi(CenterCommand.CmdListParam[i].Cmd_List[CenterCommand.CmdListParam[i].Cmd_ListSize-2]);
;;;393    				 memcpy(&CenterCommand.CmdListParam[i].Cmd_Dir[0], &CenterCommand.CmdListParam[i].Cmd_List[CenterCommand.CmdListParam[i].Cmd_ListSize - 4], 2); //size
;;;394    				 memcpy(&CenterCommand.CmdListParam[i].Cmd_RotateDir[0], &CenterCommand.CmdListParam[i].Cmd_List[CenterCommand.CmdListParam[i].Cmd_ListSize - 3], 2); //size
;;;395    				if(CenterCommand.CmdListParam[i].Cmd_RotateDir[0] == 'p')
;;;396    					traffic_land_marks.land_marks[i].LightStopSig = 1;
;;;397    				else if(CenterCommand.CmdListParam[i].Cmd_RotateDir[0] == 'q')
;;;398    					traffic_land_marks.land_marks[i].LightStopSig = 2;
;;;399    				else
;;;400    					traffic_land_marks.land_marks[i].LightStopSig = 0;	
;;;401    				traffic_land_marks.land_marks[i].Direction = ActionProcess(CenterCommand.CmdListParam[i].Cmd_Dir[0],CenterCommand.CmdListParam[i].Cmd_RotateDir[0]);
;;;402    			}
;;;403    			agv.Public.i_UpdatePathSig = 0;
;;;404    			Reset_Alarm(0x0248);//清除脱线,停稳,系统停车
;;;405    		}
;;;406    	}
;;;407    	else
;;;408    	{
;;;409    		for (i = 0; i < ii; i++)
0000a4  2400              MOVS     r4,#0
0000a6  e0a8              B        |L10.506|
                  |L10.168|
0000a8  4867              LDR      r0,|L10.584|
0000aa  f8900093          LDRB     r0,[r0,#0x93]         ;376  ; agv
0000ae  2801              CMP      r0,#1                 ;376
0000b0  d17e              BNE      |L10.432|
0000b2  f7fffffe          BL       clearPathInfomation
0000b6  4865              LDR      r0,|L10.588|
0000b8  6046              STR      r6,[r0,#4]            ;379  ; traffic_land_marks
0000ba  f04f0800          MOV      r8,#0                 ;380
0000be  e070              B        |L10.418|
                  |L10.192|
0000c0  9800              LDR      r0,[sp,#0]            ;382
0000c2  f8c061c4          STR      r6,[r0,#0x1c4]        ;382  ; CenterCommand
0000c6  eb080088          ADD      r0,r8,r8,LSL #2       ;384
0000ca  eb0901c0          ADD      r1,r9,r0,LSL #3       ;384
0000ce  eb080048          ADD      r0,r8,r8,LSL #1       ;384
0000d2  ebc01b48          RSB      r11,r0,r8,LSL #5      ;384
0000d6  eb0a04cb          ADD      r4,r10,r11,LSL #3     ;384
0000da  f5016161          ADD      r1,r1,#0xe10          ;384
0000de  a25c              ADR      r2,|L10.592|
0000e0  4620              MOV      r0,r4                 ;384
0000e2  f7fffffe          BL       GetKeyWordschar
0000e6  2500              MOVS     r5,#0                 ;385
0000e8  4858              LDR      r0,|L10.588|
0000ea  eb080148          ADD      r1,r8,r8,LSL #1       ;389
0000ee  eb0007c1          ADD      r7,r0,r1,LSL #3       ;389
                  |L10.242|
0000f2  ebc51005          RSB      r0,r5,r5,LSL #4       ;387
0000f6  eb040040          ADD      r0,r4,r0,LSL #1       ;387
0000fa  1c40              ADDS     r0,r0,#1              ;387
0000fc  220a              MOVS     r2,#0xa               ;387
0000fe  2100              MOVS     r1,#0                 ;387
000100  f7fffffe          BL       strtoul
000104  eb040185          ADD      r1,r4,r5,LSL #2       ;387
000108  f8c100d8          STR      r0,[r1,#0xd8]         ;387
00010c  ee000a10          VMOV     s0,r0                 ;389
000110  eb070085          ADD      r0,r7,r5,LSL #2       ;389
000114  eeb80ac0          VCVT.F32.S32 s0,s0                 ;389
000118  ed800a03          VSTR     s0,[r0,#0xc]          ;389
00011c  1c6d              ADDS     r5,r5,#1              ;385
00011e  b2ad              UXTH     r5,r5                 ;385
000120  2d02              CMP      r5,#2                 ;385
000122  d3e6              BCC      |L10.242|
000124  f81a003b          LDRB     r0,[r10,r11,LSL #3]   ;391
000128  1e40              SUBS     r0,r0,#1              ;391
00012a  ebc01000          RSB      r0,r0,r0,LSL #4       ;391
00012e  eb040040          ADD      r0,r4,r0,LSL #1       ;391
000132  1c40              ADDS     r0,r0,#1              ;391
000134  f7fffffe          BL       atoi
000138  7638              STRB     r0,[r7,#0x18]         ;391
00013a  f81a003b          LDRB     r0,[r10,r11,LSL #3]   ;392
00013e  1e80              SUBS     r0,r0,#2              ;392
000140  ebc01000          RSB      r0,r0,r0,LSL #4       ;392
000144  eb040040          ADD      r0,r4,r0,LSL #1       ;392
000148  1c40              ADDS     r0,r0,#1              ;392
00014a  f7fffffe          BL       atoi
00014e  61f8              STR      r0,[r7,#0x1c]         ;392
000150  f81a003b          LDRB     r0,[r10,r11,LSL #3]   ;393
000154  f1040180          ADD      r1,r4,#0x80           ;393
000158  4602              MOV      r2,r0                 ;393
00015a  1f00              SUBS     r0,r0,#4              ;393
00015c  ebc01000          RSB      r0,r0,r0,LSL #4       ;393
000160  eb040040          ADD      r0,r4,r0,LSL #1       ;393
000164  f8b00001          LDRH     r0,[r0,#1]            ;393
000168  f8a400d3          STRH     r0,[r4,#0xd3]         ;393
00016c  1ed0              SUBS     r0,r2,#3              ;394
00016e  ebc01000          RSB      r0,r0,r0,LSL #4       ;394
000172  eb040040          ADD      r0,r4,r0,LSL #1       ;394
000176  f8b00001          LDRH     r0,[r0,#1]            ;394
00017a  f8a10055          STRH     r0,[r1,#0x55]         ;394
00017e  f89410d5          LDRB     r1,[r4,#0xd5]         ;395
000182  2970              CMP      r1,#0x70              ;395
000184  d01a              BEQ      |L10.444|
000186  2971              CMP      r1,#0x71              ;397
000188  d01c              BEQ      |L10.452|
00018a  2000              MOVS     r0,#0                 ;400
00018c  f8870020          STRB     r0,[r7,#0x20]         ;400
                  |L10.400|
000190  f89400d3          LDRB     r0,[r4,#0xd3]         ;401
000194  f7fffffe          BL       ActionProcess
000198  8378              STRH     r0,[r7,#0x1a]         ;401
00019a  f1080801          ADD      r8,r8,#1              ;380
00019e  fa1ff888          UXTH     r8,r8                 ;380
                  |L10.418|
0001a2  45b0              CMP      r8,r6                 ;380
0001a4  d38c              BCC      |L10.192|
0001a6  4928              LDR      r1,|L10.584|
0001a8  2000              MOVS     r0,#0                 ;403
0001aa  f8810093          STRB     r0,[r1,#0x93]         ;403
0001ae  e000              B        |L10.434|
                  |L10.432|
0001b0  e025              B        |L10.510|
                  |L10.434|
0001b2  f44f7012          MOV      r0,#0x248             ;404
0001b6  f7fffffe          BL       Reset_Alarm
0001ba  e020              B        |L10.510|
                  |L10.444|
0001bc  2001              MOVS     r0,#1                 ;396
0001be  f8870020          STRB     r0,[r7,#0x20]         ;396
0001c2  e7e5              B        |L10.400|
                  |L10.452|
0001c4  2002              MOVS     r0,#2                 ;398
0001c6  f8870020          STRB     r0,[r7,#0x20]         ;398
0001ca  e7e1              B        |L10.400|
                  |L10.460|
;;;410    		{
;;;411    			if(strcasecmp(CenterCommand.CmdList.Cmd_List[3], "settips") == 0)
0001cc  a121              ADR      r1,|L10.596|
0001ce  4628              MOV      r0,r5
0001d0  f7fffffe          BL       strcasecmp
0001d4  b1b0              CBZ      r0,|L10.516|
;;;412    			{
;;;413    				CenterCommand.Param[i] = strtoul(iList->Cmd_parameters[i], NULL, 16);
;;;414    			}
;;;415    			else
;;;416    			{
;;;417    				CenterCommand.Param[i] = strtoul(iList->Cmd_parameters[i], NULL, 10);//把接收的字符按10进制存储数据
0001d6  eb040084          ADD      r0,r4,r4,LSL #2
0001da  eb0900c0          ADD      r0,r9,r0,LSL #3
0001de  f5006061          ADD      r0,r0,#0xe10
0001e2  220a              MOVS     r2,#0xa
0001e4  2100              MOVS     r1,#0
0001e6  f7fffffe          BL       strtoul
0001ea  eb0a0184          ADD      r1,r10,r4,LSL #2
0001ee  f50141e0          ADD      r1,r1,#0x7000
0001f2  f8c10b80          STR      r0,[r1,#0xb80]
                  |L10.502|
0001f6  1c64              ADDS     r4,r4,#1              ;409
0001f8  b2a4              UXTH     r4,r4                 ;409
                  |L10.506|
0001fa  42b4              CMP      r4,r6                 ;409
0001fc  d3e6              BCC      |L10.460|
                  |L10.510|
;;;418    			}
;;;419    		}
;;;420    	}
;;;421    	return 0;//解码成功
0001fe  2000              MOVS     r0,#0
;;;422    }
000200  e8bd8ff8          POP      {r3-r11,pc}
                  |L10.516|
000204  eb040084          ADD      r0,r4,r4,LSL #2       ;413
000208  eb0900c0          ADD      r0,r9,r0,LSL #3       ;413
00020c  f5006061          ADD      r0,r0,#0xe10          ;413
000210  2210              MOVS     r2,#0x10              ;413
000212  2100              MOVS     r1,#0                 ;413
000214  f7fffffe          BL       strtoul
000218  eb0a0184          ADD      r1,r10,r4,LSL #2      ;413
00021c  f50141e0          ADD      r1,r1,#0x7000         ;413
000220  f8c10b80          STR      r0,[r1,#0xb80]        ;413
000224  e7e7              B        |L10.502|
;;;423    /**关键字解码判断**/
                          ENDP

000226  0000              DCW      0x0000
                  |L10.552|
000228  3a3a00            DCB      "::",0
00022b  00                DCB      0
                  |L10.556|
00022c  257300            DCB      "%s",0
00022f  00                DCB      0
                  |L10.560|
000230  7365746c          DCB      "setlrout",0
000234  726f7574
000238  00      
000239  00                DCB      0
00023a  00                DCB      0
00023b  00                DCB      0
                  |L10.572|
                          DCD      ||.bss||+0x8eb4
                  |L10.576|
                          DCD      ||.bss||+0x5f5c
                  |L10.580|
                          DCD      ||.bss||+0xdf5c
                  |L10.584|
                          DCD      agv
                  |L10.588|
                          DCD      ||.bss||+0x558c
                  |L10.592|
000250  5f00              DCB      "_",0
000252  00                DCB      0
000253  00                DCB      0
                  |L10.596|
000254  73657474          DCB      "settips",0
000258  69707300

                          AREA ||i.ParameterTransform||, CODE, READONLY, ALIGN=2

                  ParameterTransform PROC
;;;576    //将HEX 安装一定的格式转换成字符串
;;;577    char* ParameterTransform(char *fmt, ...)
000000  b40f              PUSH     {r0-r3}
;;;578    {
000002  b510              PUSH     {r4,lr}
;;;579    	int cnt = 0;
;;;580    	va_list argptr;
;;;581    	cnt = cnt;
;;;582    	va_start(argptr, fmt); //开始使用可变参数
000004  aa03              ADD      r2,sp,#0xc
;;;583    	cnt = vsprintf(ParamBuff, fmt, argptr);//格式化输出
000006  4804              LDR      r0,|L11.24|
000008  9902              LDR      r1,[sp,#8]
00000a  f7fffffe          BL       vsprintf
;;;584    	va_end(argptr);//结束使用可变参数
;;;585    	return(ParamBuff);
;;;586    }
00000e  bc10              POP      {r4}
000010  4801              LDR      r0,|L11.24|
000012  f85dfb14          LDR      pc,[sp],#0x14
;;;587    
                          ENDP

000016  0000              DCW      0x0000
                  |L11.24|
                          DCD      ||.bss||

                          AREA ||i.Recive_check||, CODE, READONLY, ALIGN=2

                  Recive_check PROC
;;;593     */
;;;594    void Recive_check(void)
000000  b570              PUSH     {r4-r6,lr}
;;;595    {
;;;596    	uint8_t ii;
;;;597    	for (ii = 0; ii < ct_Size; ii++)
000002  2400              MOVS     r4,#0
;;;598    	{
;;;599    		if (strcasecmp(GeCmddate, ReStructor.Matmes[ii]) == 0)
000004  4d09              LDR      r5,|L12.44|
000006  2600              MOVS     r6,#0                 ;597
                  |L12.8|
000008  eb040084          ADD      r0,r4,r4,LSL #2
00000c  eb0501c0          ADD      r1,r5,r0,LSL #3
000010  4807              LDR      r0,|L12.48|
000012  f7fffffe          BL       strcasecmp
000016  b920              CBNZ     r0,|L12.34|
;;;600    			ReStructor.MatmesEnable[ii] = 0;
000018  1928              ADDS     r0,r5,r4
00001a  f50040a0          ADD      r0,r0,#0x5000
00001e  f8806438          STRB     r6,[r0,#0x438]
                  |L12.34|
000022  1c64              ADDS     r4,r4,#1              ;597
000024  b2e4              UXTB     r4,r4                 ;597
000026  2c31              CMP      r4,#0x31              ;597
000028  d3ee              BCC      |L12.8|
;;;601    	}
;;;602    }
00002a  bd70              POP      {r4-r6,pc}
;;;603    /*
                          ENDP

                  |L12.44|
                          DCD      ||.bss||+0x28
                  |L12.48|
                          DCD      ||.bss||+0x5db8

                          AREA ||i.SendOrReplyTypeHandle||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_percent
                          REQUIRE _printf_s
                          REQUIRE _printf_str
                  SendOrReplyTypeHandle PROC
;;;473    /**设置或者回复指令**/
;;;474    void SendOrReplyTypeHandle(void)
000000  b510              PUSH     {r4,lr}
;;;475    {
;;;476    	switch (CenterCommand.SendOrReply)
000002  4812              LDR      r0,|L13.76|
000004  f8901b7c          LDRB     r1,[r0,#0xb7c]  ; CenterCommand
000008  4811              LDR      r0,|L13.80|
00000a  2900              CMP      r1,#0
00000c  d010              BEQ      |L13.48|
00000e  2901              CMP      r1,#1
000010  d11a              BNE      |L13.72|
;;;477    	{
;;;478    	case sort_Receive:
;;;479    		if (Getparameters(&CenterCommand.CmdList) != 0)return;
000012  f7fffffe          BL       Getparameters
000016  2800              CMP      r0,#0
000018  d116              BNE      |L13.72|
;;;480    		memset(GeCmddate, 0, sizeof(GeCmddate));
00001a  2114              MOVS     r1,#0x14
00001c  480d              LDR      r0,|L13.84|
00001e  f7fffffe          BL       __aeabi_memclr4
;;;481    		sprintf(GeCmddate, "%s", CenterCommand.CmdList.Cmd_List[3]);//获得中控回复指令
000022  e8bd4010          POP      {r4,lr}
000026  4a0c              LDR      r2,|L13.88|
000028  a10c              ADR      r1,|L13.92|
00002a  480a              LDR      r0,|L13.84|
00002c  f7ffbffe          B.W      __2sprintf
                  |L13.48|
;;;482    		break;
;;;483    	
;;;484    	case sort_Send:
;;;485    		if (Getparameters(&CenterCommand.CmdList) != 0)
000030  f7fffffe          BL       Getparameters
000034  2800              CMP      r0,#0
000036  d107              BNE      |L13.72|
;;;486    			return;
;;;487    		if (agv.Command.Au_Hand)//自动模式
000038  4809              LDR      r0,|L13.96|
00003a  7900              LDRB     r0,[r0,#4]  ; agv
00003c  2800              CMP      r0,#0
00003e  d003              BEQ      |L13.72|
;;;488    			Bady_DictateTypeHandle();//获得中控发送指令
000040  e8bd4010          POP      {r4,lr}
000044  f7ffbffe          B.W      Bady_DictateTypeHandle
                  |L13.72|
;;;489    		break;
;;;490    		
;;;491    	default:break;
;;;492    	}
;;;493    }
000048  bd10              POP      {r4,pc}
;;;494    
                          ENDP

00004a  0000              DCW      0x0000
                  |L13.76|
                          DCD      ||.bss||+0xcf5c
                  |L13.80|
                          DCD      ||.bss||+0x8cac
                  |L13.84|
                          DCD      ||.bss||+0x5db8
                  |L13.88|
                          DCD      ||.bss||+0x8eb4
                  |L13.92|
00005c  257300            DCB      "%s",0
00005f  00                DCB      0
                  |L13.96|
                          DCD      agv

                          AREA ||i.SysACKcheck||, CODE, READONLY, ALIGN=2

                  SysACKcheck PROC
;;;608     */
;;;609    void SysACKcheck(void)
000000  e92d47f0          PUSH     {r4-r10,lr}
;;;610    {
;;;611    	uint8_t ii;
;;;612    	static bool iFirst = true;
;;;613    	static u32 LastTime = 0;
;;;614    	if (iFirst)
000004  4f29              LDR      r7,|L14.172|
000006  2600              MOVS     r6,#0
;;;615    	{
;;;616    		iFirst = false;
;;;617    		for (ii = 0; ii < ct_Size; ii++)
;;;618    		{
;;;619    			memset(ReStructor.Matmes[ii], 0, STRING_SIZE);
000008  4d29              LDR      r5,|L14.176|
00000a  78b8              LDRB     r0,[r7,#2]            ;614  ; iFirst
00000c  2800              CMP      r0,#0                 ;614
00000e  d019              BEQ      |L14.68|
000010  70be              STRB     r6,[r7,#2]            ;616
000012  2400              MOVS     r4,#0                 ;617
                  |L14.20|
000014  eb040084          ADD      r0,r4,r4,LSL #2
000018  eb0500c0          ADD      r0,r5,r0,LSL #3
00001c  2128              MOVS     r1,#0x28
00001e  f7fffffe          BL       __aeabi_memclr4
;;;620    			ReStructor.MatmesEnable[ii] = 0;
000022  1928              ADDS     r0,r5,r4
000024  f50040a0          ADD      r0,r0,#0x5000
000028  f8806438          STRB     r6,[r0,#0x438]
;;;621    			ReStructor.Matmestime[ii] = 0;
00002c  eb050084          ADD      r0,r5,r4,LSL #2
000030  f50040a0          ADD      r0,r0,#0x5000
000034  f8c0646c          STR      r6,[r0,#0x46c]
000038  1c64              ADDS     r4,r4,#1              ;617
00003a  b2e4              UXTB     r4,r4                 ;617
00003c  2c31              CMP      r4,#0x31              ;617
00003e  d3e9              BCC      |L14.20|
                  |L14.64|
;;;622    		}
;;;623    	}
;;;624    	else
;;;625    	{
;;;626    		for (ii = 0; ii < ct_Size; ii++)
;;;627    		{
;;;628    			//如果相应标志位为1/true ,切时间>1.5S,重发
;;;629    			if (ReStructor.MatmesEnable[ii] && (agv.Public.SystemTime - LastTime >= 1500))//重发间隔时间
;;;630    			{
;;;631    				LastTime = agv.Public.SystemTime;
;;;632    				
;;;633    				memset(Uart8SendBuff, 0, sizeof(Uart8SendBuff));
;;;634    				//将要重发的数据复制回来
;;;635    				memcpy(Uart8SendBuff, ReStructor.Matmesseg[ii], WifiBUFF_SIZE);
;;;636    				
;;;637    				WriteUart(COM6,(unsigned char*)Uart8SendBuff,sizeof(Uart8SendBuff));
;;;638    				//重发时间清零
;;;639    				ReStructor.Matmestime[ii] = 0;
;;;640    				//ReStructor.Matmes_Num[ii]++;
;;;641    				//if (ReStructor.Matmes_Num[ii] >= 5)//决定发送个数
;;;642    				//{
;;;643    				//	ReStructor.Matmes_Num[ii] = 0;
;;;644    				//	ReStructor.MatmesEnable[ii] = 0;
;;;645    				//}
;;;646    			}
;;;647    		}
;;;648    	}
;;;649    }
000040  e8bd87f0          POP      {r4-r10,pc}
                  |L14.68|
000044  2400              MOVS     r4,#0                 ;626
000046  f8df806c          LDR      r8,|L14.180|
                  |L14.74|
00004a  1928              ADDS     r0,r5,r4              ;629
00004c  f50040a0          ADD      r0,r0,#0x5000         ;629
000050  f8900438          LDRB     r0,[r0,#0x438]        ;629
000054  b328              CBZ      r0,|L14.162|
000056  f8d800bc          LDR      r0,[r8,#0xbc]         ;629  ; agv
00005a  68f9              LDR      r1,[r7,#0xc]          ;629  ; LastTime
00005c  f24052dc          MOV      r2,#0x5dc             ;629
000060  1a41              SUBS     r1,r0,r1              ;629
000062  4291              CMP      r1,r2                 ;629
000064  d31d              BCC      |L14.162|
000066  60f8              STR      r0,[r7,#0xc]          ;631  ; LastTime
000068  f44f79c8          MOV      r9,#0x190             ;633
00006c  4649              MOV      r1,r9                 ;633
00006e  4812              LDR      r0,|L14.184|
000070  f7fffffe          BL       __aeabi_memclr4
000074  eb0400c4          ADD      r0,r4,r4,LSL #3       ;635
000078  eb001004          ADD      r0,r0,r4,LSL #4       ;635
00007c  eb051100          ADD      r1,r5,r0,LSL #4       ;635
000080  f50161f5          ADD      r1,r1,#0x7a8          ;635
000084  464a              MOV      r2,r9                 ;635
000086  480c              LDR      r0,|L14.184|
000088  f7fffffe          BL       __aeabi_memcpy4
00008c  464a              MOV      r2,r9                 ;637
00008e  490a              LDR      r1,|L14.184|
000090  2006              MOVS     r0,#6                 ;637
000092  f7fffffe          BL       WriteUart
000096  eb050084          ADD      r0,r5,r4,LSL #2       ;639
00009a  f50040a0          ADD      r0,r0,#0x5000         ;639
00009e  f8c0646c          STR      r6,[r0,#0x46c]        ;639
                  |L14.162|
0000a2  1c64              ADDS     r4,r4,#1              ;626
0000a4  b2e4              UXTB     r4,r4                 ;626
0000a6  2c31              CMP      r4,#0x31              ;626
0000a8  d3cf              BCC      |L14.74|
0000aa  e7c9              B        |L14.64|
;;;650    
                          ENDP

                  |L14.172|
                          DCD      ||.data||
                  |L14.176|
                          DCD      ||.bss||+0x28
                  |L14.180|
                          DCD      agv
                  |L14.184|
                          DCD      ||.bss||+0x5c28

                          AREA ||i.UartReceiveDataFromSystem||, CODE, READONLY, ALIGN=2

                  UartReceiveDataFromSystem PROC
;;;650    
;;;651    void UartReceiveDataFromSystem()
000000  b570              PUSH     {r4-r6,lr}
;;;652    {
000002  b0e4              SUB      sp,sp,#0x190
;;;653    	unsigned char buff[400];
;;;654    	unsigned int len;
;;;655    	unsigned i;
;;;656    	len = ReadUart(COM6,buff,400);	
000004  f44f72c8          MOV      r2,#0x190
000008  4669              MOV      r1,sp
00000a  2006              MOVS     r0,#6
00000c  f7fffffe          BL       ReadUart
000010  4606              MOV      r6,r0
;;;657    	if( len > 0)   
000012  0030              MOVS     r0,r6
000014  d024              BEQ      |L15.96|
;;;658    	{
;;;659    //		WriteUart(COM1,buff,len);
;;;660    		for(i = 0; i < len; i++)
000016  2500              MOVS     r5,#0
;;;661    		{
;;;662    			/**解碼接收的數據**/
;;;663    			if (CenterCommand.NewReceive == false)
000018  4c13              LDR      r4,|L15.104|
00001a  e01f              B        |L15.92|
                  |L15.28|
00001c  f89401d0          LDRB     r0,[r4,#0x1d0]  ; CenterCommand
000020  b948              CBNZ     r0,|L15.54|
;;;664    			{
;;;665    				if (CenterDecode(buff[i], &CenterCommand.CmdList) == teDecodSuccess)
000022  f81d0005          LDRB     r0,[sp,r5]
000026  4911              LDR      r1,|L15.108|
000028  f7fffffe          BL       CenterDecode
00002c  2804              CMP      r0,#4
00002e  d102              BNE      |L15.54|
;;;666    				{
;;;667    					CenterCommand.NewReceive = true;
000030  2001              MOVS     r0,#1
000032  f88401d0          STRB     r0,[r4,#0x1d0]
                  |L15.54|
;;;668    				}
;;;669    			}
;;;670    			/**處理接收的數據**/
;;;671    			if (CenterCommand.NewReceive)
000036  f89401d0          LDRB     r0,[r4,#0x1d0]  ; CenterCommand
00003a  b170              CBZ      r0,|L15.90|
;;;672    			{
;;;673    				if (CommandAnalysis() == 0)  //解码命令字
00003c  f7fffffe          BL       CommandAnalysis
000040  b908              CBNZ     r0,|L15.70|
;;;674    				{
;;;675    					SendOrReplyTypeHandle();		// 命令字码处理
000042  f7fffffe          BL       SendOrReplyTypeHandle
                  |L15.70|
;;;676    				}
;;;677    				CenterCommand.NewReceive = false;
000046  2000              MOVS     r0,#0
000048  f88401d0          STRB     r0,[r4,#0x1d0]
;;;678    				//如果接收回来的数据是中控应答的,不再做处理
;;;679    				if (CenterCommand.SendOrReply == sort_Receive)//判断是否是接受中控协议
00004c  4808              LDR      r0,|L15.112|
00004e  f8900b7c          LDRB     r0,[r0,#0xb7c]  ; CenterCommand
000052  2801              CMP      r0,#1
000054  d101              BNE      |L15.90|
;;;680    				{
;;;681    					Recive_check();	//取消重新发送
000056  f7fffffe          BL       Recive_check
                  |L15.90|
00005a  1c6d              ADDS     r5,r5,#1              ;660
                  |L15.92|
00005c  42b5              CMP      r5,r6                 ;660
00005e  d3dd              BCC      |L15.28|
                  |L15.96|
;;;682    				}
;;;683    			}
;;;684    		}
;;;685    	}
;;;686    	SysACKcheck();
000060  f7fffffe          BL       SysACKcheck
;;;687    }
000064  b064              ADD      sp,sp,#0x190
000066  bd70              POP      {r4-r6,pc}
;;;688    
                          ENDP

                  |L15.104|
                          DCD      ||.bss||+0xdf5c
                  |L15.108|
                          DCD      ||.bss||+0x8cac
                  |L15.112|
                          DCD      ||.bss||+0xcf5c

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  ParamBuff
                          %        40
                  ReStructor
                          %        21860
                  traffic_land_marks
                          %        1692
                  Uart8SendBuff
                          %        400
                  GeCmddate
                          %        20
                  Original_Command_String
                          %        400
                  CenterCommand
                          %        33244

                          AREA ||.data||, DATA, ALIGN=2

                  sFirst
000000  00                DCB      0x00
                  Status
000001  00                DCB      0x00
                  iFirst
000002  0100              DCB      0x01,0x00
                  DataCount
000004  0000              DCW      0x0000
                  FinishDataCount
000006  0000              DCW      0x0000
                  StartDataCount
000008  0000              DCW      0x0000
00000a  0000              DCB      0x00,0x00
                  LastTime
                          DCD      0x00000000
                  SendOrReplyTypeDataCode
000010  73000000          DCB      0x73,0x00,0x00,0x00
                          %        16
000024  72000000          DCB      0x72,0x00,0x00,0x00
                          %        16
000038  44656661          DCB      0x44,0x65,0x66,0x61
00003c  756c7400          DCB      0x75,0x6c,0x74,0x00
                          %        12
                  EquipmentTypeDataCode
00004c  41303032          DCB      0x41,0x30,0x30,0x32
000050  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000060  42313233          DCB      0x42,0x31,0x32,0x33
000064  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000074  42313234          DCB      0x42,0x31,0x32,0x34
000078  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000088  44656661          DCB      0x44,0x65,0x66,0x61
00008c  756c7400          DCB      0x75,0x6c,0x74,0x00
                          %        12
                  ContentTypeDataCode
00009c  72707461          DCB      0x72,0x70,0x74,0x61
0000a0  63000000          DCB      0x63,0x00,0x00,0x00
                          %        12
0000b0  00006765          DCB      0x00,0x00,0x67,0x65
0000b4  74616300          DCB      0x74,0x61,0x63,0x00
                          %        16
0000c8  67657476          DCB      0x67,0x65,0x74,0x76
0000cc  6f6c0000          DCB      0x6f,0x6c,0x00,0x00
                          %        12
0000dc  00006765          DCB      0x00,0x00,0x67,0x65
0000e0  74657272          DCB      0x74,0x65,0x72,0x72
0000e4  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
0000f4  67657473          DCB      0x67,0x65,0x74,0x73
0000f8  70640000          DCB      0x70,0x64,0x00,0x00
                          %        12
000108  00006765          DCB      0x00,0x00,0x67,0x65
00010c  746d7400          DCB      0x74,0x6d,0x74,0x00
                          %        16
000120  72707465          DCB      0x72,0x70,0x74,0x65
000124  72720000          DCB      0x72,0x72,0x00,0x00
                          %        12
000134  00007270          DCB      0x00,0x00,0x72,0x70
000138  74736361          DCB      0x74,0x73,0x63,0x61
00013c  6e000000          DCB      0x6e,0x00,0x00,0x00
                          %        12
00014c  7270746d          DCB      0x72,0x70,0x74,0x6d
000150  74000000          DCB      0x74,0x00,0x00,0x00
                          %        12
000160  00007270          DCB      0x00,0x00,0x72,0x70
000164  74727470          DCB      0x74,0x72,0x74,0x70
000168  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000178  72707476          DCB      0x72,0x70,0x74,0x76
00017c  6f6c0000          DCB      0x6f,0x6c,0x00,0x00
                          %        12
00018c  00007270          DCB      0x00,0x00,0x72,0x70
000190  74766d6f          DCB      0x74,0x76,0x6d,0x6f
000194  74000000          DCB      0x74,0x00,0x00,0x00
                          %        12
0001a4  72707469          DCB      0x72,0x70,0x74,0x69
0001a8  6e000000          DCB      0x6e,0x00,0x00,0x00
                          %        12
0001b8  00007270          DCB      0x00,0x00,0x72,0x70
0001bc  746c6163          DCB      0x74,0x6c,0x61,0x63
0001c0  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
0001d0  72707473          DCB      0x72,0x70,0x74,0x73
0001d4  74617274          DCB      0x74,0x61,0x72,0x74
0001d8  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
0001e4  00007270          DCB      0x00,0x00,0x72,0x70
0001e8  74747261          DCB      0x74,0x74,0x72,0x61
0001ec  76656c00          DCB      0x76,0x65,0x6c,0x00
                          %        12
0001fc  7270746d          DCB      0x72,0x70,0x74,0x6d
000200  745f7468          DCB      0x74,0x5f,0x74,0x68
000204  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
000210  00007270          DCB      0x00,0x00,0x72,0x70
000214  74737064          DCB      0x74,0x73,0x70,0x64
000218  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000228  7270746d          DCB      0x72,0x70,0x74,0x6d
00022c  6f646500          DCB      0x6f,0x64,0x65,0x00
                          %        12
00023c  00007270          DCB      0x00,0x00,0x72,0x70
000240  74676f00          DCB      0x74,0x67,0x6f,0x00
                          %        16
000254  72707470          DCB      0x72,0x70,0x74,0x70
000258  6f730000          DCB      0x6f,0x73,0x00,0x00
                          %        12
000268  00007270          DCB      0x00,0x00,0x72,0x70
00026c  74626163          DCB      0x74,0x62,0x61,0x63
000270  6b000000          DCB      0x6b,0x00,0x00,0x00
                          %        12
000280  7274706c          DCB      0x72,0x74,0x70,0x6c
000284  61796572          DCB      0x61,0x79,0x65,0x72
000288  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
000294  00007270          DCB      0x00,0x00,0x72,0x70
000298  74616e67          DCB      0x74,0x61,0x6e,0x67
00029c  6c650000          DCB      0x6c,0x65,0x00,0x00
                          %        12
0002ac  72656c65          DCB      0x72,0x65,0x6c,0x65
0002b0  61677600          DCB      0x61,0x67,0x76,0x00
                          %        12
0002c0  00006361          DCB      0x00,0x00,0x63,0x61
0002c4  6c6c6167          DCB      0x6c,0x6c,0x61,0x67
0002c8  76000000          DCB      0x76,0x00,0x00,0x00
                          %        12
0002d8  73657474          DCB      0x73,0x65,0x74,0x74
0002dc  61736b00          DCB      0x61,0x73,0x6b,0x00
                          %        12
0002ec  00007365          DCB      0x00,0x00,0x73,0x65
0002f0  74726f75          DCB      0x74,0x72,0x6f,0x75
0002f4  74000000          DCB      0x74,0x00,0x00,0x00
                          %        12
000304  73657473          DCB      0x73,0x65,0x74,0x73
000308  74700000          DCB      0x74,0x70,0x00,0x00
                          %        12
000318  00007365          DCB      0x00,0x00,0x73,0x65
00031c  74737064          DCB      0x74,0x73,0x70,0x64
000320  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000330  73657472          DCB      0x73,0x65,0x74,0x72
000334  74700000          DCB      0x74,0x70,0x00,0x00
                          %        12
000344  00007365          DCB      0x00,0x00,0x73,0x65
000348  74747261          DCB      0x74,0x74,0x72,0x61
00034c  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
00035c  7365746d          DCB      0x73,0x65,0x74,0x6d
000360  6f760000          DCB      0x6f,0x76,0x00,0x00
                          %        12
000370  00007365          DCB      0x00,0x00,0x73,0x65
000374  74766d6f          DCB      0x74,0x76,0x6d,0x6f
000378  74000000          DCB      0x74,0x00,0x00,0x00
                          %        12
000388  7365746c          DCB      0x73,0x65,0x74,0x6c
00038c  6f636b00          DCB      0x6f,0x63,0x6b,0x00
                          %        12
00039c  00007365          DCB      0x00,0x00,0x73,0x65
0003a0  7461766f          DCB      0x74,0x61,0x76,0x6f
0003a4  69640000          DCB      0x69,0x64,0x00,0x00
                          %        12
0003b4  7365746d          DCB      0x73,0x65,0x74,0x6d
0003b8  75736963          DCB      0x75,0x73,0x69,0x63
0003bc  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
0003c8  00007365          DCB      0x00,0x00,0x73,0x65
0003cc  746c6173          DCB      0x74,0x6c,0x61,0x73
0003d0  65720000          DCB      0x65,0x72,0x00,0x00
                          %        12
0003e0  7365746f          DCB      0x73,0x65,0x74,0x6f
0003e4  75740000          DCB      0x75,0x74,0x00,0x00
                          %        12
0003f4  00007365          DCB      0x00,0x00,0x73,0x65
0003f8  746c726f          DCB      0x74,0x6c,0x72,0x6f
0003fc  75740000          DCB      0x75,0x74,0x00,0x00
                          %        12
00040c  7365746c          DCB      0x73,0x65,0x74,0x6c
000410  61796572          DCB      0x61,0x79,0x65,0x72
000414  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
000420  00007365          DCB      0x00,0x00,0x73,0x65
000424  74616e67          DCB      0x74,0x61,0x6e,0x67
000428  6c650000          DCB      0x6c,0x65,0x00,0x00
                          %        12
000438  64656c72          DCB      0x64,0x65,0x6c,0x72
00043c  74700000          DCB      0x74,0x70,0x00,0x00
                          %        12
00044c  00007365          DCB      0x00,0x00,0x73,0x65
000450  74746376          DCB      0x74,0x74,0x63,0x76
000454  6f696365          DCB      0x6f,0x69,0x63,0x65
000458  00000000          DCB      0x00,0x00,0x00,0x00
                          %        8
000464  7270746e          DCB      0x72,0x70,0x74,0x6e
000468  6f646500          DCB      0x6f,0x64,0x65,0x00
                          %        12
000478  00007270          DCB      0x00,0x00,0x72,0x70
00047c  746c696e          DCB      0x74,0x6c,0x69,0x6e
000480  65000000          DCB      0x65,0x00,0x00,0x00
                          %        12
000490  73657474          DCB      0x73,0x65,0x74,0x74
000494  69707300          DCB      0x69,0x70,0x73,0x00
                          %        12
0004a4  00007072          DCB      0x00,0x00,0x70,0x72
0004a8  696e7400          DCB      0x69,0x6e,0x74,0x00
                          %        16
0004bc  44656661          DCB      0x44,0x65,0x66,0x61
0004c0  756c7400          DCB      0x75,0x6c,0x74,0x00
                          %        12
0004d0  0000              DCB      0x00,0x00

                          AREA ||area_number.20||, DATA, ALIGN=0

                          EXPORTAS ||area_number.20||, ||.data||
                  SlaveStationIdCode
000000  42303031          DCB      0x42,0x30,0x30,0x31
000004  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000014  42303032          DCB      0x42,0x30,0x30,0x32
000018  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000028  42303033          DCB      0x42,0x30,0x30,0x33
00002c  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
00003c  43303031          DCB      0x43,0x30,0x30,0x31
000040  00000000          DCB      0x00,0x00,0x00,0x00
                          %        12
000050  44656661          DCB      0x44,0x65,0x66,0x61
000054  756c7400          DCB      0x75,0x6c,0x74,0x00
                          %        12

;*** Start embedded assembler ***

#line 1 "..\\..\\User\\DATAUPDATE\\CommunicationForCenter.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___24_CommunicationForCenter_c_429c268a____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___24_CommunicationForCenter_c_429c268a____REV16| PROC
#line 130

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___24_CommunicationForCenter_c_429c268a____REVSH|
#line 144
|__asm___24_CommunicationForCenter_c_429c268a____REVSH| PROC
#line 145

 revsh r0, r0
 bx lr
	ENDP
	AREA ||.rrx_text||, CODE
	THUMB
	EXPORT |__asm___24_CommunicationForCenter_c_429c268a____RRX|
#line 300
|__asm___24_CommunicationForCenter_c_429c268a____RRX| PROC
#line 301

 rrx r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***