level.c 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000
  1. #include "stdint.h"
  2. #include "cang.h"
  3. #include "stdint.h"
  4. #include "string.h"
  5. #include "stdio.h"
  6. #include "usart.h"
  7. #include "config.h"
  8. #include "rkg.h"
  9. #include "cang.h"
  10. #include "kzq.h"
  11. #include "level.h"
  12. #include "tem.h"
  13. #include "angle.h"
  14. #include "xyf.h"
  15. #include "main.h"
  16. Level_Inf level_inf[SENSOR_DEEP];
  17. #define PI 3.1415926
  18. #define Buffer_Size 20
  19. //static uint16 oil_densit[30] = //平均密度
  20. //{720,720,725,725,737,737,753, //汽油: 89、90、92、93、95、97、98
  21. // 830,835,840,830,820,820,850,870,}; //柴油: 5、0、-10、-20、-30、-35、10、20
  22. //
  23. //static float oil_coe[30]=
  24. //{0.85,0.85,0.85,0.85,0.83,0.83,0.80, //温度,密度系数表
  25. // 0.69,0.69,0.68,0.69,0.70,0.70,0.67,0.65,
  26. //};
  27. //static uint16_t level_up[8] = {1903,2059,2122,2106,2096,
  28. //};
  29. //static uint16_t level_low[8] = {1238,1419,1382,1441,1371,
  30. //};
  31. // 1-N仓罐容表
  32. const uint16_t H_1cang[200] = {
  33. 0,
  34. 1293,
  35. 1296,
  36. 1299,
  37. 1302,
  38. 1305,
  39. 1308,
  40. 1311,
  41. 1314,
  42. 1317,
  43. 1320,
  44. 1323,
  45. 1326,
  46. 1329,
  47. 1331,
  48. 1334,
  49. 1337,
  50. 1340,
  51. 1343,
  52. 1346,
  53. 1349,
  54. 1352,
  55. 1355,
  56. 1358,
  57. 1361,
  58. 1364,
  59. 1367,
  60. 1370,
  61. 1373,
  62. 1376,
  63. 1379,
  64. 1382,
  65. 1385,
  66. 1388,
  67. 1391,
  68. 1394,
  69. 1397,
  70. 1400,
  71. 1403,
  72. 1406,
  73. 1409,
  74. 1412,
  75. 1415,
  76. 1418,
  77. 1421,
  78. 1424,
  79. 1427,
  80. 1430,
  81. 1434,
  82. 1437,
  83. 1440,
  84. 1443,
  85. 1446,
  86. 1449,
  87. 1452,
  88. 1455,
  89. 1458,
  90. 1462,
  91. 1465,
  92. 1468,
  93. 1471,
  94. 1474,
  95. 1477,
  96. 1480,
  97. 1484,
  98. 1487,
  99. 1490,
  100. 1493,
  101. 1496,
  102. 1499,
  103. 1503,
  104. 1506,
  105. 1509,
  106. 1512,
  107. 1515,
  108. 1519,
  109. 1522,
  110. 1525,
  111. 1528,
  112. 1531,
  113. 1535,
  114. 1538,
  115. 1541,
  116. 1544,
  117. 1548,
  118. 1551,
  119. 1554,
  120. 1557,
  121. 1560,
  122. 1564,
  123. 1567,
  124. 1570,
  125. 1573,
  126. 1577,
  127. 1580,
  128. 1583,
  129. 1587,
  130. 1590,
  131. 1593,
  132. 1596,
  133. 1600,
  134. 1603,
  135. 1606,
  136. 1610,
  137. 1613,
  138. 1616,
  139. 1619,
  140. 1623,
  141. 1626,
  142. 1630,
  143. 1633,
  144. 1636,
  145. 1640,
  146. 1643,
  147. 1647,
  148. 1650,
  149. 1654,
  150. 1657,
  151. 1661,
  152. 1665,
  153. 1668,
  154. 1672,
  155. 1675,
  156. 1679,
  157. 1683,
  158. 1686,
  159. 1690,
  160. 1694,
  161. 1697,
  162. 1701,
  163. 1705,
  164. 1709,
  165. 1712,
  166. 1716,
  167. 1720,
  168. 1724,
  169. 1728,
  170. 1731,
  171. 1735,
  172. 1739,
  173. 1743,
  174. 1747,
  175. 1751,
  176. 1755,
  177. 1759,
  178. 1763,
  179. 1768,
  180. 1772,
  181. 1776,
  182. 1780,
  183. 1785,
  184. 1789,
  185. 1793,
  186. 1798,
  187. 1802,
  188. 1807,
  189. 1812,
  190. 1817,
  191. 1821,
  192. 1827,
  193. 1832,
  194. 1837,
  195. 1843,
  196. 1849,
  197. 1855,
  198. 1861,
  199. };
  200. const uint16_t H_2cang[200] = {
  201. 0,
  202. 1314,
  203. 1317,
  204. 1320,
  205. 1323,
  206. 1326,
  207. 1329,
  208. 1332,
  209. 1335,
  210. 1338,
  211. 1341,
  212. 1344,
  213. 1347,
  214. 1350,
  215. 1353,
  216. 1356,
  217. 1359,
  218. 1362,
  219. 1365,
  220. 1368,
  221. 1371,
  222. 1374,
  223. 1377,
  224. 1380,
  225. 1383,
  226. 1386,
  227. 1389,
  228. 1392,
  229. 1395,
  230. 1398,
  231. 1401,
  232. 1404,
  233. 1407,
  234. 1410,
  235. 1413,
  236. 1416,
  237. 1419,
  238. 1422,
  239. 1426,
  240. 1429,
  241. 1432,
  242. 1435,
  243. 1438,
  244. 1441,
  245. 1444,
  246. 1447,
  247. 1450,
  248. 1453,
  249. 1456,
  250. 1460,
  251. 1463,
  252. 1466,
  253. 1469,
  254. 1472,
  255. 1475,
  256. 1478,
  257. 1482,
  258. 1485,
  259. 1488,
  260. 1491,
  261. 1494,
  262. 1497,
  263. 1501,
  264. 1504,
  265. 1507,
  266. 1510,
  267. 1513,
  268. 1517,
  269. 1520,
  270. 1523,
  271. 1526,
  272. 1530,
  273. 1533,
  274. 1536,
  275. 1539,
  276. 1542,
  277. 1546,
  278. 1549,
  279. 1552,
  280. 1555,
  281. 1559,
  282. 1562,
  283. 1565,
  284. 1569,
  285. 1572,
  286. 1575,
  287. 1578,
  288. 1582,
  289. 1585,
  290. 1588,
  291. 1592,
  292. 1595,
  293. 1598,
  294. 1602,
  295. 1605,
  296. 1608,
  297. 1612,
  298. 1615,
  299. 1618,
  300. 1622,
  301. 1625,
  302. 1628,
  303. 1632,
  304. 1635,
  305. 1639,
  306. 1642,
  307. 1645,
  308. 1649,
  309. 1652,
  310. 1656,
  311. 1659,
  312. 1663,
  313. 1667,
  314. 1670,
  315. 1674,
  316. 1677,
  317. 1681,
  318. 1685,
  319. 1688,
  320. 1692,
  321. 1696,
  322. 1700,
  323. 1703,
  324. 1707,
  325. 1711,
  326. 1715,
  327. 1719,
  328. 1723,
  329. 1727,
  330. 1730,
  331. 1734,
  332. 1738,
  333. 1742,
  334. 1747,
  335. 1751,
  336. 1755,
  337. 1759,
  338. 1763,
  339. 1767,
  340. 1771,
  341. 1776,
  342. 1780,
  343. 1785,
  344. 1789,
  345. 1793,
  346. 1798,
  347. 1803,
  348. 1807,
  349. 1812,
  350. 1817,
  351. 1821,
  352. 1826,
  353. 1831,
  354. 1835,
  355. 1840,
  356. 1846,
  357. 1851,
  358. 1857,
  359. 1864,
  360. 1870,
  361. 1877,
  362. };
  363. const uint16_t H_3cang[200] = {
  364. 0,
  365. 1292,
  366. 1295,
  367. 1298,
  368. 1301,
  369. 1304,
  370. 1307,
  371. 1310,
  372. 1313,
  373. 1316,
  374. 1319,
  375. 1321,
  376. 1324,
  377. 1327,
  378. 1330,
  379. 1333,
  380. 1336,
  381. 1339,
  382. 1342,
  383. 1345,
  384. 1348,
  385. 1351,
  386. 1354,
  387. 1357,
  388. 1360,
  389. 1363,
  390. 1366,
  391. 1369,
  392. 1372,
  393. 1375,
  394. 1378,
  395. 1381,
  396. 1384,
  397. 1387,
  398. 1390,
  399. 1393,
  400. 1396,
  401. 1399,
  402. 1402,
  403. 1405,
  404. 1408,
  405. 1411,
  406. 1414,
  407. 1417,
  408. 1420,
  409. 1424,
  410. 1427,
  411. 1430,
  412. 1433,
  413. 1436,
  414. 1439,
  415. 1442,
  416. 1445,
  417. 1448,
  418. 1451,
  419. 1454,
  420. 1457,
  421. 1460,
  422. 1464,
  423. 1467,
  424. 1470,
  425. 1473,
  426. 1476,
  427. 1479,
  428. 1482,
  429. 1485,
  430. 1488,
  431. 1492,
  432. 1495,
  433. 1498,
  434. 1501,
  435. 1504,
  436. 1507,
  437. 1510,
  438. 1514,
  439. 1517,
  440. 1520,
  441. 1523,
  442. 1526,
  443. 1530,
  444. 1533,
  445. 1536,
  446. 1539,
  447. 1542,
  448. 1546,
  449. 1549,
  450. 1552,
  451. 1555,
  452. 1559,
  453. 1562,
  454. 1565,
  455. 1568,
  456. 1572,
  457. 1575,
  458. 1578,
  459. 1582,
  460. 1585,
  461. 1588,
  462. 1591,
  463. 1595,
  464. 1598,
  465. 1601,
  466. 1605,
  467. 1608,
  468. 1611,
  469. 1615,
  470. 1618,
  471. 1622,
  472. 1625,
  473. 1629,
  474. 1632,
  475. 1636,
  476. 1639,
  477. 1643,
  478. 1646,
  479. 1650,
  480. 1653,
  481. 1657,
  482. 1660,
  483. 1664,
  484. 1668,
  485. 1671,
  486. 1675,
  487. 1679,
  488. 1683,
  489. 1686,
  490. 1690,
  491. 1694,
  492. 1698,
  493. 1702,
  494. 1705,
  495. 1709,
  496. 1713,
  497. 1717,
  498. 1721,
  499. 1725,
  500. 1729,
  501. 1732,
  502. 1736,
  503. 1740,
  504. 1744,
  505. 1748,
  506. 1752,
  507. 1757,
  508. 1761,
  509. 1765,
  510. 1769,
  511. 1773,
  512. 1778,
  513. 1782,
  514. 1787,
  515. 1791,
  516. 1796,
  517. 1800,
  518. 1805,
  519. 1810,
  520. 1815,
  521. 1820,
  522. 1825,
  523. 1830,
  524. 1835,
  525. 1841,
  526. 1846,
  527. 1852,
  528. 1857,
  529. 1863,
  530. };
  531. const uint16_t H_4cang[200] = {
  532. 0,
  533. 1304,
  534. 1307,
  535. 1310,
  536. 1313,
  537. 1316,
  538. 1318,
  539. 1321,
  540. 1324,
  541. 1327,
  542. 1330,
  543. 1333,
  544. 1336,
  545. 1339,
  546. 1342,
  547. 1345,
  548. 1348,
  549. 1350,
  550. 1353,
  551. 1356,
  552. 1359,
  553. 1362,
  554. 1365,
  555. 1368,
  556. 1371,
  557. 1374,
  558. 1377,
  559. 1380,
  560. 1383,
  561. 1386,
  562. 1389,
  563. 1392,
  564. 1395,
  565. 1398,
  566. 1401,
  567. 1404,
  568. 1407,
  569. 1410,
  570. 1413,
  571. 1416,
  572. 1419,
  573. 1422,
  574. 1425,
  575. 1428,
  576. 1431,
  577. 1434,
  578. 1437,
  579. 1440,
  580. 1444,
  581. 1447,
  582. 1450,
  583. 1453,
  584. 1456,
  585. 1459,
  586. 1462,
  587. 1465,
  588. 1468,
  589. 1471,
  590. 1475,
  591. 1478,
  592. 1481,
  593. 1484,
  594. 1487,
  595. 1490,
  596. 1494,
  597. 1497,
  598. 1500,
  599. 1503,
  600. 1506,
  601. 1509,
  602. 1513,
  603. 1516,
  604. 1519,
  605. 1522,
  606. 1526,
  607. 1529,
  608. 1532,
  609. 1535,
  610. 1539,
  611. 1542,
  612. 1545,
  613. 1548,
  614. 1552,
  615. 1555,
  616. 1558,
  617. 1562,
  618. 1565,
  619. 1568,
  620. 1572,
  621. 1575,
  622. 1578,
  623. 1582,
  624. 1585,
  625. 1588,
  626. 1592,
  627. 1595,
  628. 1599,
  629. 1602,
  630. 1605,
  631. 1609,
  632. 1612,
  633. 1616,
  634. 1619,
  635. 1623,
  636. 1626,
  637. 1630,
  638. 1633,
  639. 1637,
  640. 1640,
  641. 1644,
  642. 1647,
  643. 1651,
  644. 1655,
  645. 1658,
  646. 1662,
  647. 1666,
  648. 1669,
  649. 1673,
  650. 1677,
  651. 1680,
  652. 1684,
  653. 1688,
  654. 1692,
  655. 1696,
  656. 1699,
  657. 1703,
  658. 1707,
  659. 1711,
  660. 1715,
  661. 1719,
  662. 1723,
  663. 1727,
  664. 1731,
  665. 1735,
  666. 1739,
  667. 1743,
  668. 1747,
  669. 1751,
  670. 1756,
  671. 1760,
  672. 1764,
  673. 1769,
  674. 1773,
  675. 1778,
  676. 1782,
  677. 1787,
  678. 1791,
  679. 1796,
  680. 1801,
  681. 1805,
  682. 1810,
  683. 1815,
  684. 1820,
  685. 1825,
  686. 1830,
  687. 1835,
  688. 1840,
  689. 1846,
  690. 1851,
  691. 1857,
  692. 1863,
  693. };
  694. uint16_t Volume_1cang[200] = {
  695. 0,
  696. 8000,
  697. 8020,
  698. 8040,
  699. 8060,
  700. 8080,
  701. 8100,
  702. 8120,
  703. 8140,
  704. 8160,
  705. 8180,
  706. 8200,
  707. 8220,
  708. 8240,
  709. 8260,
  710. 8280,
  711. 8300,
  712. 8320,
  713. 8340,
  714. 8360,
  715. 8380,
  716. 8400,
  717. 8420,
  718. 8440,
  719. 8460,
  720. 8480,
  721. 8500,
  722. 8520,
  723. 8540,
  724. 8560,
  725. 8580,
  726. 8600,
  727. 8620,
  728. 8640,
  729. 8660,
  730. 8680,
  731. 8700,
  732. 8720,
  733. 8740,
  734. 8760,
  735. 8780,
  736. 8800,
  737. 8820,
  738. 8840,
  739. 8860,
  740. 8880,
  741. 8900,
  742. 8920,
  743. 8940,
  744. 8960,
  745. 8980,
  746. 9000,
  747. 9020,
  748. 9040,
  749. 9060,
  750. 9080,
  751. 9100,
  752. 9120,
  753. 9140,
  754. 9160,
  755. 9180,
  756. 9200,
  757. 9220,
  758. 9240,
  759. 9260,
  760. 9280,
  761. 9300,
  762. 9320,
  763. 9340,
  764. 9360,
  765. 9380,
  766. 9400,
  767. 9420,
  768. 9440,
  769. 9460,
  770. 9480,
  771. 9500,
  772. 9520,
  773. 9540,
  774. 9560,
  775. 9580,
  776. 9600,
  777. 9620,
  778. 9640,
  779. 9660,
  780. 9680,
  781. 9700,
  782. 9720,
  783. 9740,
  784. 9760,
  785. 9780,
  786. 9800,
  787. 9820,
  788. 9840,
  789. 9860,
  790. 9880,
  791. 9900,
  792. 9920,
  793. 9940,
  794. 9960,
  795. 9980,
  796. 10000,
  797. 10020,
  798. 10040,
  799. 10060,
  800. 10080,
  801. 10100,
  802. 10120,
  803. 10140,
  804. 10160,
  805. 10180,
  806. 10200,
  807. 10220,
  808. 10240,
  809. 10260,
  810. 10280,
  811. 10300,
  812. 10320,
  813. 10340,
  814. 10360,
  815. 10380,
  816. 10400,
  817. 10420,
  818. 10440,
  819. 10460,
  820. 10480,
  821. 10500,
  822. 10520,
  823. 10540,
  824. 10560,
  825. 10580,
  826. 10600,
  827. 10620,
  828. 10640,
  829. 10660,
  830. 10680,
  831. 10700,
  832. 10720,
  833. 10740,
  834. 10760,
  835. 10780,
  836. 10800,
  837. 10820,
  838. 10840,
  839. 10860,
  840. 10880,
  841. 10900,
  842. 10920,
  843. 10940,
  844. 10960,
  845. 10980,
  846. 11000,
  847. 11020,
  848. 11040,
  849. 11060,
  850. 11080,
  851. 11100,
  852. 11120,
  853. 11140,
  854. 11160,
  855. 11180,
  856. 11200,
  857. 11220,
  858. 11240,
  859. 11260,
  860. 11280,
  861. };
  862. uint16_t Volume_2cang[200] = {
  863. 0,
  864. 8000,
  865. 8020,
  866. 8040,
  867. 8060,
  868. 8080,
  869. 8100,
  870. 8120,
  871. 8140,
  872. 8160,
  873. 8180,
  874. 8200,
  875. 8220,
  876. 8240,
  877. 8260,
  878. 8280,
  879. 8300,
  880. 8320,
  881. 8340,
  882. 8360,
  883. 8380,
  884. 8400,
  885. 8420,
  886. 8440,
  887. 8460,
  888. 8480,
  889. 8500,
  890. 8520,
  891. 8540,
  892. 8560,
  893. 8580,
  894. 8600,
  895. 8620,
  896. 8640,
  897. 8660,
  898. 8680,
  899. 8700,
  900. 8720,
  901. 8740,
  902. 8760,
  903. 8780,
  904. 8800,
  905. 8820,
  906. 8840,
  907. 8860,
  908. 8880,
  909. 8900,
  910. 8920,
  911. 8940,
  912. 8960,
  913. 8980,
  914. 9000,
  915. 9020,
  916. 9040,
  917. 9060,
  918. 9080,
  919. 9100,
  920. 9120,
  921. 9140,
  922. 9160,
  923. 9180,
  924. 9200,
  925. 9220,
  926. 9240,
  927. 9260,
  928. 9280,
  929. 9300,
  930. 9320,
  931. 9340,
  932. 9360,
  933. 9380,
  934. 9400,
  935. 9420,
  936. 9440,
  937. 9460,
  938. 9480,
  939. 9500,
  940. 9520,
  941. 9540,
  942. 9560,
  943. 9580,
  944. 9600,
  945. 9620,
  946. 9640,
  947. 9660,
  948. 9680,
  949. 9700,
  950. 9720,
  951. 9740,
  952. 9760,
  953. 9780,
  954. 9800,
  955. 9820,
  956. 9840,
  957. 9860,
  958. 9880,
  959. 9900,
  960. 9920,
  961. 9940,
  962. 9960,
  963. 9980,
  964. 10000,
  965. 10020,
  966. 10040,
  967. 10060,
  968. 10080,
  969. 10100,
  970. 10120,
  971. 10140,
  972. 10160,
  973. 10180,
  974. 10200,
  975. 10220,
  976. 10240,
  977. 10260,
  978. 10280,
  979. 10300,
  980. 10320,
  981. 10340,
  982. 10360,
  983. 10380,
  984. 10400,
  985. 10420,
  986. 10440,
  987. 10460,
  988. 10480,
  989. 10500,
  990. 10520,
  991. 10540,
  992. 10560,
  993. 10580,
  994. 10600,
  995. 10620,
  996. 10640,
  997. 10660,
  998. 10680,
  999. 10700,
  1000. 10720,
  1001. 10740,
  1002. 10760,
  1003. 10780,
  1004. 10800,
  1005. 10820,
  1006. 10840,
  1007. 10860,
  1008. 10880,
  1009. 10900,
  1010. 10920,
  1011. 10940,
  1012. 10960,
  1013. 10980,
  1014. 11000,
  1015. 11020,
  1016. 11040,
  1017. 11060,
  1018. 11080,
  1019. 11100,
  1020. 11120,
  1021. 11140,
  1022. 11160,
  1023. 11180,
  1024. };
  1025. uint16_t Volume_3cang[200] = {
  1026. 0,
  1027. 8000,
  1028. 8020,
  1029. 8040,
  1030. 8060,
  1031. 8080,
  1032. 8100,
  1033. 8120,
  1034. 8140,
  1035. 8160,
  1036. 8180,
  1037. 8200,
  1038. 8220,
  1039. 8240,
  1040. 8260,
  1041. 8280,
  1042. 8300,
  1043. 8320,
  1044. 8340,
  1045. 8360,
  1046. 8380,
  1047. 8400,
  1048. 8420,
  1049. 8440,
  1050. 8460,
  1051. 8480,
  1052. 8500,
  1053. 8520,
  1054. 8540,
  1055. 8560,
  1056. 8580,
  1057. 8600,
  1058. 8620,
  1059. 8640,
  1060. 8660,
  1061. 8680,
  1062. 8700,
  1063. 8720,
  1064. 8740,
  1065. 8760,
  1066. 8780,
  1067. 8800,
  1068. 8820,
  1069. 8840,
  1070. 8860,
  1071. 8880,
  1072. 8900,
  1073. 8920,
  1074. 8940,
  1075. 8960,
  1076. 8980,
  1077. 9000,
  1078. 9020,
  1079. 9040,
  1080. 9060,
  1081. 9080,
  1082. 9100,
  1083. 9120,
  1084. 9140,
  1085. 9160,
  1086. 9180,
  1087. 9200,
  1088. 9220,
  1089. 9240,
  1090. 9260,
  1091. 9280,
  1092. 9300,
  1093. 9320,
  1094. 9340,
  1095. 9360,
  1096. 9380,
  1097. 9400,
  1098. 9420,
  1099. 9440,
  1100. 9460,
  1101. 9480,
  1102. 9500,
  1103. 9520,
  1104. 9540,
  1105. 9560,
  1106. 9580,
  1107. 9600,
  1108. 9620,
  1109. 9640,
  1110. 9660,
  1111. 9680,
  1112. 9700,
  1113. 9720,
  1114. 9740,
  1115. 9760,
  1116. 9780,
  1117. 9800,
  1118. 9820,
  1119. 9840,
  1120. 9860,
  1121. 9880,
  1122. 9900,
  1123. 9920,
  1124. 9940,
  1125. 9960,
  1126. 9980,
  1127. 10000,
  1128. 10020,
  1129. 10040,
  1130. 10060,
  1131. 10080,
  1132. 10100,
  1133. 10120,
  1134. 10140,
  1135. 10160,
  1136. 10180,
  1137. 10200,
  1138. 10220,
  1139. 10240,
  1140. 10260,
  1141. 10280,
  1142. 10300,
  1143. 10320,
  1144. 10340,
  1145. 10360,
  1146. 10380,
  1147. 10400,
  1148. 10420,
  1149. 10440,
  1150. 10460,
  1151. 10480,
  1152. 10500,
  1153. 10520,
  1154. 10540,
  1155. 10560,
  1156. 10580,
  1157. 10600,
  1158. 10620,
  1159. 10640,
  1160. 10660,
  1161. 10680,
  1162. 10700,
  1163. 10720,
  1164. 10740,
  1165. 10760,
  1166. 10780,
  1167. 10800,
  1168. 10820,
  1169. 10840,
  1170. 10860,
  1171. 10880,
  1172. 10900,
  1173. 10920,
  1174. 10940,
  1175. 10960,
  1176. 10980,
  1177. 11000,
  1178. 11020,
  1179. 11040,
  1180. 11060,
  1181. 11080,
  1182. 11100,
  1183. 11120,
  1184. 11140,
  1185. 11160,
  1186. 11180,
  1187. 11200,
  1188. 11220,
  1189. 11240,
  1190. 11260,
  1191. 11280,
  1192. };
  1193. uint16_t Volume_4cang[200] = {
  1194. 0,
  1195. 8000,
  1196. 8020,
  1197. 8040,
  1198. 8060,
  1199. 8080,
  1200. 8100,
  1201. 8120,
  1202. 8140,
  1203. 8160,
  1204. 8180,
  1205. 8200,
  1206. 8220,
  1207. 8240,
  1208. 8260,
  1209. 8280,
  1210. 8300,
  1211. 8320,
  1212. 8340,
  1213. 8360,
  1214. 8380,
  1215. 8400,
  1216. 8420,
  1217. 8440,
  1218. 8460,
  1219. 8480,
  1220. 8500,
  1221. 8520,
  1222. 8540,
  1223. 8560,
  1224. 8580,
  1225. 8600,
  1226. 8620,
  1227. 8640,
  1228. 8660,
  1229. 8680,
  1230. 8700,
  1231. 8720,
  1232. 8740,
  1233. 8760,
  1234. 8780,
  1235. 8800,
  1236. 8820,
  1237. 8840,
  1238. 8860,
  1239. 8880,
  1240. 8900,
  1241. 8920,
  1242. 8940,
  1243. 8960,
  1244. 8980,
  1245. 9000,
  1246. 9020,
  1247. 9040,
  1248. 9060,
  1249. 9080,
  1250. 9100,
  1251. 9120,
  1252. 9140,
  1253. 9160,
  1254. 9180,
  1255. 9200,
  1256. 9220,
  1257. 9240,
  1258. 9260,
  1259. 9280,
  1260. 9300,
  1261. 9320,
  1262. 9340,
  1263. 9360,
  1264. 9380,
  1265. 9400,
  1266. 9420,
  1267. 9440,
  1268. 9460,
  1269. 9480,
  1270. 9500,
  1271. 9520,
  1272. 9540,
  1273. 9560,
  1274. 9580,
  1275. 9600,
  1276. 9620,
  1277. 9640,
  1278. 9660,
  1279. 9680,
  1280. 9700,
  1281. 9720,
  1282. 9740,
  1283. 9760,
  1284. 9780,
  1285. 9800,
  1286. 9820,
  1287. 9840,
  1288. 9860,
  1289. 9880,
  1290. 9900,
  1291. 9920,
  1292. 9940,
  1293. 9960,
  1294. 9980,
  1295. 10000,
  1296. 10020,
  1297. 10040,
  1298. 10060,
  1299. 10080,
  1300. 10100,
  1301. 10120,
  1302. 10140,
  1303. 10160,
  1304. 10180,
  1305. 10200,
  1306. 10220,
  1307. 10240,
  1308. 10260,
  1309. 10280,
  1310. 10300,
  1311. 10320,
  1312. 10340,
  1313. 10360,
  1314. 10380,
  1315. 10400,
  1316. 10420,
  1317. 10440,
  1318. 10460,
  1319. 10480,
  1320. 10500,
  1321. 10520,
  1322. 10540,
  1323. 10560,
  1324. 10580,
  1325. 10600,
  1326. 10620,
  1327. 10640,
  1328. 10660,
  1329. 10680,
  1330. 10700,
  1331. 10720,
  1332. 10740,
  1333. 10760,
  1334. 10780,
  1335. 10800,
  1336. 10820,
  1337. 10840,
  1338. 10860,
  1339. 10880,
  1340. 10900,
  1341. 10920,
  1342. 10940,
  1343. 10960,
  1344. 10980,
  1345. 11000,
  1346. 11020,
  1347. 11040,
  1348. 11060,
  1349. 11080,
  1350. 11100,
  1351. 11120,
  1352. 11140,
  1353. 11160,
  1354. 11180,
  1355. };
  1356. static uint16_t Inital_value_Low[4]= {1040,1040,1040,920};
  1357. static uint16_t Inital_value_High[4]= {1865,1880,1880,1880};
  1358. #define TankH1 1.832
  1359. #define TankH2 1.832
  1360. #define TankH3 1.832
  1361. #define TankH4 1.832
  1362. #define TankH5 1.832
  1363. #define TankH6 1.832
  1364. #define TankH7 1.832
  1365. #define TankH8 1.832
  1366. #include"math.h"
  1367. int idxLow = 0;
  1368. static float h_x0;
  1369. //信捷罐容查表计计算程序 邵磊明 增加
  1370. float Calc_Vol(float RadarData,uint16_t* VolArray,const uint16_t* HArray,uint16_t StoreNum)
  1371. {
  1372. float offset[8];
  1373. uint8_t i=0;
  1374. Level_Inf* plevel = level_inf;
  1375. static uint16_t Indexs = 0,Vt,H_x;
  1376. static float V_y1 = 0,V_y2 = 0,H_x1 = 0,H_x2 = 0;
  1377. ////高度换算
  1378. switch (StoreNum)
  1379. {
  1380. case 1:
  1381. h_x0=RadarData-plevel[1].Level_Cal_zero;
  1382. plevel[1].Level_Data1 = h_x0;
  1383. if(h_x0<(-0.5f))
  1384. h_x0 = (-0.5f);
  1385. break;
  1386. case 2:
  1387. h_x0=RadarData-plevel[2].Level_Cal_zero;
  1388. plevel[2].Level_Data1 = h_x0;
  1389. if(h_x0<(-0.5f))
  1390. h_x0 = (-0.5f);
  1391. break;
  1392. case 3:
  1393. h_x0=RadarData-plevel[3].Level_Cal_zero;
  1394. plevel[3].Level_Data1 = h_x0;
  1395. if(h_x0<(-0.5f))
  1396. h_x0 = (-0.5f);
  1397. break;
  1398. case 4:
  1399. h_x0=RadarData-plevel[4].Level_Cal_zero;
  1400. plevel[4].Level_Data1 = h_x0;
  1401. if(h_x0<(-0.5f))
  1402. h_x0 = (-0.5f);
  1403. break;
  1404. default:
  1405. // f000=RadarData-offset[0];
  1406. break;
  1407. }
  1408. H_x=(uint16_t)(h_x0*1000);
  1409. for(Indexs=0;Indexs<=200;Indexs++)
  1410. {
  1411. if(H_x>HArray[Indexs]&&H_x<=HArray[Indexs+1])
  1412. {
  1413. V_y1 = VolArray[Indexs];
  1414. V_y2 = VolArray[Indexs+1];
  1415. H_x1 = HArray[Indexs];
  1416. H_x2 = HArray[Indexs+1];
  1417. __NOP();
  1418. break;
  1419. }
  1420. }
  1421. if(H_x<=0)
  1422. {
  1423. V_y1 = 0;
  1424. V_y2 = 0;
  1425. H_x1 = 0;
  1426. H_x2 = 0;
  1427. H_x = 0;
  1428. }
  1429. Vt=(H_x - H_x1)/(H_x2 - H_x1)*(V_y2-V_y1)+V_y1;
  1430. return Vt;
  1431. }
  1432. /************************************************************************
  1433. *函数名:Value_Manage
  1434. *输入:罐仓长轴、短轴、液位高度、长度
  1435. *输出:无
  1436. *作用:将标准椭圆柱的液体高度转换为液体体积
  1437. *作者:kdl 时间:
  1438. *************************************************************************/
  1439. #define CangH 1.832
  1440. float data=0;
  1441. int Volume_yuwei = 0;
  1442. uint16_t Value_Manage(uint8_t Cang_Flag)
  1443. {
  1444. int Volume_5mm = 0;
  1445. Level_Inf* plevel = level_inf;
  1446. data = CangH - plevel[(Cang_Flag+1)].Level_Data+plevel[(Cang_Flag+1)].Level_Cal_zero;
  1447. if(data == 65535)
  1448. return 0;
  1449. data = data/10;
  1450. Volume_yuwei = (int)data%5;
  1451. int Volume_Data = 0;
  1452. switch(Cang_Flag)
  1453. {
  1454. case 0:
  1455. Flash_ReadBytes(Volume_1cang,ADD_CANG1_TABLE,200);
  1456. if(data >= Inital_value_High[0])
  1457. plevel[Cang_Flag].Volume_Data = 10900;
  1458. else if(data >= Inital_value_Low[0] && data < Inital_value_High[0])
  1459. {
  1460. Volume_5mm = (data - Inital_value_Low[0])/5;
  1461. Volume_Data = Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5;
  1462. }
  1463. else if(data >= (Inital_value_High[0]-Inital_value_Low[0]) && data< Inital_value_Low[0])
  1464. Volume_Data= Volume_1cang[0] - (Inital_value_Low[0] - data)*7;
  1465. else if(data < (Inital_value_High[0]-Inital_value_Low[0]) && data >=100)
  1466. {
  1467. Volume_5mm = ((Inital_value_High[0]-data) - Inital_value_Low[0])/5;
  1468. Volume_Data =11116 - (Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5);
  1469. }
  1470. else
  1471. Volume_Data = 0;
  1472. plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000;
  1473. break;
  1474. case 1:
  1475. Flash_ReadBytes(Volume_2cang,ADD_CANG2_TABLE,200);
  1476. if(data >= Inital_value_High[1])
  1477. plevel[Cang_Flag].Volume_Data = 10900;
  1478. else if(data >= Inital_value_Low[1] && data < Inital_value_High[1])
  1479. {
  1480. Volume_5mm = (data - Inital_value_Low[1])/5;
  1481. Volume_Data = Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5;
  1482. }
  1483. else if(data >= (Inital_value_High[1]-Inital_value_Low[1])&& data< Inital_value_Low[1])
  1484. Volume_Data= Volume_2cang[0] - (Inital_value_Low[1] - data)*7;
  1485. else if(data < (Inital_value_High[1]-Inital_value_Low[1]) && data >=100)
  1486. {
  1487. Volume_5mm = ((Inital_value_High[1]-data) - Inital_value_Low[1])/5;
  1488. Volume_Data =11116 - (Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5);
  1489. }
  1490. else
  1491. Volume_Data = 0;
  1492. plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000;
  1493. break;
  1494. case 2:
  1495. Flash_ReadBytes(Volume_3cang,ADD_CANG3_TABLE,200);
  1496. if(data >= Inital_value_High[2])
  1497. plevel[Cang_Flag].Volume_Data = 10900;
  1498. else if(data >= Inital_value_Low[2] && data < Inital_value_High[2])
  1499. {
  1500. Volume_5mm = (data - Inital_value_Low[2])/5;
  1501. Volume_Data = Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5;
  1502. }
  1503. else if(data >= (Inital_value_High[2]-Inital_value_Low[2]) && data< Inital_value_Low[0])
  1504. Volume_Data= Volume_3cang[0] - (Inital_value_Low[2] - data)*7;
  1505. else if(data < (Inital_value_High[2]-Inital_value_Low[2]) && data >=100)
  1506. {
  1507. Volume_5mm = ((Inital_value_High[2]-data) - Inital_value_Low[2])/5;
  1508. Volume_Data =11116 - (Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5);
  1509. }
  1510. else
  1511. Volume_Data = 0;
  1512. plevel[Cang_Flag].Volume_Data = Volume_Data;
  1513. break;
  1514. case 3:
  1515. Flash_ReadBytes(Volume_4cang,ADD_CANG3_TABLE,200);
  1516. if(data >= Inital_value_High[3])
  1517. plevel[Cang_Flag].Volume_Data = 12700;
  1518. else if(data >= Inital_value_Low[3] && data < Inital_value_High[3])
  1519. {
  1520. Volume_5mm = (data - Inital_value_Low[3])/5;
  1521. Volume_Data = Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5;
  1522. }
  1523. else if(data >= Inital_value_High[3]-Inital_value_Low[3] && data< Inital_value_Low[3])
  1524. Volume_Data= Volume_4cang[0] - (Inital_value_Low[3] - data)*8;
  1525. else if(data < Inital_value_High[3]-Inital_value_Low[3] && data >= 100)
  1526. {
  1527. Volume_5mm = ((Inital_value_High[3]-data) - Inital_value_Low[3])/5;
  1528. Volume_Data =12850 - (Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5);
  1529. }
  1530. else
  1531. Volume_Data = 0;
  1532. plevel[Cang_Flag].Volume_Data = Volume_Data;
  1533. break;
  1534. default:
  1535. plevel[Cang_Flag].Volume_Data = 0xffff;
  1536. break;
  1537. }
  1538. return 1;
  1539. }
  1540. /*
  1541. 罐容表远程配置功能
  1542. 功能增加: 邵磊明
  1543. */
  1544. uint16_t GRB_SET_Table(uint8_t* pTx)
  1545. {
  1546. KZQ_Inf* pkzq = &kzq_inf;
  1547. // Cang_Inf* pcang = &cang_inf;
  1548. // Level_Inf* plevel = level_inf;Total_pag_num = 0,
  1549. uint8_t i = 0;
  1550. uint8_t Pag_num = 0,CP_CNT=0;
  1551. uint16_t j=0;//ModBusCRC = 0,
  1552. // uint8_t receive_error = 0;
  1553. // uint16_t ModbusCRC = 0;
  1554. uint16_t Cang_num = 0;
  1555. uint16_t Flash_buf[20] = {0};
  1556. uint16_t Flash_buf1[20] = {0};
  1557. static uint16_t Pag_num_cnt = 0;
  1558. for(i=0;i<20;i++)
  1559. {
  1560. Flash_buf[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]);
  1561. Flash_buf1[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]);
  1562. }
  1563. if(pkzq->data_buf[7] == 0x06)
  1564. {
  1565. Cang_num = USART2_RX_BUF002[16];
  1566. Cang_num = Cang_num << 8;
  1567. Cang_num |= USART2_RX_BUF002[17];
  1568. //Total_pag_num = USART2_RX_BUF002[19];
  1569. Pag_num = USART2_RX_BUF002[18];
  1570. if(Cang_num == 0x0001)
  1571. {
  1572. if(Pag_num == 1)
  1573. {
  1574. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE,20);
  1575. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE,20);
  1576. for(j=0;j<20;j++)
  1577. {
  1578. if(Flash_buf1[j]==Flash_buf[j])
  1579. CP_CNT++;
  1580. }
  1581. if(CP_CNT==20)
  1582. {
  1583. Pag_num_cnt++;
  1584. pTx[16] = USART2_RX_BUF002[16];
  1585. pTx[17] = USART2_RX_BUF002[17];
  1586. pTx[18] = USART2_RX_BUF002[18];
  1587. pTx[19] = USART2_RX_BUF002[19];
  1588. if(Pag_num_cnt==10)
  1589. pTx[20] = 2;
  1590. else
  1591. pTx[20] = 1;
  1592. return 1;
  1593. }
  1594. else
  1595. {
  1596. pTx[16] = USART2_RX_BUF002[16];
  1597. pTx[17] = USART2_RX_BUF002[17];
  1598. pTx[18] = USART2_RX_BUF002[18];
  1599. pTx[19] = USART2_RX_BUF002[19];
  1600. pTx[20] = 0;
  1601. return 0;
  1602. }
  1603. }
  1604. else if(Pag_num == 2)
  1605. {
  1606. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+40,20);
  1607. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+40,20);
  1608. for(j=0;j<20;j++)
  1609. {
  1610. if(Flash_buf1[j]==Flash_buf[j])
  1611. CP_CNT++;
  1612. }
  1613. if(CP_CNT==20)
  1614. {
  1615. Pag_num_cnt++;
  1616. pTx[16] = USART2_RX_BUF002[16];
  1617. pTx[17] = USART2_RX_BUF002[17];
  1618. pTx[18] = USART2_RX_BUF002[18];
  1619. pTx[19] = USART2_RX_BUF002[19];
  1620. if(Pag_num_cnt==40)
  1621. pTx[20] = 2;
  1622. else
  1623. pTx[20] = 1;
  1624. return 1;
  1625. }
  1626. else
  1627. {
  1628. pTx[16] = USART2_RX_BUF002[16];
  1629. pTx[17] = USART2_RX_BUF002[17];
  1630. pTx[18] = USART2_RX_BUF002[18];
  1631. pTx[19] = USART2_RX_BUF002[19];
  1632. pTx[20] = 0;
  1633. return 0;
  1634. }
  1635. }
  1636. else if(Pag_num == 3)
  1637. {
  1638. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+80,20);
  1639. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+80,20);
  1640. for(j=0;j<20;j++)
  1641. {
  1642. if(Flash_buf1[j]==Flash_buf[j])
  1643. CP_CNT++;
  1644. }
  1645. if(CP_CNT==20)
  1646. {
  1647. Pag_num_cnt++;
  1648. pTx[16] = USART2_RX_BUF002[16];
  1649. pTx[17] = USART2_RX_BUF002[17];
  1650. pTx[18] = USART2_RX_BUF002[18];
  1651. pTx[19] = USART2_RX_BUF002[19];
  1652. if(Pag_num_cnt==10)
  1653. pTx[20] = 2;
  1654. else
  1655. pTx[20] = 1;
  1656. return 1;
  1657. }
  1658. else
  1659. {
  1660. pTx[16] = USART2_RX_BUF002[16];
  1661. pTx[17] = USART2_RX_BUF002[17];
  1662. pTx[18] = USART2_RX_BUF002[18];
  1663. pTx[19] = USART2_RX_BUF002[19];
  1664. pTx[20] = 0;
  1665. return 0;
  1666. }
  1667. }
  1668. else if(Pag_num == 4)
  1669. {
  1670. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+120,20);
  1671. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+120,20);
  1672. for(j=0;j<20;j++)
  1673. {
  1674. if(Flash_buf1[j]==Flash_buf[j])
  1675. CP_CNT++;
  1676. }
  1677. if(CP_CNT==20)
  1678. {
  1679. Pag_num_cnt++;
  1680. pTx[16] = USART2_RX_BUF002[16];
  1681. pTx[17] = USART2_RX_BUF002[17];
  1682. pTx[18] = USART2_RX_BUF002[18];
  1683. pTx[19] = USART2_RX_BUF002[19];
  1684. if(Pag_num_cnt==10)
  1685. pTx[20] = 2;
  1686. else
  1687. pTx[20] = 1;
  1688. return 1;
  1689. }
  1690. else
  1691. {
  1692. pTx[16] = USART2_RX_BUF002[16];
  1693. pTx[17] = USART2_RX_BUF002[17];
  1694. pTx[18] = USART2_RX_BUF002[18];
  1695. pTx[19] = USART2_RX_BUF002[19];
  1696. pTx[20] = 0;
  1697. return 0;
  1698. }
  1699. }
  1700. else if(Pag_num == 5)
  1701. {
  1702. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+160,20);
  1703. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+160,20);
  1704. for(j=0;j<20;j++)
  1705. {
  1706. if(Flash_buf1[j]==Flash_buf[j])
  1707. CP_CNT++;
  1708. }
  1709. if(CP_CNT==20)
  1710. {
  1711. Pag_num_cnt++;
  1712. pTx[16] = USART2_RX_BUF002[16];
  1713. pTx[17] = USART2_RX_BUF002[17];
  1714. pTx[18] = USART2_RX_BUF002[18];
  1715. pTx[19] = USART2_RX_BUF002[19];
  1716. if(Pag_num_cnt==10)
  1717. pTx[20] = 2;
  1718. else
  1719. pTx[20] = 1;
  1720. return 1;
  1721. }
  1722. else
  1723. {
  1724. pTx[16] = USART2_RX_BUF002[16];
  1725. pTx[17] = USART2_RX_BUF002[17];
  1726. pTx[18] = USART2_RX_BUF002[18];
  1727. pTx[19] = USART2_RX_BUF002[19];
  1728. pTx[20] = 0;
  1729. return 0;
  1730. }
  1731. }
  1732. else if(Pag_num == 6)
  1733. {
  1734. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+200,20);
  1735. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+200,20);
  1736. for(j=0;j<20;j++)
  1737. {
  1738. if(Flash_buf1[j]==Flash_buf[j])
  1739. CP_CNT++;
  1740. }
  1741. if(CP_CNT==20)
  1742. {
  1743. Pag_num_cnt++;
  1744. pTx[16] = USART2_RX_BUF002[16];
  1745. pTx[17] = USART2_RX_BUF002[17];
  1746. pTx[18] = USART2_RX_BUF002[18];
  1747. pTx[19] = USART2_RX_BUF002[19];
  1748. if(Pag_num_cnt==10)
  1749. pTx[20] = 2;
  1750. else
  1751. pTx[20] = 1;
  1752. return 1;
  1753. }
  1754. else
  1755. {
  1756. pTx[16] = USART2_RX_BUF002[16];
  1757. pTx[17] = USART2_RX_BUF002[17];
  1758. pTx[18] = USART2_RX_BUF002[18];
  1759. pTx[19] = USART2_RX_BUF002[19];
  1760. pTx[20] = 0;
  1761. return 0;
  1762. }
  1763. }
  1764. else if(Pag_num == 7)
  1765. {
  1766. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+240,20);
  1767. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+240,20);
  1768. for(j=0;j<20;j++)
  1769. {
  1770. if(Flash_buf1[j]==Flash_buf[j])
  1771. CP_CNT++;
  1772. }
  1773. if(CP_CNT==20)
  1774. {
  1775. Pag_num_cnt++;
  1776. pTx[16] = USART2_RX_BUF002[16];
  1777. pTx[17] = USART2_RX_BUF002[17];
  1778. pTx[18] = USART2_RX_BUF002[18];
  1779. pTx[19] = USART2_RX_BUF002[19];
  1780. if(Pag_num_cnt==10)
  1781. pTx[20] = 2;
  1782. else
  1783. pTx[20] = 1;
  1784. return 1;
  1785. }
  1786. else
  1787. {
  1788. pTx[16] = USART2_RX_BUF002[16];
  1789. pTx[17] = USART2_RX_BUF002[17];
  1790. pTx[18] = USART2_RX_BUF002[18];
  1791. pTx[19] = USART2_RX_BUF002[19];
  1792. pTx[20] = 0;
  1793. return 0;
  1794. }
  1795. }
  1796. else if(Pag_num == 8)
  1797. {
  1798. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+280,20);
  1799. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+280,20);
  1800. for(j=0;j<20;j++)
  1801. {
  1802. if(Flash_buf1[j]==Flash_buf[j])
  1803. CP_CNT++;
  1804. }
  1805. if(CP_CNT==20)
  1806. {
  1807. Pag_num_cnt++;
  1808. pTx[16] = USART2_RX_BUF002[16];
  1809. pTx[17] = USART2_RX_BUF002[17];
  1810. pTx[18] = USART2_RX_BUF002[18];
  1811. pTx[19] = USART2_RX_BUF002[19];
  1812. if(Pag_num_cnt==10)
  1813. pTx[20] = 2;
  1814. else
  1815. pTx[20] = 1;
  1816. return 1;
  1817. }
  1818. else
  1819. {
  1820. pTx[16] = USART2_RX_BUF002[16];
  1821. pTx[17] = USART2_RX_BUF002[17];
  1822. pTx[18] = USART2_RX_BUF002[18];
  1823. pTx[19] = USART2_RX_BUF002[19];
  1824. pTx[20] = 0;
  1825. return 0;
  1826. }
  1827. }
  1828. else if(Pag_num == 9)
  1829. {
  1830. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+320,20);
  1831. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+320,20);
  1832. for(j=0;j<20;j++)
  1833. {
  1834. if(Flash_buf1[j]==Flash_buf[j])
  1835. CP_CNT++;
  1836. }
  1837. if(CP_CNT==20)
  1838. {
  1839. Pag_num_cnt++;
  1840. pTx[16] = USART2_RX_BUF002[16];
  1841. pTx[17] = USART2_RX_BUF002[17];
  1842. pTx[18] = USART2_RX_BUF002[18];
  1843. pTx[19] = USART2_RX_BUF002[19];
  1844. if(Pag_num_cnt==10)
  1845. pTx[20] = 2;
  1846. else
  1847. pTx[20] = 1;
  1848. return 1;
  1849. }
  1850. else
  1851. {
  1852. pTx[16] = USART2_RX_BUF002[16];
  1853. pTx[17] = USART2_RX_BUF002[17];
  1854. pTx[18] = USART2_RX_BUF002[18];
  1855. pTx[19] = USART2_RX_BUF002[19];
  1856. pTx[20] = 0;
  1857. return 0;
  1858. }
  1859. }
  1860. else if(Pag_num == 10)
  1861. {
  1862. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+360,20);
  1863. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+360,20);
  1864. for(j=0;j<20;j++)
  1865. {
  1866. if(Flash_buf1[j]==Flash_buf[j])
  1867. CP_CNT++;
  1868. }
  1869. if(CP_CNT==20)
  1870. {
  1871. Pag_num_cnt++;
  1872. pTx[16] = USART2_RX_BUF002[16];
  1873. pTx[17] = USART2_RX_BUF002[17];
  1874. pTx[18] = USART2_RX_BUF002[18];
  1875. pTx[19] = USART2_RX_BUF002[19];
  1876. if(Pag_num_cnt==10)
  1877. pTx[20] = 2;
  1878. else
  1879. pTx[20] = 1;
  1880. Pag_num_cnt=0;
  1881. return 1;
  1882. }
  1883. else
  1884. {
  1885. pTx[16] = USART2_RX_BUF002[16];
  1886. pTx[17] = USART2_RX_BUF002[17];
  1887. pTx[18] = USART2_RX_BUF002[18];
  1888. pTx[19] = USART2_RX_BUF002[19];
  1889. pTx[20] = 0;
  1890. return 0;
  1891. }
  1892. }
  1893. }
  1894. else if(Cang_num == 0x0002)
  1895. {
  1896. if(Pag_num == 1)
  1897. {
  1898. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE,20);
  1899. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE,20);
  1900. for(j=0;j<20;j++)
  1901. {
  1902. if(Flash_buf1[j]==Flash_buf[j])
  1903. CP_CNT++;
  1904. }
  1905. if(CP_CNT==20)
  1906. {
  1907. Pag_num_cnt++;
  1908. pTx[16] = USART2_RX_BUF002[16];
  1909. pTx[17] = USART2_RX_BUF002[17];
  1910. pTx[18] = USART2_RX_BUF002[18];
  1911. pTx[19] = USART2_RX_BUF002[19];
  1912. if(Pag_num_cnt==10)
  1913. pTx[20] = 2;
  1914. else
  1915. pTx[20] = 1;
  1916. return 1;
  1917. }
  1918. else
  1919. {
  1920. pTx[16] = USART2_RX_BUF002[16];
  1921. pTx[17] = USART2_RX_BUF002[17];
  1922. pTx[18] = USART2_RX_BUF002[18];
  1923. pTx[19] = USART2_RX_BUF002[19];
  1924. pTx[20] = 0;
  1925. return 0;
  1926. }
  1927. }
  1928. else if(Pag_num == 2)
  1929. {
  1930. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+40,20);
  1931. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+40,20);
  1932. for(j=0;j<20;j++)
  1933. {
  1934. if(Flash_buf1[j]==Flash_buf[j])
  1935. CP_CNT++;
  1936. }
  1937. if(CP_CNT==20)
  1938. {
  1939. Pag_num_cnt++;
  1940. pTx[16] = USART2_RX_BUF002[16];
  1941. pTx[17] = USART2_RX_BUF002[17];
  1942. pTx[18] = USART2_RX_BUF002[18];
  1943. pTx[19] = USART2_RX_BUF002[19];
  1944. if(Pag_num_cnt==40)
  1945. pTx[20] = 2;
  1946. else
  1947. pTx[20] = 1;
  1948. return 1;
  1949. }
  1950. else
  1951. {
  1952. pTx[16] = USART2_RX_BUF002[16];
  1953. pTx[17] = USART2_RX_BUF002[17];
  1954. pTx[18] = USART2_RX_BUF002[18];
  1955. pTx[19] = USART2_RX_BUF002[19];
  1956. pTx[20] = 0;
  1957. return 0;
  1958. }
  1959. }
  1960. else if(Pag_num == 3)
  1961. {
  1962. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+80,20);
  1963. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+80,20);
  1964. for(j=0;j<20;j++)
  1965. {
  1966. if(Flash_buf1[j]==Flash_buf[j])
  1967. CP_CNT++;
  1968. }
  1969. if(CP_CNT==20)
  1970. {
  1971. Pag_num_cnt++;
  1972. pTx[16] = USART2_RX_BUF002[16];
  1973. pTx[17] = USART2_RX_BUF002[17];
  1974. pTx[18] = USART2_RX_BUF002[18];
  1975. pTx[19] = USART2_RX_BUF002[19];
  1976. if(Pag_num_cnt==10)
  1977. pTx[20] = 2;
  1978. else
  1979. pTx[20] = 1;
  1980. return 1;
  1981. }
  1982. else
  1983. {
  1984. pTx[16] = USART2_RX_BUF002[16];
  1985. pTx[17] = USART2_RX_BUF002[17];
  1986. pTx[18] = USART2_RX_BUF002[18];
  1987. pTx[19] = USART2_RX_BUF002[19];
  1988. pTx[20] = 0;
  1989. return 0;
  1990. }
  1991. }
  1992. else if(Pag_num == 4)
  1993. {
  1994. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+120,20);
  1995. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+120,20);
  1996. for(j=0;j<20;j++)
  1997. {
  1998. if(Flash_buf1[j]==Flash_buf[j])
  1999. CP_CNT++;
  2000. }
  2001. if(CP_CNT==20)
  2002. {
  2003. Pag_num_cnt++;
  2004. pTx[16] = USART2_RX_BUF002[16];
  2005. pTx[17] = USART2_RX_BUF002[17];
  2006. pTx[18] = USART2_RX_BUF002[18];
  2007. pTx[19] = USART2_RX_BUF002[19];
  2008. if(Pag_num_cnt==10)
  2009. pTx[20] = 2;
  2010. else
  2011. pTx[20] = 1;
  2012. return 1;
  2013. }
  2014. else
  2015. {
  2016. pTx[16] = USART2_RX_BUF002[16];
  2017. pTx[17] = USART2_RX_BUF002[17];
  2018. pTx[18] = USART2_RX_BUF002[18];
  2019. pTx[19] = USART2_RX_BUF002[19];
  2020. pTx[20] = 0;
  2021. return 0;
  2022. }
  2023. }
  2024. else if(Pag_num == 5)
  2025. {
  2026. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+160,20);
  2027. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+160,20);
  2028. for(j=0;j<20;j++)
  2029. {
  2030. if(Flash_buf1[j]==Flash_buf[j])
  2031. CP_CNT++;
  2032. }
  2033. if(CP_CNT==20)
  2034. {
  2035. Pag_num_cnt++;
  2036. pTx[16] = USART2_RX_BUF002[16];
  2037. pTx[17] = USART2_RX_BUF002[17];
  2038. pTx[18] = USART2_RX_BUF002[18];
  2039. pTx[19] = USART2_RX_BUF002[19];
  2040. if(Pag_num_cnt==10)
  2041. pTx[20] = 2;
  2042. else
  2043. pTx[20] = 1;
  2044. return 1;
  2045. }
  2046. else
  2047. {
  2048. pTx[16] = USART2_RX_BUF002[16];
  2049. pTx[17] = USART2_RX_BUF002[17];
  2050. pTx[18] = USART2_RX_BUF002[18];
  2051. pTx[19] = USART2_RX_BUF002[19];
  2052. pTx[20] = 0;
  2053. return 0;
  2054. }
  2055. }
  2056. else if(Pag_num == 6)
  2057. {
  2058. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+200,20);
  2059. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+200,20);
  2060. for(j=0;j<20;j++)
  2061. {
  2062. if(Flash_buf1[j]==Flash_buf[j])
  2063. CP_CNT++;
  2064. }
  2065. if(CP_CNT==20)
  2066. {
  2067. Pag_num_cnt++;
  2068. pTx[16] = USART2_RX_BUF002[16];
  2069. pTx[17] = USART2_RX_BUF002[17];
  2070. pTx[18] = USART2_RX_BUF002[18];
  2071. pTx[19] = USART2_RX_BUF002[19];
  2072. if(Pag_num_cnt==10)
  2073. pTx[20] = 2;
  2074. else
  2075. pTx[20] = 1;
  2076. return 1;
  2077. }
  2078. else
  2079. {
  2080. pTx[16] = USART2_RX_BUF002[16];
  2081. pTx[17] = USART2_RX_BUF002[17];
  2082. pTx[18] = USART2_RX_BUF002[18];
  2083. pTx[19] = USART2_RX_BUF002[19];
  2084. pTx[20] = 0;
  2085. return 0;
  2086. }
  2087. }
  2088. else if(Pag_num == 7)
  2089. {
  2090. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+240,20);
  2091. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+240,20);
  2092. for(j=0;j<20;j++)
  2093. {
  2094. if(Flash_buf1[j]==Flash_buf[j])
  2095. CP_CNT++;
  2096. }
  2097. if(CP_CNT==20)
  2098. {
  2099. Pag_num_cnt++;
  2100. pTx[16] = USART2_RX_BUF002[16];
  2101. pTx[17] = USART2_RX_BUF002[17];
  2102. pTx[18] = USART2_RX_BUF002[18];
  2103. pTx[19] = USART2_RX_BUF002[19];
  2104. if(Pag_num_cnt==10)
  2105. pTx[20] = 2;
  2106. else
  2107. pTx[20] = 1;
  2108. return 1;
  2109. }
  2110. else
  2111. {
  2112. pTx[16] = USART2_RX_BUF002[16];
  2113. pTx[17] = USART2_RX_BUF002[17];
  2114. pTx[18] = USART2_RX_BUF002[18];
  2115. pTx[19] = USART2_RX_BUF002[19];
  2116. pTx[20] = 0;
  2117. return 0;
  2118. }
  2119. }
  2120. else if(Pag_num == 8)
  2121. {
  2122. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+280,20);
  2123. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+280,20);
  2124. for(j=0;j<20;j++)
  2125. {
  2126. if(Flash_buf1[j]==Flash_buf[j])
  2127. CP_CNT++;
  2128. }
  2129. if(CP_CNT==20)
  2130. {
  2131. Pag_num_cnt++;
  2132. pTx[16] = USART2_RX_BUF002[16];
  2133. pTx[17] = USART2_RX_BUF002[17];
  2134. pTx[18] = USART2_RX_BUF002[18];
  2135. pTx[19] = USART2_RX_BUF002[19];
  2136. if(Pag_num_cnt==10)
  2137. pTx[20] = 2;
  2138. else
  2139. pTx[20] = 1;
  2140. return 1;
  2141. }
  2142. else
  2143. {
  2144. pTx[16] = USART2_RX_BUF002[16];
  2145. pTx[17] = USART2_RX_BUF002[17];
  2146. pTx[18] = USART2_RX_BUF002[18];
  2147. pTx[19] = USART2_RX_BUF002[19];
  2148. pTx[20] = 0;
  2149. return 0;
  2150. }
  2151. }
  2152. else if(Pag_num == 9)
  2153. {
  2154. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+320,20);
  2155. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+320,20);
  2156. for(j=0;j<20;j++)
  2157. {
  2158. if(Flash_buf1[j]==Flash_buf[j])
  2159. CP_CNT++;
  2160. }
  2161. if(CP_CNT==20)
  2162. {
  2163. Pag_num_cnt++;
  2164. pTx[16] = USART2_RX_BUF002[16];
  2165. pTx[17] = USART2_RX_BUF002[17];
  2166. pTx[18] = USART2_RX_BUF002[18];
  2167. pTx[19] = USART2_RX_BUF002[19];
  2168. if(Pag_num_cnt==10)
  2169. pTx[20] = 2;
  2170. else
  2171. pTx[20] = 1;
  2172. return 1;
  2173. }
  2174. else
  2175. {
  2176. pTx[16] = USART2_RX_BUF002[16];
  2177. pTx[17] = USART2_RX_BUF002[17];
  2178. pTx[18] = USART2_RX_BUF002[18];
  2179. pTx[19] = USART2_RX_BUF002[19];
  2180. pTx[20] = 0;
  2181. return 0;
  2182. }
  2183. }
  2184. else if(Pag_num == 10)
  2185. {
  2186. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+360,20);
  2187. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+360,20);
  2188. for(j=0;j<20;j++)
  2189. {
  2190. if(Flash_buf1[j]==Flash_buf[j])
  2191. CP_CNT++;
  2192. }
  2193. if(CP_CNT==20)
  2194. {
  2195. Pag_num_cnt++;
  2196. pTx[16] = USART2_RX_BUF002[16];
  2197. pTx[17] = USART2_RX_BUF002[17];
  2198. pTx[18] = USART2_RX_BUF002[18];
  2199. pTx[19] = USART2_RX_BUF002[19];
  2200. if(Pag_num_cnt==10)
  2201. pTx[20] = 2;
  2202. else
  2203. pTx[20] = 1;
  2204. Pag_num_cnt=0;
  2205. return 1;
  2206. }
  2207. else
  2208. {
  2209. pTx[16] = USART2_RX_BUF002[16];
  2210. pTx[17] = USART2_RX_BUF002[17];
  2211. pTx[18] = USART2_RX_BUF002[18];
  2212. pTx[19] = USART2_RX_BUF002[19];
  2213. pTx[20] = 0;
  2214. return 0;
  2215. }
  2216. }
  2217. }
  2218. else if(Cang_num == 0x0003)
  2219. {
  2220. if(Pag_num == 1)
  2221. {
  2222. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE,20);
  2223. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE,20);
  2224. for(j=0;j<20;j++)
  2225. {
  2226. if(Flash_buf1[j]==Flash_buf[j])
  2227. CP_CNT++;
  2228. }
  2229. if(CP_CNT==20)
  2230. {
  2231. Pag_num_cnt++;
  2232. pTx[16] = USART2_RX_BUF002[16];
  2233. pTx[17] = USART2_RX_BUF002[17];
  2234. pTx[18] = USART2_RX_BUF002[18];
  2235. pTx[19] = USART2_RX_BUF002[19];
  2236. if(Pag_num_cnt==10)
  2237. pTx[20] = 2;
  2238. else
  2239. pTx[20] = 1;
  2240. return 1;
  2241. }
  2242. else
  2243. {
  2244. pTx[16] = USART2_RX_BUF002[16];
  2245. pTx[17] = USART2_RX_BUF002[17];
  2246. pTx[18] = USART2_RX_BUF002[18];
  2247. pTx[19] = USART2_RX_BUF002[19];
  2248. pTx[20] = 0;
  2249. return 0;
  2250. }
  2251. }
  2252. else if(Pag_num == 2)
  2253. {
  2254. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+40,20);
  2255. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+40,20);
  2256. for(j=0;j<20;j++)
  2257. {
  2258. if(Flash_buf1[j]==Flash_buf[j])
  2259. CP_CNT++;
  2260. }
  2261. if(CP_CNT==20)
  2262. {
  2263. Pag_num_cnt++;
  2264. pTx[16] = USART2_RX_BUF002[16];
  2265. pTx[17] = USART2_RX_BUF002[17];
  2266. pTx[18] = USART2_RX_BUF002[18];
  2267. pTx[19] = USART2_RX_BUF002[19];
  2268. if(Pag_num_cnt==40)
  2269. pTx[20] = 2;
  2270. else
  2271. pTx[20] = 1;
  2272. return 1;
  2273. }
  2274. else
  2275. {
  2276. pTx[16] = USART2_RX_BUF002[16];
  2277. pTx[17] = USART2_RX_BUF002[17];
  2278. pTx[18] = USART2_RX_BUF002[18];
  2279. pTx[19] = USART2_RX_BUF002[19];
  2280. pTx[20] = 0;
  2281. return 0;
  2282. }
  2283. }
  2284. else if(Pag_num == 3)
  2285. {
  2286. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+80,20);
  2287. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+80,20);
  2288. for(j=0;j<20;j++)
  2289. {
  2290. if(Flash_buf1[j]==Flash_buf[j])
  2291. CP_CNT++;
  2292. }
  2293. if(CP_CNT==20)
  2294. {
  2295. Pag_num_cnt++;
  2296. pTx[16] = USART2_RX_BUF002[16];
  2297. pTx[17] = USART2_RX_BUF002[17];
  2298. pTx[18] = USART2_RX_BUF002[18];
  2299. pTx[19] = USART2_RX_BUF002[19];
  2300. if(Pag_num_cnt==10)
  2301. pTx[20] = 2;
  2302. else
  2303. pTx[20] = 1;
  2304. return 1;
  2305. }
  2306. else
  2307. {
  2308. pTx[16] = USART2_RX_BUF002[16];
  2309. pTx[17] = USART2_RX_BUF002[17];
  2310. pTx[18] = USART2_RX_BUF002[18];
  2311. pTx[19] = USART2_RX_BUF002[19];
  2312. pTx[20] = 0;
  2313. return 0;
  2314. }
  2315. }
  2316. else if(Pag_num == 4)
  2317. {
  2318. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+120,20);
  2319. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+120,20);
  2320. for(j=0;j<20;j++)
  2321. {
  2322. if(Flash_buf1[j]==Flash_buf[j])
  2323. CP_CNT++;
  2324. }
  2325. if(CP_CNT==20)
  2326. {
  2327. Pag_num_cnt++;
  2328. pTx[16] = USART2_RX_BUF002[16];
  2329. pTx[17] = USART2_RX_BUF002[17];
  2330. pTx[18] = USART2_RX_BUF002[18];
  2331. pTx[19] = USART2_RX_BUF002[19];
  2332. if(Pag_num_cnt==10)
  2333. pTx[20] = 2;
  2334. else
  2335. pTx[20] = 1;
  2336. return 1;
  2337. }
  2338. else
  2339. {
  2340. pTx[16] = USART2_RX_BUF002[16];
  2341. pTx[17] = USART2_RX_BUF002[17];
  2342. pTx[18] = USART2_RX_BUF002[18];
  2343. pTx[19] = USART2_RX_BUF002[19];
  2344. pTx[20] = 0;
  2345. return 0;
  2346. }
  2347. }
  2348. else if(Pag_num == 5)
  2349. {
  2350. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+160,20);
  2351. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+160,20);
  2352. for(j=0;j<20;j++)
  2353. {
  2354. if(Flash_buf1[j]==Flash_buf[j])
  2355. CP_CNT++;
  2356. }
  2357. if(CP_CNT==20)
  2358. {
  2359. Pag_num_cnt++;
  2360. pTx[16] = USART2_RX_BUF002[16];
  2361. pTx[17] = USART2_RX_BUF002[17];
  2362. pTx[18] = USART2_RX_BUF002[18];
  2363. pTx[19] = USART2_RX_BUF002[19];
  2364. if(Pag_num_cnt==10)
  2365. pTx[20] = 2;
  2366. else
  2367. pTx[20] = 1;
  2368. return 1;
  2369. }
  2370. else
  2371. {
  2372. pTx[16] = USART2_RX_BUF002[16];
  2373. pTx[17] = USART2_RX_BUF002[17];
  2374. pTx[18] = USART2_RX_BUF002[18];
  2375. pTx[19] = USART2_RX_BUF002[19];
  2376. pTx[20] = 0;
  2377. return 0;
  2378. }
  2379. }
  2380. else if(Pag_num == 6)
  2381. {
  2382. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+200,20);
  2383. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+200,20);
  2384. for(j=0;j<20;j++)
  2385. {
  2386. if(Flash_buf1[j]==Flash_buf[j])
  2387. CP_CNT++;
  2388. }
  2389. if(CP_CNT==20)
  2390. {
  2391. Pag_num_cnt++;
  2392. pTx[16] = USART2_RX_BUF002[16];
  2393. pTx[17] = USART2_RX_BUF002[17];
  2394. pTx[18] = USART2_RX_BUF002[18];
  2395. pTx[19] = USART2_RX_BUF002[19];
  2396. if(Pag_num_cnt==10)
  2397. pTx[20] = 2;
  2398. else
  2399. pTx[20] = 1;
  2400. return 1;
  2401. }
  2402. else
  2403. {
  2404. pTx[16] = USART2_RX_BUF002[16];
  2405. pTx[17] = USART2_RX_BUF002[17];
  2406. pTx[18] = USART2_RX_BUF002[18];
  2407. pTx[19] = USART2_RX_BUF002[19];
  2408. pTx[20] = 0;
  2409. return 0;
  2410. }
  2411. }
  2412. else if(Pag_num == 7)
  2413. {
  2414. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+240,20);
  2415. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+240,20);
  2416. for(j=0;j<20;j++)
  2417. {
  2418. if(Flash_buf1[j]==Flash_buf[j])
  2419. CP_CNT++;
  2420. }
  2421. if(CP_CNT==20)
  2422. {
  2423. Pag_num_cnt++;
  2424. pTx[16] = USART2_RX_BUF002[16];
  2425. pTx[17] = USART2_RX_BUF002[17];
  2426. pTx[18] = USART2_RX_BUF002[18];
  2427. pTx[19] = USART2_RX_BUF002[19];
  2428. if(Pag_num_cnt==10)
  2429. pTx[20] = 2;
  2430. else
  2431. pTx[20] = 1;
  2432. return 1;
  2433. }
  2434. else
  2435. {
  2436. pTx[16] = USART2_RX_BUF002[16];
  2437. pTx[17] = USART2_RX_BUF002[17];
  2438. pTx[18] = USART2_RX_BUF002[18];
  2439. pTx[19] = USART2_RX_BUF002[19];
  2440. pTx[20] = 0;
  2441. return 0;
  2442. }
  2443. }
  2444. else if(Pag_num == 8)
  2445. {
  2446. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+280,20);
  2447. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+280,20);
  2448. for(j=0;j<20;j++)
  2449. {
  2450. if(Flash_buf1[j]==Flash_buf[j])
  2451. CP_CNT++;
  2452. }
  2453. if(CP_CNT==20)
  2454. {
  2455. Pag_num_cnt++;
  2456. pTx[16] = USART2_RX_BUF002[16];
  2457. pTx[17] = USART2_RX_BUF002[17];
  2458. pTx[18] = USART2_RX_BUF002[18];
  2459. pTx[19] = USART2_RX_BUF002[19];
  2460. if(Pag_num_cnt==10)
  2461. pTx[20] = 2;
  2462. else
  2463. pTx[20] = 1;
  2464. return 1;
  2465. }
  2466. else
  2467. {
  2468. pTx[16] = USART2_RX_BUF002[16];
  2469. pTx[17] = USART2_RX_BUF002[17];
  2470. pTx[18] = USART2_RX_BUF002[18];
  2471. pTx[19] = USART2_RX_BUF002[19];
  2472. pTx[20] = 0;
  2473. return 0;
  2474. }
  2475. }
  2476. else if(Pag_num == 9)
  2477. {
  2478. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+320,20);
  2479. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+320,20);
  2480. for(j=0;j<20;j++)
  2481. {
  2482. if(Flash_buf1[j]==Flash_buf[j])
  2483. CP_CNT++;
  2484. }
  2485. if(CP_CNT==20)
  2486. {
  2487. Pag_num_cnt++;
  2488. pTx[16] = USART2_RX_BUF002[16];
  2489. pTx[17] = USART2_RX_BUF002[17];
  2490. pTx[18] = USART2_RX_BUF002[18];
  2491. pTx[19] = USART2_RX_BUF002[19];
  2492. if(Pag_num_cnt==10)
  2493. pTx[20] = 2;
  2494. else
  2495. pTx[20] = 1;
  2496. return 1;
  2497. }
  2498. else
  2499. {
  2500. pTx[16] = USART2_RX_BUF002[16];
  2501. pTx[17] = USART2_RX_BUF002[17];
  2502. pTx[18] = USART2_RX_BUF002[18];
  2503. pTx[19] = USART2_RX_BUF002[19];
  2504. pTx[20] = 0;
  2505. return 0;
  2506. }
  2507. }
  2508. else if(Pag_num == 10)
  2509. {
  2510. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+360,20);
  2511. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+360,20);
  2512. for(j=0;j<20;j++)
  2513. {
  2514. if(Flash_buf1[j]==Flash_buf[j])
  2515. CP_CNT++;
  2516. }
  2517. if(CP_CNT==20)
  2518. {
  2519. Pag_num_cnt++;
  2520. pTx[16] = USART2_RX_BUF002[16];
  2521. pTx[17] = USART2_RX_BUF002[17];
  2522. pTx[18] = USART2_RX_BUF002[18];
  2523. pTx[19] = USART2_RX_BUF002[19];
  2524. if(Pag_num_cnt==10)
  2525. pTx[20] = 2;
  2526. else
  2527. pTx[20] = 1;
  2528. Pag_num_cnt=0;
  2529. return 1;
  2530. }
  2531. else
  2532. {
  2533. pTx[16] = USART2_RX_BUF002[16];
  2534. pTx[17] = USART2_RX_BUF002[17];
  2535. pTx[18] = USART2_RX_BUF002[18];
  2536. pTx[19] = USART2_RX_BUF002[19];
  2537. pTx[20] = 0;
  2538. return 0;
  2539. }
  2540. }
  2541. }
  2542. else if(Cang_num == 0x0004)
  2543. {
  2544. if(Pag_num == 1)
  2545. {
  2546. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE,20);
  2547. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE,20);
  2548. for(j=0;j<20;j++)
  2549. {
  2550. if(Flash_buf1[j]==Flash_buf[j])
  2551. CP_CNT++;
  2552. }
  2553. if(CP_CNT==20)
  2554. {
  2555. Pag_num_cnt++;
  2556. pTx[16] = USART2_RX_BUF002[16];
  2557. pTx[17] = USART2_RX_BUF002[17];
  2558. pTx[18] = USART2_RX_BUF002[18];
  2559. pTx[19] = USART2_RX_BUF002[19];
  2560. if(Pag_num_cnt==10)
  2561. pTx[20] = 2;
  2562. else
  2563. pTx[20] = 1;
  2564. return 1;
  2565. }
  2566. else
  2567. {
  2568. pTx[16] = USART2_RX_BUF002[16];
  2569. pTx[17] = USART2_RX_BUF002[17];
  2570. pTx[18] = USART2_RX_BUF002[18];
  2571. pTx[19] = USART2_RX_BUF002[19];
  2572. pTx[20] = 0;
  2573. return 0;
  2574. }
  2575. }
  2576. else if(Pag_num == 2)
  2577. {
  2578. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+40,20);
  2579. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+40,20);
  2580. for(j=0;j<20;j++)
  2581. {
  2582. if(Flash_buf1[j]==Flash_buf[j])
  2583. CP_CNT++;
  2584. }
  2585. if(CP_CNT==20)
  2586. {
  2587. Pag_num_cnt++;
  2588. pTx[16] = USART2_RX_BUF002[16];
  2589. pTx[17] = USART2_RX_BUF002[17];
  2590. pTx[18] = USART2_RX_BUF002[18];
  2591. pTx[19] = USART2_RX_BUF002[19];
  2592. if(Pag_num_cnt==40)
  2593. pTx[20] = 2;
  2594. else
  2595. pTx[20] = 1;
  2596. return 1;
  2597. }
  2598. else
  2599. {
  2600. pTx[16] = USART2_RX_BUF002[16];
  2601. pTx[17] = USART2_RX_BUF002[17];
  2602. pTx[18] = USART2_RX_BUF002[18];
  2603. pTx[19] = USART2_RX_BUF002[19];
  2604. pTx[20] = 0;
  2605. return 0;
  2606. }
  2607. }
  2608. else if(Pag_num == 3)
  2609. {
  2610. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+80,20);
  2611. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+80,20);
  2612. for(j=0;j<20;j++)
  2613. {
  2614. if(Flash_buf1[j]==Flash_buf[j])
  2615. CP_CNT++;
  2616. }
  2617. if(CP_CNT==20)
  2618. {
  2619. Pag_num_cnt++;
  2620. pTx[16] = USART2_RX_BUF002[16];
  2621. pTx[17] = USART2_RX_BUF002[17];
  2622. pTx[18] = USART2_RX_BUF002[18];
  2623. pTx[19] = USART2_RX_BUF002[19];
  2624. if(Pag_num_cnt==10)
  2625. pTx[20] = 2;
  2626. else
  2627. pTx[20] = 1;
  2628. return 1;
  2629. }
  2630. else
  2631. {
  2632. pTx[16] = USART2_RX_BUF002[16];
  2633. pTx[17] = USART2_RX_BUF002[17];
  2634. pTx[18] = USART2_RX_BUF002[18];
  2635. pTx[19] = USART2_RX_BUF002[19];
  2636. pTx[20] = 0;
  2637. return 0;
  2638. }
  2639. }
  2640. else if(Pag_num == 4)
  2641. {
  2642. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+120,20);
  2643. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+120,20);
  2644. for(j=0;j<20;j++)
  2645. {
  2646. if(Flash_buf1[j]==Flash_buf[j])
  2647. CP_CNT++;
  2648. }
  2649. if(CP_CNT==20)
  2650. {
  2651. Pag_num_cnt++;
  2652. pTx[16] = USART2_RX_BUF002[16];
  2653. pTx[17] = USART2_RX_BUF002[17];
  2654. pTx[18] = USART2_RX_BUF002[18];
  2655. pTx[19] = USART2_RX_BUF002[19];
  2656. if(Pag_num_cnt==10)
  2657. pTx[20] = 2;
  2658. else
  2659. pTx[20] = 1;
  2660. return 1;
  2661. }
  2662. else
  2663. {
  2664. pTx[16] = USART2_RX_BUF002[16];
  2665. pTx[17] = USART2_RX_BUF002[17];
  2666. pTx[18] = USART2_RX_BUF002[18];
  2667. pTx[19] = USART2_RX_BUF002[19];
  2668. pTx[20] = 0;
  2669. return 0;
  2670. }
  2671. }
  2672. else if(Pag_num == 5)
  2673. {
  2674. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+160,20);
  2675. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+160,20);
  2676. for(j=0;j<20;j++)
  2677. {
  2678. if(Flash_buf1[j]==Flash_buf[j])
  2679. CP_CNT++;
  2680. }
  2681. if(CP_CNT==20)
  2682. {
  2683. Pag_num_cnt++;
  2684. pTx[16] = USART2_RX_BUF002[16];
  2685. pTx[17] = USART2_RX_BUF002[17];
  2686. pTx[18] = USART2_RX_BUF002[18];
  2687. pTx[19] = USART2_RX_BUF002[19];
  2688. if(Pag_num_cnt==10)
  2689. pTx[20] = 2;
  2690. else
  2691. pTx[20] = 1;
  2692. return 1;
  2693. }
  2694. else
  2695. {
  2696. pTx[16] = USART2_RX_BUF002[16];
  2697. pTx[17] = USART2_RX_BUF002[17];
  2698. pTx[18] = USART2_RX_BUF002[18];
  2699. pTx[19] = USART2_RX_BUF002[19];
  2700. pTx[20] = 0;
  2701. return 0;
  2702. }
  2703. }
  2704. else if(Pag_num == 6)
  2705. {
  2706. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+200,20);
  2707. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+200,20);
  2708. for(j=0;j<20;j++)
  2709. {
  2710. if(Flash_buf1[j]==Flash_buf[j])
  2711. CP_CNT++;
  2712. }
  2713. if(CP_CNT==20)
  2714. {
  2715. Pag_num_cnt++;
  2716. pTx[16] = USART2_RX_BUF002[16];
  2717. pTx[17] = USART2_RX_BUF002[17];
  2718. pTx[18] = USART2_RX_BUF002[18];
  2719. pTx[19] = USART2_RX_BUF002[19];
  2720. if(Pag_num_cnt==10)
  2721. pTx[20] = 2;
  2722. else
  2723. pTx[20] = 1;
  2724. return 1;
  2725. }
  2726. else
  2727. {
  2728. pTx[16] = USART2_RX_BUF002[16];
  2729. pTx[17] = USART2_RX_BUF002[17];
  2730. pTx[18] = USART2_RX_BUF002[18];
  2731. pTx[19] = USART2_RX_BUF002[19];
  2732. pTx[20] = 0;
  2733. return 0;
  2734. }
  2735. }
  2736. else if(Pag_num == 7)
  2737. {
  2738. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+240,20);
  2739. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+240,20);
  2740. for(j=0;j<20;j++)
  2741. {
  2742. if(Flash_buf1[j]==Flash_buf[j])
  2743. CP_CNT++;
  2744. }
  2745. if(CP_CNT==20)
  2746. {
  2747. Pag_num_cnt++;
  2748. pTx[16] = USART2_RX_BUF002[16];
  2749. pTx[17] = USART2_RX_BUF002[17];
  2750. pTx[18] = USART2_RX_BUF002[18];
  2751. pTx[19] = USART2_RX_BUF002[19];
  2752. if(Pag_num_cnt==10)
  2753. pTx[20] = 2;
  2754. else
  2755. pTx[20] = 1;
  2756. return 1;
  2757. }
  2758. else
  2759. {
  2760. pTx[16] = USART2_RX_BUF002[16];
  2761. pTx[17] = USART2_RX_BUF002[17];
  2762. pTx[18] = USART2_RX_BUF002[18];
  2763. pTx[19] = USART2_RX_BUF002[19];
  2764. pTx[20] = 0;
  2765. return 0;
  2766. }
  2767. }
  2768. else if(Pag_num == 8)
  2769. {
  2770. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+280,20);
  2771. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+280,20);
  2772. for(j=0;j<20;j++)
  2773. {
  2774. if(Flash_buf1[j]==Flash_buf[j])
  2775. CP_CNT++;
  2776. }
  2777. if(CP_CNT==20)
  2778. {
  2779. Pag_num_cnt++;
  2780. pTx[16] = USART2_RX_BUF002[16];
  2781. pTx[17] = USART2_RX_BUF002[17];
  2782. pTx[18] = USART2_RX_BUF002[18];
  2783. pTx[19] = USART2_RX_BUF002[19];
  2784. if(Pag_num_cnt==10)
  2785. pTx[20] = 2;
  2786. else
  2787. pTx[20] = 1;
  2788. return 1;
  2789. }
  2790. else
  2791. {
  2792. pTx[16] = USART2_RX_BUF002[16];
  2793. pTx[17] = USART2_RX_BUF002[17];
  2794. pTx[18] = USART2_RX_BUF002[18];
  2795. pTx[19] = USART2_RX_BUF002[19];
  2796. pTx[20] = 0;
  2797. return 0;
  2798. }
  2799. }
  2800. else if(Pag_num == 9)
  2801. {
  2802. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+320,20);
  2803. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+320,20);
  2804. for(j=0;j<20;j++)
  2805. {
  2806. if(Flash_buf1[j]==Flash_buf[j])
  2807. CP_CNT++;
  2808. }
  2809. if(CP_CNT==20)
  2810. {
  2811. Pag_num_cnt++;
  2812. pTx[16] = USART2_RX_BUF002[16];
  2813. pTx[17] = USART2_RX_BUF002[17];
  2814. pTx[18] = USART2_RX_BUF002[18];
  2815. pTx[19] = USART2_RX_BUF002[19];
  2816. if(Pag_num_cnt==10)
  2817. pTx[20] = 2;
  2818. else
  2819. pTx[20] = 1;
  2820. return 1;
  2821. }
  2822. else
  2823. {
  2824. pTx[16] = USART2_RX_BUF002[16];
  2825. pTx[17] = USART2_RX_BUF002[17];
  2826. pTx[18] = USART2_RX_BUF002[18];
  2827. pTx[19] = USART2_RX_BUF002[19];
  2828. pTx[20] = 0;
  2829. return 0;
  2830. }
  2831. }
  2832. else if(Pag_num == 10)
  2833. {
  2834. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+360,20);
  2835. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+360,20);
  2836. for(j=0;j<20;j++)
  2837. {
  2838. if(Flash_buf1[j]==Flash_buf[j])
  2839. CP_CNT++;
  2840. }
  2841. if(CP_CNT==20)
  2842. {
  2843. Pag_num_cnt++;
  2844. pTx[16] = USART2_RX_BUF002[16];
  2845. pTx[17] = USART2_RX_BUF002[17];
  2846. pTx[18] = USART2_RX_BUF002[18];
  2847. pTx[19] = USART2_RX_BUF002[19];
  2848. if(Pag_num_cnt==10)
  2849. pTx[20] = 2;
  2850. else
  2851. pTx[20] = 1;
  2852. Pag_num_cnt=0;
  2853. return 1;
  2854. }
  2855. else
  2856. {
  2857. pTx[16] = USART2_RX_BUF002[16];
  2858. pTx[17] = USART2_RX_BUF002[17];
  2859. pTx[18] = USART2_RX_BUF002[18];
  2860. pTx[19] = USART2_RX_BUF002[19];
  2861. pTx[20] = 0;
  2862. return 0;
  2863. }
  2864. }
  2865. }
  2866. }
  2867. return 0;
  2868. }