level.c 50 KB

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