level.c 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002
  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. default:
  1400. h_x0 = RadarData - plevel[4].Level_Cal_zero;
  1401. plevel[4].Level_Data1 = h_x0;
  1402. if (h_x0 < (-0.5f))
  1403. h_x0 = (-0.5f);
  1404. break;
  1405. }
  1406. H_x = (uint16_t)(h_x0 * 1000);
  1407. for (Indexs = 0; Indexs <= 160; Indexs++)
  1408. {
  1409. if((HArray[Indexs]>HArray[Indexs + 1]) || (HArray[Indexs + 1]==0))
  1410. break;
  1411. V_y1 = VolArray[Indexs];
  1412. V_y2 = VolArray[Indexs + 1];
  1413. H_x1 = HArray[Indexs];
  1414. H_x2 = HArray[Indexs + 1];
  1415. if (H_x > HArray[Indexs] && H_x <= HArray[Indexs + 1])
  1416. {
  1417. break;
  1418. }
  1419. }
  1420. if((Indexs>=160)||(HArray[Indexs]>HArray[Indexs + 1]) || (HArray[Indexs + 1]==0))
  1421. {
  1422. H_x=H_x2;
  1423. }
  1424. if (H_x <= 0)
  1425. {
  1426. V_y1 = 0;
  1427. V_y2 = 0;
  1428. H_x1 = 0;
  1429. H_x2 = 0;
  1430. H_x = 0;
  1431. Vt = 0;
  1432. }
  1433. else
  1434. Vt = (H_x - H_x1) / (H_x2 - H_x1) * (V_y2 - V_y1) + V_y1;
  1435. return Vt;
  1436. }
  1437. /************************************************************************
  1438. *函数名:Value_Manage
  1439. *输入:罐仓长轴、短轴、液位高度、长度
  1440. *输出:无
  1441. *作用:将标准椭圆柱的液体高度转换为液体体积
  1442. *作者:kdl 时间:
  1443. *************************************************************************/
  1444. #define CangH 1.832
  1445. float data=0;
  1446. int Volume_yuwei = 0;
  1447. uint16_t Value_Manage(uint8_t Cang_Flag)
  1448. {
  1449. int Volume_5mm = 0;
  1450. Level_Inf* plevel = level_inf;
  1451. data = CangH - plevel[(Cang_Flag+1)].Level_Data+plevel[(Cang_Flag+1)].Level_Cal_zero;
  1452. if(data == 65535)
  1453. return 0;
  1454. data = data/10;
  1455. Volume_yuwei = (int)data%5;
  1456. int Volume_Data = 0;
  1457. switch(Cang_Flag)
  1458. {
  1459. case 0:
  1460. Flash_ReadBytes(Volume_1cang,ADD_CANG1_TABLE,200);
  1461. if(data >= Inital_value_High[0])
  1462. plevel[Cang_Flag].Volume_Data = 10900;
  1463. else if(data >= Inital_value_Low[0] && data < Inital_value_High[0])
  1464. {
  1465. Volume_5mm = (data - Inital_value_Low[0])/5;
  1466. Volume_Data = Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5;
  1467. }
  1468. else if(data >= (Inital_value_High[0]-Inital_value_Low[0]) && data< Inital_value_Low[0])
  1469. Volume_Data= Volume_1cang[0] - (Inital_value_Low[0] - data)*7;
  1470. else if(data < (Inital_value_High[0]-Inital_value_Low[0]) && data >=100)
  1471. {
  1472. Volume_5mm = ((Inital_value_High[0]-data) - Inital_value_Low[0])/5;
  1473. Volume_Data =11116 - (Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5);
  1474. }
  1475. else
  1476. Volume_Data = 0;
  1477. plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000;
  1478. break;
  1479. case 1:
  1480. Flash_ReadBytes(Volume_2cang,ADD_CANG2_TABLE,200);
  1481. if(data >= Inital_value_High[1])
  1482. plevel[Cang_Flag].Volume_Data = 10900;
  1483. else if(data >= Inital_value_Low[1] && data < Inital_value_High[1])
  1484. {
  1485. Volume_5mm = (data - Inital_value_Low[1])/5;
  1486. Volume_Data = Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5;
  1487. }
  1488. else if(data >= (Inital_value_High[1]-Inital_value_Low[1])&& data< Inital_value_Low[1])
  1489. Volume_Data= Volume_2cang[0] - (Inital_value_Low[1] - data)*7;
  1490. else if(data < (Inital_value_High[1]-Inital_value_Low[1]) && data >=100)
  1491. {
  1492. Volume_5mm = ((Inital_value_High[1]-data) - Inital_value_Low[1])/5;
  1493. Volume_Data =11116 - (Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5);
  1494. }
  1495. else
  1496. Volume_Data = 0;
  1497. plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000;
  1498. break;
  1499. case 2:
  1500. Flash_ReadBytes(Volume_3cang,ADD_CANG3_TABLE,200);
  1501. if(data >= Inital_value_High[2])
  1502. plevel[Cang_Flag].Volume_Data = 10900;
  1503. else if(data >= Inital_value_Low[2] && data < Inital_value_High[2])
  1504. {
  1505. Volume_5mm = (data - Inital_value_Low[2])/5;
  1506. Volume_Data = Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5;
  1507. }
  1508. else if(data >= (Inital_value_High[2]-Inital_value_Low[2]) && data< Inital_value_Low[0])
  1509. Volume_Data= Volume_3cang[0] - (Inital_value_Low[2] - data)*7;
  1510. else if(data < (Inital_value_High[2]-Inital_value_Low[2]) && data >=100)
  1511. {
  1512. Volume_5mm = ((Inital_value_High[2]-data) - Inital_value_Low[2])/5;
  1513. Volume_Data =11116 - (Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5);
  1514. }
  1515. else
  1516. Volume_Data = 0;
  1517. plevel[Cang_Flag].Volume_Data = Volume_Data;
  1518. break;
  1519. case 3:
  1520. Flash_ReadBytes(Volume_4cang,ADD_CANG3_TABLE,200);
  1521. if(data >= Inital_value_High[3])
  1522. plevel[Cang_Flag].Volume_Data = 12700;
  1523. else if(data >= Inital_value_Low[3] && data < Inital_value_High[3])
  1524. {
  1525. Volume_5mm = (data - Inital_value_Low[3])/5;
  1526. Volume_Data = Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5;
  1527. }
  1528. else if(data >= Inital_value_High[3]-Inital_value_Low[3] && data< Inital_value_Low[3])
  1529. Volume_Data= Volume_4cang[0] - (Inital_value_Low[3] - data)*8;
  1530. else if(data < Inital_value_High[3]-Inital_value_Low[3] && data >= 100)
  1531. {
  1532. Volume_5mm = ((Inital_value_High[3]-data) - Inital_value_Low[3])/5;
  1533. Volume_Data =12850 - (Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5);
  1534. }
  1535. else
  1536. Volume_Data = 0;
  1537. plevel[Cang_Flag].Volume_Data = Volume_Data;
  1538. break;
  1539. default:
  1540. plevel[Cang_Flag].Volume_Data = 0xffff;
  1541. break;
  1542. }
  1543. return 1;
  1544. }
  1545. /*
  1546. 罐容表远程配置功能
  1547. 功能增加: 邵磊明
  1548. */
  1549. uint16_t GRB_SET_Table(uint8_t* pTx)
  1550. {
  1551. KZQ_Inf* pkzq = &kzq_inf;
  1552. // Cang_Inf* pcang = &cang_inf;
  1553. // Level_Inf* plevel = level_inf;Total_pag_num = 0,
  1554. uint8_t i = 0;
  1555. uint8_t Pag_num = 0,CP_CNT=0;
  1556. uint16_t j=0;//ModBusCRC = 0,
  1557. // uint8_t receive_error = 0;
  1558. // uint16_t ModbusCRC = 0;
  1559. uint16_t Cang_num = 0;
  1560. uint16_t Flash_buf[20] = {0};
  1561. uint16_t Flash_buf1[20] = {0};
  1562. static uint16_t Pag_num_cnt = 0;
  1563. for(i=0;i<20;i++)
  1564. {
  1565. Flash_buf[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]);
  1566. Flash_buf1[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]);
  1567. }
  1568. if(pkzq->data_buf[7] == 0x06)
  1569. {
  1570. Cang_num = USART2_RX_BUF002[16];
  1571. Cang_num = Cang_num << 8;
  1572. Cang_num |= USART2_RX_BUF002[17];
  1573. //Total_pag_num = USART2_RX_BUF002[19];
  1574. Pag_num = USART2_RX_BUF002[18];
  1575. if(Cang_num == 0x0001)
  1576. {
  1577. if(Pag_num == 1)
  1578. {
  1579. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE,20);
  1580. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE,20);
  1581. for(j=0;j<20;j++)
  1582. {
  1583. if(Flash_buf1[j]==Flash_buf[j])
  1584. CP_CNT++;
  1585. }
  1586. if(CP_CNT==20)
  1587. {
  1588. Pag_num_cnt++;
  1589. pTx[16] = USART2_RX_BUF002[16];
  1590. pTx[17] = USART2_RX_BUF002[17];
  1591. pTx[18] = USART2_RX_BUF002[18];
  1592. pTx[19] = USART2_RX_BUF002[19];
  1593. if(Pag_num_cnt==10)
  1594. pTx[20] = 2;
  1595. else
  1596. pTx[20] = 1;
  1597. return 1;
  1598. }
  1599. else
  1600. {
  1601. pTx[16] = USART2_RX_BUF002[16];
  1602. pTx[17] = USART2_RX_BUF002[17];
  1603. pTx[18] = USART2_RX_BUF002[18];
  1604. pTx[19] = USART2_RX_BUF002[19];
  1605. pTx[20] = 0;
  1606. return 0;
  1607. }
  1608. }
  1609. else if(Pag_num == 2)
  1610. {
  1611. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+40,20);
  1612. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+40,20);
  1613. for(j=0;j<20;j++)
  1614. {
  1615. if(Flash_buf1[j]==Flash_buf[j])
  1616. CP_CNT++;
  1617. }
  1618. if(CP_CNT==20)
  1619. {
  1620. Pag_num_cnt++;
  1621. pTx[16] = USART2_RX_BUF002[16];
  1622. pTx[17] = USART2_RX_BUF002[17];
  1623. pTx[18] = USART2_RX_BUF002[18];
  1624. pTx[19] = USART2_RX_BUF002[19];
  1625. if(Pag_num_cnt==40)
  1626. pTx[20] = 2;
  1627. else
  1628. pTx[20] = 1;
  1629. return 1;
  1630. }
  1631. else
  1632. {
  1633. pTx[16] = USART2_RX_BUF002[16];
  1634. pTx[17] = USART2_RX_BUF002[17];
  1635. pTx[18] = USART2_RX_BUF002[18];
  1636. pTx[19] = USART2_RX_BUF002[19];
  1637. pTx[20] = 0;
  1638. return 0;
  1639. }
  1640. }
  1641. else if(Pag_num == 3)
  1642. {
  1643. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+80,20);
  1644. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+80,20);
  1645. for(j=0;j<20;j++)
  1646. {
  1647. if(Flash_buf1[j]==Flash_buf[j])
  1648. CP_CNT++;
  1649. }
  1650. if(CP_CNT==20)
  1651. {
  1652. Pag_num_cnt++;
  1653. pTx[16] = USART2_RX_BUF002[16];
  1654. pTx[17] = USART2_RX_BUF002[17];
  1655. pTx[18] = USART2_RX_BUF002[18];
  1656. pTx[19] = USART2_RX_BUF002[19];
  1657. if(Pag_num_cnt==10)
  1658. pTx[20] = 2;
  1659. else
  1660. pTx[20] = 1;
  1661. return 1;
  1662. }
  1663. else
  1664. {
  1665. pTx[16] = USART2_RX_BUF002[16];
  1666. pTx[17] = USART2_RX_BUF002[17];
  1667. pTx[18] = USART2_RX_BUF002[18];
  1668. pTx[19] = USART2_RX_BUF002[19];
  1669. pTx[20] = 0;
  1670. return 0;
  1671. }
  1672. }
  1673. else if(Pag_num == 4)
  1674. {
  1675. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+120,20);
  1676. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+120,20);
  1677. for(j=0;j<20;j++)
  1678. {
  1679. if(Flash_buf1[j]==Flash_buf[j])
  1680. CP_CNT++;
  1681. }
  1682. if(CP_CNT==20)
  1683. {
  1684. Pag_num_cnt++;
  1685. pTx[16] = USART2_RX_BUF002[16];
  1686. pTx[17] = USART2_RX_BUF002[17];
  1687. pTx[18] = USART2_RX_BUF002[18];
  1688. pTx[19] = USART2_RX_BUF002[19];
  1689. if(Pag_num_cnt==10)
  1690. pTx[20] = 2;
  1691. else
  1692. pTx[20] = 1;
  1693. return 1;
  1694. }
  1695. else
  1696. {
  1697. pTx[16] = USART2_RX_BUF002[16];
  1698. pTx[17] = USART2_RX_BUF002[17];
  1699. pTx[18] = USART2_RX_BUF002[18];
  1700. pTx[19] = USART2_RX_BUF002[19];
  1701. pTx[20] = 0;
  1702. return 0;
  1703. }
  1704. }
  1705. else if(Pag_num == 5)
  1706. {
  1707. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+160,20);
  1708. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+160,20);
  1709. for(j=0;j<20;j++)
  1710. {
  1711. if(Flash_buf1[j]==Flash_buf[j])
  1712. CP_CNT++;
  1713. }
  1714. if(CP_CNT==20)
  1715. {
  1716. Pag_num_cnt++;
  1717. pTx[16] = USART2_RX_BUF002[16];
  1718. pTx[17] = USART2_RX_BUF002[17];
  1719. pTx[18] = USART2_RX_BUF002[18];
  1720. pTx[19] = USART2_RX_BUF002[19];
  1721. if(Pag_num_cnt==10)
  1722. pTx[20] = 2;
  1723. else
  1724. pTx[20] = 1;
  1725. return 1;
  1726. }
  1727. else
  1728. {
  1729. pTx[16] = USART2_RX_BUF002[16];
  1730. pTx[17] = USART2_RX_BUF002[17];
  1731. pTx[18] = USART2_RX_BUF002[18];
  1732. pTx[19] = USART2_RX_BUF002[19];
  1733. pTx[20] = 0;
  1734. return 0;
  1735. }
  1736. }
  1737. else if(Pag_num == 6)
  1738. {
  1739. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+200,20);
  1740. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+200,20);
  1741. for(j=0;j<20;j++)
  1742. {
  1743. if(Flash_buf1[j]==Flash_buf[j])
  1744. CP_CNT++;
  1745. }
  1746. if(CP_CNT==20)
  1747. {
  1748. Pag_num_cnt++;
  1749. pTx[16] = USART2_RX_BUF002[16];
  1750. pTx[17] = USART2_RX_BUF002[17];
  1751. pTx[18] = USART2_RX_BUF002[18];
  1752. pTx[19] = USART2_RX_BUF002[19];
  1753. if(Pag_num_cnt==10)
  1754. pTx[20] = 2;
  1755. else
  1756. pTx[20] = 1;
  1757. return 1;
  1758. }
  1759. else
  1760. {
  1761. pTx[16] = USART2_RX_BUF002[16];
  1762. pTx[17] = USART2_RX_BUF002[17];
  1763. pTx[18] = USART2_RX_BUF002[18];
  1764. pTx[19] = USART2_RX_BUF002[19];
  1765. pTx[20] = 0;
  1766. return 0;
  1767. }
  1768. }
  1769. else if(Pag_num == 7)
  1770. {
  1771. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+240,20);
  1772. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+240,20);
  1773. for(j=0;j<20;j++)
  1774. {
  1775. if(Flash_buf1[j]==Flash_buf[j])
  1776. CP_CNT++;
  1777. }
  1778. if(CP_CNT==20)
  1779. {
  1780. Pag_num_cnt++;
  1781. pTx[16] = USART2_RX_BUF002[16];
  1782. pTx[17] = USART2_RX_BUF002[17];
  1783. pTx[18] = USART2_RX_BUF002[18];
  1784. pTx[19] = USART2_RX_BUF002[19];
  1785. if(Pag_num_cnt==10)
  1786. pTx[20] = 2;
  1787. else
  1788. pTx[20] = 1;
  1789. return 1;
  1790. }
  1791. else
  1792. {
  1793. pTx[16] = USART2_RX_BUF002[16];
  1794. pTx[17] = USART2_RX_BUF002[17];
  1795. pTx[18] = USART2_RX_BUF002[18];
  1796. pTx[19] = USART2_RX_BUF002[19];
  1797. pTx[20] = 0;
  1798. return 0;
  1799. }
  1800. }
  1801. else if(Pag_num == 8)
  1802. {
  1803. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+280,20);
  1804. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+280,20);
  1805. for(j=0;j<20;j++)
  1806. {
  1807. if(Flash_buf1[j]==Flash_buf[j])
  1808. CP_CNT++;
  1809. }
  1810. if(CP_CNT==20)
  1811. {
  1812. Pag_num_cnt++;
  1813. pTx[16] = USART2_RX_BUF002[16];
  1814. pTx[17] = USART2_RX_BUF002[17];
  1815. pTx[18] = USART2_RX_BUF002[18];
  1816. pTx[19] = USART2_RX_BUF002[19];
  1817. if(Pag_num_cnt==10)
  1818. pTx[20] = 2;
  1819. else
  1820. pTx[20] = 1;
  1821. return 1;
  1822. }
  1823. else
  1824. {
  1825. pTx[16] = USART2_RX_BUF002[16];
  1826. pTx[17] = USART2_RX_BUF002[17];
  1827. pTx[18] = USART2_RX_BUF002[18];
  1828. pTx[19] = USART2_RX_BUF002[19];
  1829. pTx[20] = 0;
  1830. return 0;
  1831. }
  1832. }
  1833. else if(Pag_num == 9)
  1834. {
  1835. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+320,20);
  1836. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+320,20);
  1837. for(j=0;j<20;j++)
  1838. {
  1839. if(Flash_buf1[j]==Flash_buf[j])
  1840. CP_CNT++;
  1841. }
  1842. if(CP_CNT==20)
  1843. {
  1844. Pag_num_cnt++;
  1845. pTx[16] = USART2_RX_BUF002[16];
  1846. pTx[17] = USART2_RX_BUF002[17];
  1847. pTx[18] = USART2_RX_BUF002[18];
  1848. pTx[19] = USART2_RX_BUF002[19];
  1849. if(Pag_num_cnt==10)
  1850. pTx[20] = 2;
  1851. else
  1852. pTx[20] = 1;
  1853. return 1;
  1854. }
  1855. else
  1856. {
  1857. pTx[16] = USART2_RX_BUF002[16];
  1858. pTx[17] = USART2_RX_BUF002[17];
  1859. pTx[18] = USART2_RX_BUF002[18];
  1860. pTx[19] = USART2_RX_BUF002[19];
  1861. pTx[20] = 0;
  1862. return 0;
  1863. }
  1864. }
  1865. else if(Pag_num == 10)
  1866. {
  1867. Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+360,20);
  1868. Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+360,20);
  1869. for(j=0;j<20;j++)
  1870. {
  1871. if(Flash_buf1[j]==Flash_buf[j])
  1872. CP_CNT++;
  1873. }
  1874. if(CP_CNT==20)
  1875. {
  1876. Pag_num_cnt++;
  1877. pTx[16] = USART2_RX_BUF002[16];
  1878. pTx[17] = USART2_RX_BUF002[17];
  1879. pTx[18] = USART2_RX_BUF002[18];
  1880. pTx[19] = USART2_RX_BUF002[19];
  1881. if(Pag_num_cnt==10)
  1882. pTx[20] = 2;
  1883. else
  1884. pTx[20] = 1;
  1885. Pag_num_cnt=0;
  1886. return 1;
  1887. }
  1888. else
  1889. {
  1890. pTx[16] = USART2_RX_BUF002[16];
  1891. pTx[17] = USART2_RX_BUF002[17];
  1892. pTx[18] = USART2_RX_BUF002[18];
  1893. pTx[19] = USART2_RX_BUF002[19];
  1894. pTx[20] = 0;
  1895. return 0;
  1896. }
  1897. }
  1898. }
  1899. else if(Cang_num == 0x0002)
  1900. {
  1901. if(Pag_num == 1)
  1902. {
  1903. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE,20);
  1904. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE,20);
  1905. for(j=0;j<20;j++)
  1906. {
  1907. if(Flash_buf1[j]==Flash_buf[j])
  1908. CP_CNT++;
  1909. }
  1910. if(CP_CNT==20)
  1911. {
  1912. Pag_num_cnt++;
  1913. pTx[16] = USART2_RX_BUF002[16];
  1914. pTx[17] = USART2_RX_BUF002[17];
  1915. pTx[18] = USART2_RX_BUF002[18];
  1916. pTx[19] = USART2_RX_BUF002[19];
  1917. if(Pag_num_cnt==10)
  1918. pTx[20] = 2;
  1919. else
  1920. pTx[20] = 1;
  1921. return 1;
  1922. }
  1923. else
  1924. {
  1925. pTx[16] = USART2_RX_BUF002[16];
  1926. pTx[17] = USART2_RX_BUF002[17];
  1927. pTx[18] = USART2_RX_BUF002[18];
  1928. pTx[19] = USART2_RX_BUF002[19];
  1929. pTx[20] = 0;
  1930. return 0;
  1931. }
  1932. }
  1933. else if(Pag_num == 2)
  1934. {
  1935. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+40,20);
  1936. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+40,20);
  1937. for(j=0;j<20;j++)
  1938. {
  1939. if(Flash_buf1[j]==Flash_buf[j])
  1940. CP_CNT++;
  1941. }
  1942. if(CP_CNT==20)
  1943. {
  1944. Pag_num_cnt++;
  1945. pTx[16] = USART2_RX_BUF002[16];
  1946. pTx[17] = USART2_RX_BUF002[17];
  1947. pTx[18] = USART2_RX_BUF002[18];
  1948. pTx[19] = USART2_RX_BUF002[19];
  1949. if(Pag_num_cnt==40)
  1950. pTx[20] = 2;
  1951. else
  1952. pTx[20] = 1;
  1953. return 1;
  1954. }
  1955. else
  1956. {
  1957. pTx[16] = USART2_RX_BUF002[16];
  1958. pTx[17] = USART2_RX_BUF002[17];
  1959. pTx[18] = USART2_RX_BUF002[18];
  1960. pTx[19] = USART2_RX_BUF002[19];
  1961. pTx[20] = 0;
  1962. return 0;
  1963. }
  1964. }
  1965. else if(Pag_num == 3)
  1966. {
  1967. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+80,20);
  1968. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+80,20);
  1969. for(j=0;j<20;j++)
  1970. {
  1971. if(Flash_buf1[j]==Flash_buf[j])
  1972. CP_CNT++;
  1973. }
  1974. if(CP_CNT==20)
  1975. {
  1976. Pag_num_cnt++;
  1977. pTx[16] = USART2_RX_BUF002[16];
  1978. pTx[17] = USART2_RX_BUF002[17];
  1979. pTx[18] = USART2_RX_BUF002[18];
  1980. pTx[19] = USART2_RX_BUF002[19];
  1981. if(Pag_num_cnt==10)
  1982. pTx[20] = 2;
  1983. else
  1984. pTx[20] = 1;
  1985. return 1;
  1986. }
  1987. else
  1988. {
  1989. pTx[16] = USART2_RX_BUF002[16];
  1990. pTx[17] = USART2_RX_BUF002[17];
  1991. pTx[18] = USART2_RX_BUF002[18];
  1992. pTx[19] = USART2_RX_BUF002[19];
  1993. pTx[20] = 0;
  1994. return 0;
  1995. }
  1996. }
  1997. else if(Pag_num == 4)
  1998. {
  1999. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+120,20);
  2000. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+120,20);
  2001. for(j=0;j<20;j++)
  2002. {
  2003. if(Flash_buf1[j]==Flash_buf[j])
  2004. CP_CNT++;
  2005. }
  2006. if(CP_CNT==20)
  2007. {
  2008. Pag_num_cnt++;
  2009. pTx[16] = USART2_RX_BUF002[16];
  2010. pTx[17] = USART2_RX_BUF002[17];
  2011. pTx[18] = USART2_RX_BUF002[18];
  2012. pTx[19] = USART2_RX_BUF002[19];
  2013. if(Pag_num_cnt==10)
  2014. pTx[20] = 2;
  2015. else
  2016. pTx[20] = 1;
  2017. return 1;
  2018. }
  2019. else
  2020. {
  2021. pTx[16] = USART2_RX_BUF002[16];
  2022. pTx[17] = USART2_RX_BUF002[17];
  2023. pTx[18] = USART2_RX_BUF002[18];
  2024. pTx[19] = USART2_RX_BUF002[19];
  2025. pTx[20] = 0;
  2026. return 0;
  2027. }
  2028. }
  2029. else if(Pag_num == 5)
  2030. {
  2031. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+160,20);
  2032. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+160,20);
  2033. for(j=0;j<20;j++)
  2034. {
  2035. if(Flash_buf1[j]==Flash_buf[j])
  2036. CP_CNT++;
  2037. }
  2038. if(CP_CNT==20)
  2039. {
  2040. Pag_num_cnt++;
  2041. pTx[16] = USART2_RX_BUF002[16];
  2042. pTx[17] = USART2_RX_BUF002[17];
  2043. pTx[18] = USART2_RX_BUF002[18];
  2044. pTx[19] = USART2_RX_BUF002[19];
  2045. if(Pag_num_cnt==10)
  2046. pTx[20] = 2;
  2047. else
  2048. pTx[20] = 1;
  2049. return 1;
  2050. }
  2051. else
  2052. {
  2053. pTx[16] = USART2_RX_BUF002[16];
  2054. pTx[17] = USART2_RX_BUF002[17];
  2055. pTx[18] = USART2_RX_BUF002[18];
  2056. pTx[19] = USART2_RX_BUF002[19];
  2057. pTx[20] = 0;
  2058. return 0;
  2059. }
  2060. }
  2061. else if(Pag_num == 6)
  2062. {
  2063. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+200,20);
  2064. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+200,20);
  2065. for(j=0;j<20;j++)
  2066. {
  2067. if(Flash_buf1[j]==Flash_buf[j])
  2068. CP_CNT++;
  2069. }
  2070. if(CP_CNT==20)
  2071. {
  2072. Pag_num_cnt++;
  2073. pTx[16] = USART2_RX_BUF002[16];
  2074. pTx[17] = USART2_RX_BUF002[17];
  2075. pTx[18] = USART2_RX_BUF002[18];
  2076. pTx[19] = USART2_RX_BUF002[19];
  2077. if(Pag_num_cnt==10)
  2078. pTx[20] = 2;
  2079. else
  2080. pTx[20] = 1;
  2081. return 1;
  2082. }
  2083. else
  2084. {
  2085. pTx[16] = USART2_RX_BUF002[16];
  2086. pTx[17] = USART2_RX_BUF002[17];
  2087. pTx[18] = USART2_RX_BUF002[18];
  2088. pTx[19] = USART2_RX_BUF002[19];
  2089. pTx[20] = 0;
  2090. return 0;
  2091. }
  2092. }
  2093. else if(Pag_num == 7)
  2094. {
  2095. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+240,20);
  2096. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+240,20);
  2097. for(j=0;j<20;j++)
  2098. {
  2099. if(Flash_buf1[j]==Flash_buf[j])
  2100. CP_CNT++;
  2101. }
  2102. if(CP_CNT==20)
  2103. {
  2104. Pag_num_cnt++;
  2105. pTx[16] = USART2_RX_BUF002[16];
  2106. pTx[17] = USART2_RX_BUF002[17];
  2107. pTx[18] = USART2_RX_BUF002[18];
  2108. pTx[19] = USART2_RX_BUF002[19];
  2109. if(Pag_num_cnt==10)
  2110. pTx[20] = 2;
  2111. else
  2112. pTx[20] = 1;
  2113. return 1;
  2114. }
  2115. else
  2116. {
  2117. pTx[16] = USART2_RX_BUF002[16];
  2118. pTx[17] = USART2_RX_BUF002[17];
  2119. pTx[18] = USART2_RX_BUF002[18];
  2120. pTx[19] = USART2_RX_BUF002[19];
  2121. pTx[20] = 0;
  2122. return 0;
  2123. }
  2124. }
  2125. else if(Pag_num == 8)
  2126. {
  2127. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+280,20);
  2128. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+280,20);
  2129. for(j=0;j<20;j++)
  2130. {
  2131. if(Flash_buf1[j]==Flash_buf[j])
  2132. CP_CNT++;
  2133. }
  2134. if(CP_CNT==20)
  2135. {
  2136. Pag_num_cnt++;
  2137. pTx[16] = USART2_RX_BUF002[16];
  2138. pTx[17] = USART2_RX_BUF002[17];
  2139. pTx[18] = USART2_RX_BUF002[18];
  2140. pTx[19] = USART2_RX_BUF002[19];
  2141. if(Pag_num_cnt==10)
  2142. pTx[20] = 2;
  2143. else
  2144. pTx[20] = 1;
  2145. return 1;
  2146. }
  2147. else
  2148. {
  2149. pTx[16] = USART2_RX_BUF002[16];
  2150. pTx[17] = USART2_RX_BUF002[17];
  2151. pTx[18] = USART2_RX_BUF002[18];
  2152. pTx[19] = USART2_RX_BUF002[19];
  2153. pTx[20] = 0;
  2154. return 0;
  2155. }
  2156. }
  2157. else if(Pag_num == 9)
  2158. {
  2159. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+320,20);
  2160. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+320,20);
  2161. for(j=0;j<20;j++)
  2162. {
  2163. if(Flash_buf1[j]==Flash_buf[j])
  2164. CP_CNT++;
  2165. }
  2166. if(CP_CNT==20)
  2167. {
  2168. Pag_num_cnt++;
  2169. pTx[16] = USART2_RX_BUF002[16];
  2170. pTx[17] = USART2_RX_BUF002[17];
  2171. pTx[18] = USART2_RX_BUF002[18];
  2172. pTx[19] = USART2_RX_BUF002[19];
  2173. if(Pag_num_cnt==10)
  2174. pTx[20] = 2;
  2175. else
  2176. pTx[20] = 1;
  2177. return 1;
  2178. }
  2179. else
  2180. {
  2181. pTx[16] = USART2_RX_BUF002[16];
  2182. pTx[17] = USART2_RX_BUF002[17];
  2183. pTx[18] = USART2_RX_BUF002[18];
  2184. pTx[19] = USART2_RX_BUF002[19];
  2185. pTx[20] = 0;
  2186. return 0;
  2187. }
  2188. }
  2189. else if(Pag_num == 10)
  2190. {
  2191. Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+360,20);
  2192. Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+360,20);
  2193. for(j=0;j<20;j++)
  2194. {
  2195. if(Flash_buf1[j]==Flash_buf[j])
  2196. CP_CNT++;
  2197. }
  2198. if(CP_CNT==20)
  2199. {
  2200. Pag_num_cnt++;
  2201. pTx[16] = USART2_RX_BUF002[16];
  2202. pTx[17] = USART2_RX_BUF002[17];
  2203. pTx[18] = USART2_RX_BUF002[18];
  2204. pTx[19] = USART2_RX_BUF002[19];
  2205. if(Pag_num_cnt==10)
  2206. pTx[20] = 2;
  2207. else
  2208. pTx[20] = 1;
  2209. Pag_num_cnt=0;
  2210. return 1;
  2211. }
  2212. else
  2213. {
  2214. pTx[16] = USART2_RX_BUF002[16];
  2215. pTx[17] = USART2_RX_BUF002[17];
  2216. pTx[18] = USART2_RX_BUF002[18];
  2217. pTx[19] = USART2_RX_BUF002[19];
  2218. pTx[20] = 0;
  2219. return 0;
  2220. }
  2221. }
  2222. }
  2223. else if(Cang_num == 0x0003)
  2224. {
  2225. if(Pag_num == 1)
  2226. {
  2227. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE,20);
  2228. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE,20);
  2229. for(j=0;j<20;j++)
  2230. {
  2231. if(Flash_buf1[j]==Flash_buf[j])
  2232. CP_CNT++;
  2233. }
  2234. if(CP_CNT==20)
  2235. {
  2236. Pag_num_cnt++;
  2237. pTx[16] = USART2_RX_BUF002[16];
  2238. pTx[17] = USART2_RX_BUF002[17];
  2239. pTx[18] = USART2_RX_BUF002[18];
  2240. pTx[19] = USART2_RX_BUF002[19];
  2241. if(Pag_num_cnt==10)
  2242. pTx[20] = 2;
  2243. else
  2244. pTx[20] = 1;
  2245. return 1;
  2246. }
  2247. else
  2248. {
  2249. pTx[16] = USART2_RX_BUF002[16];
  2250. pTx[17] = USART2_RX_BUF002[17];
  2251. pTx[18] = USART2_RX_BUF002[18];
  2252. pTx[19] = USART2_RX_BUF002[19];
  2253. pTx[20] = 0;
  2254. return 0;
  2255. }
  2256. }
  2257. else if(Pag_num == 2)
  2258. {
  2259. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+40,20);
  2260. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+40,20);
  2261. for(j=0;j<20;j++)
  2262. {
  2263. if(Flash_buf1[j]==Flash_buf[j])
  2264. CP_CNT++;
  2265. }
  2266. if(CP_CNT==20)
  2267. {
  2268. Pag_num_cnt++;
  2269. pTx[16] = USART2_RX_BUF002[16];
  2270. pTx[17] = USART2_RX_BUF002[17];
  2271. pTx[18] = USART2_RX_BUF002[18];
  2272. pTx[19] = USART2_RX_BUF002[19];
  2273. if(Pag_num_cnt==40)
  2274. pTx[20] = 2;
  2275. else
  2276. pTx[20] = 1;
  2277. return 1;
  2278. }
  2279. else
  2280. {
  2281. pTx[16] = USART2_RX_BUF002[16];
  2282. pTx[17] = USART2_RX_BUF002[17];
  2283. pTx[18] = USART2_RX_BUF002[18];
  2284. pTx[19] = USART2_RX_BUF002[19];
  2285. pTx[20] = 0;
  2286. return 0;
  2287. }
  2288. }
  2289. else if(Pag_num == 3)
  2290. {
  2291. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+80,20);
  2292. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+80,20);
  2293. for(j=0;j<20;j++)
  2294. {
  2295. if(Flash_buf1[j]==Flash_buf[j])
  2296. CP_CNT++;
  2297. }
  2298. if(CP_CNT==20)
  2299. {
  2300. Pag_num_cnt++;
  2301. pTx[16] = USART2_RX_BUF002[16];
  2302. pTx[17] = USART2_RX_BUF002[17];
  2303. pTx[18] = USART2_RX_BUF002[18];
  2304. pTx[19] = USART2_RX_BUF002[19];
  2305. if(Pag_num_cnt==10)
  2306. pTx[20] = 2;
  2307. else
  2308. pTx[20] = 1;
  2309. return 1;
  2310. }
  2311. else
  2312. {
  2313. pTx[16] = USART2_RX_BUF002[16];
  2314. pTx[17] = USART2_RX_BUF002[17];
  2315. pTx[18] = USART2_RX_BUF002[18];
  2316. pTx[19] = USART2_RX_BUF002[19];
  2317. pTx[20] = 0;
  2318. return 0;
  2319. }
  2320. }
  2321. else if(Pag_num == 4)
  2322. {
  2323. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+120,20);
  2324. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+120,20);
  2325. for(j=0;j<20;j++)
  2326. {
  2327. if(Flash_buf1[j]==Flash_buf[j])
  2328. CP_CNT++;
  2329. }
  2330. if(CP_CNT==20)
  2331. {
  2332. Pag_num_cnt++;
  2333. pTx[16] = USART2_RX_BUF002[16];
  2334. pTx[17] = USART2_RX_BUF002[17];
  2335. pTx[18] = USART2_RX_BUF002[18];
  2336. pTx[19] = USART2_RX_BUF002[19];
  2337. if(Pag_num_cnt==10)
  2338. pTx[20] = 2;
  2339. else
  2340. pTx[20] = 1;
  2341. return 1;
  2342. }
  2343. else
  2344. {
  2345. pTx[16] = USART2_RX_BUF002[16];
  2346. pTx[17] = USART2_RX_BUF002[17];
  2347. pTx[18] = USART2_RX_BUF002[18];
  2348. pTx[19] = USART2_RX_BUF002[19];
  2349. pTx[20] = 0;
  2350. return 0;
  2351. }
  2352. }
  2353. else if(Pag_num == 5)
  2354. {
  2355. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+160,20);
  2356. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+160,20);
  2357. for(j=0;j<20;j++)
  2358. {
  2359. if(Flash_buf1[j]==Flash_buf[j])
  2360. CP_CNT++;
  2361. }
  2362. if(CP_CNT==20)
  2363. {
  2364. Pag_num_cnt++;
  2365. pTx[16] = USART2_RX_BUF002[16];
  2366. pTx[17] = USART2_RX_BUF002[17];
  2367. pTx[18] = USART2_RX_BUF002[18];
  2368. pTx[19] = USART2_RX_BUF002[19];
  2369. if(Pag_num_cnt==10)
  2370. pTx[20] = 2;
  2371. else
  2372. pTx[20] = 1;
  2373. return 1;
  2374. }
  2375. else
  2376. {
  2377. pTx[16] = USART2_RX_BUF002[16];
  2378. pTx[17] = USART2_RX_BUF002[17];
  2379. pTx[18] = USART2_RX_BUF002[18];
  2380. pTx[19] = USART2_RX_BUF002[19];
  2381. pTx[20] = 0;
  2382. return 0;
  2383. }
  2384. }
  2385. else if(Pag_num == 6)
  2386. {
  2387. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+200,20);
  2388. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+200,20);
  2389. for(j=0;j<20;j++)
  2390. {
  2391. if(Flash_buf1[j]==Flash_buf[j])
  2392. CP_CNT++;
  2393. }
  2394. if(CP_CNT==20)
  2395. {
  2396. Pag_num_cnt++;
  2397. pTx[16] = USART2_RX_BUF002[16];
  2398. pTx[17] = USART2_RX_BUF002[17];
  2399. pTx[18] = USART2_RX_BUF002[18];
  2400. pTx[19] = USART2_RX_BUF002[19];
  2401. if(Pag_num_cnt==10)
  2402. pTx[20] = 2;
  2403. else
  2404. pTx[20] = 1;
  2405. return 1;
  2406. }
  2407. else
  2408. {
  2409. pTx[16] = USART2_RX_BUF002[16];
  2410. pTx[17] = USART2_RX_BUF002[17];
  2411. pTx[18] = USART2_RX_BUF002[18];
  2412. pTx[19] = USART2_RX_BUF002[19];
  2413. pTx[20] = 0;
  2414. return 0;
  2415. }
  2416. }
  2417. else if(Pag_num == 7)
  2418. {
  2419. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+240,20);
  2420. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+240,20);
  2421. for(j=0;j<20;j++)
  2422. {
  2423. if(Flash_buf1[j]==Flash_buf[j])
  2424. CP_CNT++;
  2425. }
  2426. if(CP_CNT==20)
  2427. {
  2428. Pag_num_cnt++;
  2429. pTx[16] = USART2_RX_BUF002[16];
  2430. pTx[17] = USART2_RX_BUF002[17];
  2431. pTx[18] = USART2_RX_BUF002[18];
  2432. pTx[19] = USART2_RX_BUF002[19];
  2433. if(Pag_num_cnt==10)
  2434. pTx[20] = 2;
  2435. else
  2436. pTx[20] = 1;
  2437. return 1;
  2438. }
  2439. else
  2440. {
  2441. pTx[16] = USART2_RX_BUF002[16];
  2442. pTx[17] = USART2_RX_BUF002[17];
  2443. pTx[18] = USART2_RX_BUF002[18];
  2444. pTx[19] = USART2_RX_BUF002[19];
  2445. pTx[20] = 0;
  2446. return 0;
  2447. }
  2448. }
  2449. else if(Pag_num == 8)
  2450. {
  2451. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+280,20);
  2452. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+280,20);
  2453. for(j=0;j<20;j++)
  2454. {
  2455. if(Flash_buf1[j]==Flash_buf[j])
  2456. CP_CNT++;
  2457. }
  2458. if(CP_CNT==20)
  2459. {
  2460. Pag_num_cnt++;
  2461. pTx[16] = USART2_RX_BUF002[16];
  2462. pTx[17] = USART2_RX_BUF002[17];
  2463. pTx[18] = USART2_RX_BUF002[18];
  2464. pTx[19] = USART2_RX_BUF002[19];
  2465. if(Pag_num_cnt==10)
  2466. pTx[20] = 2;
  2467. else
  2468. pTx[20] = 1;
  2469. return 1;
  2470. }
  2471. else
  2472. {
  2473. pTx[16] = USART2_RX_BUF002[16];
  2474. pTx[17] = USART2_RX_BUF002[17];
  2475. pTx[18] = USART2_RX_BUF002[18];
  2476. pTx[19] = USART2_RX_BUF002[19];
  2477. pTx[20] = 0;
  2478. return 0;
  2479. }
  2480. }
  2481. else if(Pag_num == 9)
  2482. {
  2483. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+320,20);
  2484. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+320,20);
  2485. for(j=0;j<20;j++)
  2486. {
  2487. if(Flash_buf1[j]==Flash_buf[j])
  2488. CP_CNT++;
  2489. }
  2490. if(CP_CNT==20)
  2491. {
  2492. Pag_num_cnt++;
  2493. pTx[16] = USART2_RX_BUF002[16];
  2494. pTx[17] = USART2_RX_BUF002[17];
  2495. pTx[18] = USART2_RX_BUF002[18];
  2496. pTx[19] = USART2_RX_BUF002[19];
  2497. if(Pag_num_cnt==10)
  2498. pTx[20] = 2;
  2499. else
  2500. pTx[20] = 1;
  2501. return 1;
  2502. }
  2503. else
  2504. {
  2505. pTx[16] = USART2_RX_BUF002[16];
  2506. pTx[17] = USART2_RX_BUF002[17];
  2507. pTx[18] = USART2_RX_BUF002[18];
  2508. pTx[19] = USART2_RX_BUF002[19];
  2509. pTx[20] = 0;
  2510. return 0;
  2511. }
  2512. }
  2513. else if(Pag_num == 10)
  2514. {
  2515. Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+360,20);
  2516. Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+360,20);
  2517. for(j=0;j<20;j++)
  2518. {
  2519. if(Flash_buf1[j]==Flash_buf[j])
  2520. CP_CNT++;
  2521. }
  2522. if(CP_CNT==20)
  2523. {
  2524. Pag_num_cnt++;
  2525. pTx[16] = USART2_RX_BUF002[16];
  2526. pTx[17] = USART2_RX_BUF002[17];
  2527. pTx[18] = USART2_RX_BUF002[18];
  2528. pTx[19] = USART2_RX_BUF002[19];
  2529. if(Pag_num_cnt==10)
  2530. pTx[20] = 2;
  2531. else
  2532. pTx[20] = 1;
  2533. Pag_num_cnt=0;
  2534. return 1;
  2535. }
  2536. else
  2537. {
  2538. pTx[16] = USART2_RX_BUF002[16];
  2539. pTx[17] = USART2_RX_BUF002[17];
  2540. pTx[18] = USART2_RX_BUF002[18];
  2541. pTx[19] = USART2_RX_BUF002[19];
  2542. pTx[20] = 0;
  2543. return 0;
  2544. }
  2545. }
  2546. }
  2547. else if(Cang_num == 0x0004)
  2548. {
  2549. if(Pag_num == 1)
  2550. {
  2551. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE,20);
  2552. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE,20);
  2553. for(j=0;j<20;j++)
  2554. {
  2555. if(Flash_buf1[j]==Flash_buf[j])
  2556. CP_CNT++;
  2557. }
  2558. if(CP_CNT==20)
  2559. {
  2560. Pag_num_cnt++;
  2561. pTx[16] = USART2_RX_BUF002[16];
  2562. pTx[17] = USART2_RX_BUF002[17];
  2563. pTx[18] = USART2_RX_BUF002[18];
  2564. pTx[19] = USART2_RX_BUF002[19];
  2565. if(Pag_num_cnt==10)
  2566. pTx[20] = 2;
  2567. else
  2568. pTx[20] = 1;
  2569. return 1;
  2570. }
  2571. else
  2572. {
  2573. pTx[16] = USART2_RX_BUF002[16];
  2574. pTx[17] = USART2_RX_BUF002[17];
  2575. pTx[18] = USART2_RX_BUF002[18];
  2576. pTx[19] = USART2_RX_BUF002[19];
  2577. pTx[20] = 0;
  2578. return 0;
  2579. }
  2580. }
  2581. else if(Pag_num == 2)
  2582. {
  2583. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+40,20);
  2584. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+40,20);
  2585. for(j=0;j<20;j++)
  2586. {
  2587. if(Flash_buf1[j]==Flash_buf[j])
  2588. CP_CNT++;
  2589. }
  2590. if(CP_CNT==20)
  2591. {
  2592. Pag_num_cnt++;
  2593. pTx[16] = USART2_RX_BUF002[16];
  2594. pTx[17] = USART2_RX_BUF002[17];
  2595. pTx[18] = USART2_RX_BUF002[18];
  2596. pTx[19] = USART2_RX_BUF002[19];
  2597. if(Pag_num_cnt==40)
  2598. pTx[20] = 2;
  2599. else
  2600. pTx[20] = 1;
  2601. return 1;
  2602. }
  2603. else
  2604. {
  2605. pTx[16] = USART2_RX_BUF002[16];
  2606. pTx[17] = USART2_RX_BUF002[17];
  2607. pTx[18] = USART2_RX_BUF002[18];
  2608. pTx[19] = USART2_RX_BUF002[19];
  2609. pTx[20] = 0;
  2610. return 0;
  2611. }
  2612. }
  2613. else if(Pag_num == 3)
  2614. {
  2615. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+80,20);
  2616. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+80,20);
  2617. for(j=0;j<20;j++)
  2618. {
  2619. if(Flash_buf1[j]==Flash_buf[j])
  2620. CP_CNT++;
  2621. }
  2622. if(CP_CNT==20)
  2623. {
  2624. Pag_num_cnt++;
  2625. pTx[16] = USART2_RX_BUF002[16];
  2626. pTx[17] = USART2_RX_BUF002[17];
  2627. pTx[18] = USART2_RX_BUF002[18];
  2628. pTx[19] = USART2_RX_BUF002[19];
  2629. if(Pag_num_cnt==10)
  2630. pTx[20] = 2;
  2631. else
  2632. pTx[20] = 1;
  2633. return 1;
  2634. }
  2635. else
  2636. {
  2637. pTx[16] = USART2_RX_BUF002[16];
  2638. pTx[17] = USART2_RX_BUF002[17];
  2639. pTx[18] = USART2_RX_BUF002[18];
  2640. pTx[19] = USART2_RX_BUF002[19];
  2641. pTx[20] = 0;
  2642. return 0;
  2643. }
  2644. }
  2645. else if(Pag_num == 4)
  2646. {
  2647. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+120,20);
  2648. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+120,20);
  2649. for(j=0;j<20;j++)
  2650. {
  2651. if(Flash_buf1[j]==Flash_buf[j])
  2652. CP_CNT++;
  2653. }
  2654. if(CP_CNT==20)
  2655. {
  2656. Pag_num_cnt++;
  2657. pTx[16] = USART2_RX_BUF002[16];
  2658. pTx[17] = USART2_RX_BUF002[17];
  2659. pTx[18] = USART2_RX_BUF002[18];
  2660. pTx[19] = USART2_RX_BUF002[19];
  2661. if(Pag_num_cnt==10)
  2662. pTx[20] = 2;
  2663. else
  2664. pTx[20] = 1;
  2665. return 1;
  2666. }
  2667. else
  2668. {
  2669. pTx[16] = USART2_RX_BUF002[16];
  2670. pTx[17] = USART2_RX_BUF002[17];
  2671. pTx[18] = USART2_RX_BUF002[18];
  2672. pTx[19] = USART2_RX_BUF002[19];
  2673. pTx[20] = 0;
  2674. return 0;
  2675. }
  2676. }
  2677. else if(Pag_num == 5)
  2678. {
  2679. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+160,20);
  2680. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+160,20);
  2681. for(j=0;j<20;j++)
  2682. {
  2683. if(Flash_buf1[j]==Flash_buf[j])
  2684. CP_CNT++;
  2685. }
  2686. if(CP_CNT==20)
  2687. {
  2688. Pag_num_cnt++;
  2689. pTx[16] = USART2_RX_BUF002[16];
  2690. pTx[17] = USART2_RX_BUF002[17];
  2691. pTx[18] = USART2_RX_BUF002[18];
  2692. pTx[19] = USART2_RX_BUF002[19];
  2693. if(Pag_num_cnt==10)
  2694. pTx[20] = 2;
  2695. else
  2696. pTx[20] = 1;
  2697. return 1;
  2698. }
  2699. else
  2700. {
  2701. pTx[16] = USART2_RX_BUF002[16];
  2702. pTx[17] = USART2_RX_BUF002[17];
  2703. pTx[18] = USART2_RX_BUF002[18];
  2704. pTx[19] = USART2_RX_BUF002[19];
  2705. pTx[20] = 0;
  2706. return 0;
  2707. }
  2708. }
  2709. else if(Pag_num == 6)
  2710. {
  2711. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+200,20);
  2712. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+200,20);
  2713. for(j=0;j<20;j++)
  2714. {
  2715. if(Flash_buf1[j]==Flash_buf[j])
  2716. CP_CNT++;
  2717. }
  2718. if(CP_CNT==20)
  2719. {
  2720. Pag_num_cnt++;
  2721. pTx[16] = USART2_RX_BUF002[16];
  2722. pTx[17] = USART2_RX_BUF002[17];
  2723. pTx[18] = USART2_RX_BUF002[18];
  2724. pTx[19] = USART2_RX_BUF002[19];
  2725. if(Pag_num_cnt==10)
  2726. pTx[20] = 2;
  2727. else
  2728. pTx[20] = 1;
  2729. return 1;
  2730. }
  2731. else
  2732. {
  2733. pTx[16] = USART2_RX_BUF002[16];
  2734. pTx[17] = USART2_RX_BUF002[17];
  2735. pTx[18] = USART2_RX_BUF002[18];
  2736. pTx[19] = USART2_RX_BUF002[19];
  2737. pTx[20] = 0;
  2738. return 0;
  2739. }
  2740. }
  2741. else if(Pag_num == 7)
  2742. {
  2743. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+240,20);
  2744. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+240,20);
  2745. for(j=0;j<20;j++)
  2746. {
  2747. if(Flash_buf1[j]==Flash_buf[j])
  2748. CP_CNT++;
  2749. }
  2750. if(CP_CNT==20)
  2751. {
  2752. Pag_num_cnt++;
  2753. pTx[16] = USART2_RX_BUF002[16];
  2754. pTx[17] = USART2_RX_BUF002[17];
  2755. pTx[18] = USART2_RX_BUF002[18];
  2756. pTx[19] = USART2_RX_BUF002[19];
  2757. if(Pag_num_cnt==10)
  2758. pTx[20] = 2;
  2759. else
  2760. pTx[20] = 1;
  2761. return 1;
  2762. }
  2763. else
  2764. {
  2765. pTx[16] = USART2_RX_BUF002[16];
  2766. pTx[17] = USART2_RX_BUF002[17];
  2767. pTx[18] = USART2_RX_BUF002[18];
  2768. pTx[19] = USART2_RX_BUF002[19];
  2769. pTx[20] = 0;
  2770. return 0;
  2771. }
  2772. }
  2773. else if(Pag_num == 8)
  2774. {
  2775. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+280,20);
  2776. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+280,20);
  2777. for(j=0;j<20;j++)
  2778. {
  2779. if(Flash_buf1[j]==Flash_buf[j])
  2780. CP_CNT++;
  2781. }
  2782. if(CP_CNT==20)
  2783. {
  2784. Pag_num_cnt++;
  2785. pTx[16] = USART2_RX_BUF002[16];
  2786. pTx[17] = USART2_RX_BUF002[17];
  2787. pTx[18] = USART2_RX_BUF002[18];
  2788. pTx[19] = USART2_RX_BUF002[19];
  2789. if(Pag_num_cnt==10)
  2790. pTx[20] = 2;
  2791. else
  2792. pTx[20] = 1;
  2793. return 1;
  2794. }
  2795. else
  2796. {
  2797. pTx[16] = USART2_RX_BUF002[16];
  2798. pTx[17] = USART2_RX_BUF002[17];
  2799. pTx[18] = USART2_RX_BUF002[18];
  2800. pTx[19] = USART2_RX_BUF002[19];
  2801. pTx[20] = 0;
  2802. return 0;
  2803. }
  2804. }
  2805. else if(Pag_num == 9)
  2806. {
  2807. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+320,20);
  2808. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+320,20);
  2809. for(j=0;j<20;j++)
  2810. {
  2811. if(Flash_buf1[j]==Flash_buf[j])
  2812. CP_CNT++;
  2813. }
  2814. if(CP_CNT==20)
  2815. {
  2816. Pag_num_cnt++;
  2817. pTx[16] = USART2_RX_BUF002[16];
  2818. pTx[17] = USART2_RX_BUF002[17];
  2819. pTx[18] = USART2_RX_BUF002[18];
  2820. pTx[19] = USART2_RX_BUF002[19];
  2821. if(Pag_num_cnt==10)
  2822. pTx[20] = 2;
  2823. else
  2824. pTx[20] = 1;
  2825. return 1;
  2826. }
  2827. else
  2828. {
  2829. pTx[16] = USART2_RX_BUF002[16];
  2830. pTx[17] = USART2_RX_BUF002[17];
  2831. pTx[18] = USART2_RX_BUF002[18];
  2832. pTx[19] = USART2_RX_BUF002[19];
  2833. pTx[20] = 0;
  2834. return 0;
  2835. }
  2836. }
  2837. else if(Pag_num == 10)
  2838. {
  2839. Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+360,20);
  2840. Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+360,20);
  2841. for(j=0;j<20;j++)
  2842. {
  2843. if(Flash_buf1[j]==Flash_buf[j])
  2844. CP_CNT++;
  2845. }
  2846. if(CP_CNT==20)
  2847. {
  2848. Pag_num_cnt++;
  2849. pTx[16] = USART2_RX_BUF002[16];
  2850. pTx[17] = USART2_RX_BUF002[17];
  2851. pTx[18] = USART2_RX_BUF002[18];
  2852. pTx[19] = USART2_RX_BUF002[19];
  2853. if(Pag_num_cnt==10)
  2854. pTx[20] = 2;
  2855. else
  2856. pTx[20] = 1;
  2857. Pag_num_cnt=0;
  2858. return 1;
  2859. }
  2860. else
  2861. {
  2862. pTx[16] = USART2_RX_BUF002[16];
  2863. pTx[17] = USART2_RX_BUF002[17];
  2864. pTx[18] = USART2_RX_BUF002[18];
  2865. pTx[19] = USART2_RX_BUF002[19];
  2866. pTx[20] = 0;
  2867. return 0;
  2868. }
  2869. }
  2870. }
  2871. }
  2872. return 0;
  2873. }