#include "stdint.h" #include "cang.h" #include "stdint.h" #include "string.h" #include "stdio.h" #include "usart.h" #include "config.h" #include "rkg.h" #include "cang.h" #include "kzq.h" #include "level.h" #include "tem.h" #include "angle.h" #include "xyf.h" #include "main.h" Level_Inf level_inf[SENSOR_DEEP]; #define PI 3.1415926 #define Buffer_Size 20 //static uint16 oil_densit[30] = //平均密度 //{720,720,725,725,737,737,753, //汽油: 89、90、92、93、95、97、98 // 830,835,840,830,820,820,850,870,}; //柴油: 5、0、-10、-20、-30、-35、10、20 // //static float oil_coe[30]= //{0.85,0.85,0.85,0.85,0.83,0.83,0.80, //温度,密度系数表 // 0.69,0.69,0.68,0.69,0.70,0.70,0.67,0.65, //}; //static uint16_t level_up[8] = {1903,2059,2122,2106,2096, //}; //static uint16_t level_low[8] = {1238,1419,1382,1441,1371, //}; // 1-N仓罐容表 const uint16_t H_1cang[200] = { 0, 1293, 1296, 1299, 1302, 1305, 1308, 1311, 1314, 1317, 1320, 1323, 1326, 1329, 1331, 1334, 1337, 1340, 1343, 1346, 1349, 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1373, 1376, 1379, 1382, 1385, 1388, 1391, 1394, 1397, 1400, 1403, 1406, 1409, 1412, 1415, 1418, 1421, 1424, 1427, 1430, 1434, 1437, 1440, 1443, 1446, 1449, 1452, 1455, 1458, 1462, 1465, 1468, 1471, 1474, 1477, 1480, 1484, 1487, 1490, 1493, 1496, 1499, 1503, 1506, 1509, 1512, 1515, 1519, 1522, 1525, 1528, 1531, 1535, 1538, 1541, 1544, 1548, 1551, 1554, 1557, 1560, 1564, 1567, 1570, 1573, 1577, 1580, 1583, 1587, 1590, 1593, 1596, 1600, 1603, 1606, 1610, 1613, 1616, 1619, 1623, 1626, 1630, 1633, 1636, 1640, 1643, 1647, 1650, 1654, 1657, 1661, 1665, 1668, 1672, 1675, 1679, 1683, 1686, 1690, 1694, 1697, 1701, 1705, 1709, 1712, 1716, 1720, 1724, 1728, 1731, 1735, 1739, 1743, 1747, 1751, 1755, 1759, 1763, 1768, 1772, 1776, 1780, 1785, 1789, 1793, 1798, 1802, 1807, 1812, 1817, 1821, 1827, 1832, 1837, 1843, 1849, 1855, 1861, }; const uint16_t H_2cang[200] = { 0, 1314, 1317, 1320, 1323, 1326, 1329, 1332, 1335, 1338, 1341, 1344, 1347, 1350, 1353, 1356, 1359, 1362, 1365, 1368, 1371, 1374, 1377, 1380, 1383, 1386, 1389, 1392, 1395, 1398, 1401, 1404, 1407, 1410, 1413, 1416, 1419, 1422, 1426, 1429, 1432, 1435, 1438, 1441, 1444, 1447, 1450, 1453, 1456, 1460, 1463, 1466, 1469, 1472, 1475, 1478, 1482, 1485, 1488, 1491, 1494, 1497, 1501, 1504, 1507, 1510, 1513, 1517, 1520, 1523, 1526, 1530, 1533, 1536, 1539, 1542, 1546, 1549, 1552, 1555, 1559, 1562, 1565, 1569, 1572, 1575, 1578, 1582, 1585, 1588, 1592, 1595, 1598, 1602, 1605, 1608, 1612, 1615, 1618, 1622, 1625, 1628, 1632, 1635, 1639, 1642, 1645, 1649, 1652, 1656, 1659, 1663, 1667, 1670, 1674, 1677, 1681, 1685, 1688, 1692, 1696, 1700, 1703, 1707, 1711, 1715, 1719, 1723, 1727, 1730, 1734, 1738, 1742, 1747, 1751, 1755, 1759, 1763, 1767, 1771, 1776, 1780, 1785, 1789, 1793, 1798, 1803, 1807, 1812, 1817, 1821, 1826, 1831, 1835, 1840, 1846, 1851, 1857, 1864, 1870, 1877, }; const uint16_t H_3cang[200] = { 0, 1292, 1295, 1298, 1301, 1304, 1307, 1310, 1313, 1316, 1319, 1321, 1324, 1327, 1330, 1333, 1336, 1339, 1342, 1345, 1348, 1351, 1354, 1357, 1360, 1363, 1366, 1369, 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1393, 1396, 1399, 1402, 1405, 1408, 1411, 1414, 1417, 1420, 1424, 1427, 1430, 1433, 1436, 1439, 1442, 1445, 1448, 1451, 1454, 1457, 1460, 1464, 1467, 1470, 1473, 1476, 1479, 1482, 1485, 1488, 1492, 1495, 1498, 1501, 1504, 1507, 1510, 1514, 1517, 1520, 1523, 1526, 1530, 1533, 1536, 1539, 1542, 1546, 1549, 1552, 1555, 1559, 1562, 1565, 1568, 1572, 1575, 1578, 1582, 1585, 1588, 1591, 1595, 1598, 1601, 1605, 1608, 1611, 1615, 1618, 1622, 1625, 1629, 1632, 1636, 1639, 1643, 1646, 1650, 1653, 1657, 1660, 1664, 1668, 1671, 1675, 1679, 1683, 1686, 1690, 1694, 1698, 1702, 1705, 1709, 1713, 1717, 1721, 1725, 1729, 1732, 1736, 1740, 1744, 1748, 1752, 1757, 1761, 1765, 1769, 1773, 1778, 1782, 1787, 1791, 1796, 1800, 1805, 1810, 1815, 1820, 1825, 1830, 1835, 1841, 1846, 1852, 1857, 1863, }; const uint16_t H_4cang[200] = { 0, 1304, 1307, 1310, 1313, 1316, 1318, 1321, 1324, 1327, 1330, 1333, 1336, 1339, 1342, 1345, 1348, 1350, 1353, 1356, 1359, 1362, 1365, 1368, 1371, 1374, 1377, 1380, 1383, 1386, 1389, 1392, 1395, 1398, 1401, 1404, 1407, 1410, 1413, 1416, 1419, 1422, 1425, 1428, 1431, 1434, 1437, 1440, 1444, 1447, 1450, 1453, 1456, 1459, 1462, 1465, 1468, 1471, 1475, 1478, 1481, 1484, 1487, 1490, 1494, 1497, 1500, 1503, 1506, 1509, 1513, 1516, 1519, 1522, 1526, 1529, 1532, 1535, 1539, 1542, 1545, 1548, 1552, 1555, 1558, 1562, 1565, 1568, 1572, 1575, 1578, 1582, 1585, 1588, 1592, 1595, 1599, 1602, 1605, 1609, 1612, 1616, 1619, 1623, 1626, 1630, 1633, 1637, 1640, 1644, 1647, 1651, 1655, 1658, 1662, 1666, 1669, 1673, 1677, 1680, 1684, 1688, 1692, 1696, 1699, 1703, 1707, 1711, 1715, 1719, 1723, 1727, 1731, 1735, 1739, 1743, 1747, 1751, 1756, 1760, 1764, 1769, 1773, 1778, 1782, 1787, 1791, 1796, 1801, 1805, 1810, 1815, 1820, 1825, 1830, 1835, 1840, 1846, 1851, 1857, 1863, }; uint16_t Volume_1cang[200] = { 0, 8000, 8020, 8040, 8060, 8080, 8100, 8120, 8140, 8160, 8180, 8200, 8220, 8240, 8260, 8280, 8300, 8320, 8340, 8360, 8380, 8400, 8420, 8440, 8460, 8480, 8500, 8520, 8540, 8560, 8580, 8600, 8620, 8640, 8660, 8680, 8700, 8720, 8740, 8760, 8780, 8800, 8820, 8840, 8860, 8880, 8900, 8920, 8940, 8960, 8980, 9000, 9020, 9040, 9060, 9080, 9100, 9120, 9140, 9160, 9180, 9200, 9220, 9240, 9260, 9280, 9300, 9320, 9340, 9360, 9380, 9400, 9420, 9440, 9460, 9480, 9500, 9520, 9540, 9560, 9580, 9600, 9620, 9640, 9660, 9680, 9700, 9720, 9740, 9760, 9780, 9800, 9820, 9840, 9860, 9880, 9900, 9920, 9940, 9960, 9980, 10000, 10020, 10040, 10060, 10080, 10100, 10120, 10140, 10160, 10180, 10200, 10220, 10240, 10260, 10280, 10300, 10320, 10340, 10360, 10380, 10400, 10420, 10440, 10460, 10480, 10500, 10520, 10540, 10560, 10580, 10600, 10620, 10640, 10660, 10680, 10700, 10720, 10740, 10760, 10780, 10800, 10820, 10840, 10860, 10880, 10900, 10920, 10940, 10960, 10980, 11000, 11020, 11040, 11060, 11080, 11100, 11120, 11140, 11160, 11180, 11200, 11220, 11240, 11260, 11280, }; uint16_t Volume_2cang[200] = { 0, 8000, 8020, 8040, 8060, 8080, 8100, 8120, 8140, 8160, 8180, 8200, 8220, 8240, 8260, 8280, 8300, 8320, 8340, 8360, 8380, 8400, 8420, 8440, 8460, 8480, 8500, 8520, 8540, 8560, 8580, 8600, 8620, 8640, 8660, 8680, 8700, 8720, 8740, 8760, 8780, 8800, 8820, 8840, 8860, 8880, 8900, 8920, 8940, 8960, 8980, 9000, 9020, 9040, 9060, 9080, 9100, 9120, 9140, 9160, 9180, 9200, 9220, 9240, 9260, 9280, 9300, 9320, 9340, 9360, 9380, 9400, 9420, 9440, 9460, 9480, 9500, 9520, 9540, 9560, 9580, 9600, 9620, 9640, 9660, 9680, 9700, 9720, 9740, 9760, 9780, 9800, 9820, 9840, 9860, 9880, 9900, 9920, 9940, 9960, 9980, 10000, 10020, 10040, 10060, 10080, 10100, 10120, 10140, 10160, 10180, 10200, 10220, 10240, 10260, 10280, 10300, 10320, 10340, 10360, 10380, 10400, 10420, 10440, 10460, 10480, 10500, 10520, 10540, 10560, 10580, 10600, 10620, 10640, 10660, 10680, 10700, 10720, 10740, 10760, 10780, 10800, 10820, 10840, 10860, 10880, 10900, 10920, 10940, 10960, 10980, 11000, 11020, 11040, 11060, 11080, 11100, 11120, 11140, 11160, 11180, }; uint16_t Volume_3cang[200] = { 0, 8000, 8020, 8040, 8060, 8080, 8100, 8120, 8140, 8160, 8180, 8200, 8220, 8240, 8260, 8280, 8300, 8320, 8340, 8360, 8380, 8400, 8420, 8440, 8460, 8480, 8500, 8520, 8540, 8560, 8580, 8600, 8620, 8640, 8660, 8680, 8700, 8720, 8740, 8760, 8780, 8800, 8820, 8840, 8860, 8880, 8900, 8920, 8940, 8960, 8980, 9000, 9020, 9040, 9060, 9080, 9100, 9120, 9140, 9160, 9180, 9200, 9220, 9240, 9260, 9280, 9300, 9320, 9340, 9360, 9380, 9400, 9420, 9440, 9460, 9480, 9500, 9520, 9540, 9560, 9580, 9600, 9620, 9640, 9660, 9680, 9700, 9720, 9740, 9760, 9780, 9800, 9820, 9840, 9860, 9880, 9900, 9920, 9940, 9960, 9980, 10000, 10020, 10040, 10060, 10080, 10100, 10120, 10140, 10160, 10180, 10200, 10220, 10240, 10260, 10280, 10300, 10320, 10340, 10360, 10380, 10400, 10420, 10440, 10460, 10480, 10500, 10520, 10540, 10560, 10580, 10600, 10620, 10640, 10660, 10680, 10700, 10720, 10740, 10760, 10780, 10800, 10820, 10840, 10860, 10880, 10900, 10920, 10940, 10960, 10980, 11000, 11020, 11040, 11060, 11080, 11100, 11120, 11140, 11160, 11180, 11200, 11220, 11240, 11260, 11280, }; uint16_t Volume_4cang[200] = { 0, 8000, 8020, 8040, 8060, 8080, 8100, 8120, 8140, 8160, 8180, 8200, 8220, 8240, 8260, 8280, 8300, 8320, 8340, 8360, 8380, 8400, 8420, 8440, 8460, 8480, 8500, 8520, 8540, 8560, 8580, 8600, 8620, 8640, 8660, 8680, 8700, 8720, 8740, 8760, 8780, 8800, 8820, 8840, 8860, 8880, 8900, 8920, 8940, 8960, 8980, 9000, 9020, 9040, 9060, 9080, 9100, 9120, 9140, 9160, 9180, 9200, 9220, 9240, 9260, 9280, 9300, 9320, 9340, 9360, 9380, 9400, 9420, 9440, 9460, 9480, 9500, 9520, 9540, 9560, 9580, 9600, 9620, 9640, 9660, 9680, 9700, 9720, 9740, 9760, 9780, 9800, 9820, 9840, 9860, 9880, 9900, 9920, 9940, 9960, 9980, 10000, 10020, 10040, 10060, 10080, 10100, 10120, 10140, 10160, 10180, 10200, 10220, 10240, 10260, 10280, 10300, 10320, 10340, 10360, 10380, 10400, 10420, 10440, 10460, 10480, 10500, 10520, 10540, 10560, 10580, 10600, 10620, 10640, 10660, 10680, 10700, 10720, 10740, 10760, 10780, 10800, 10820, 10840, 10860, 10880, 10900, 10920, 10940, 10960, 10980, 11000, 11020, 11040, 11060, 11080, 11100, 11120, 11140, 11160, 11180, }; static uint16_t Inital_value_Low[4]= {1040,1040,1040,920}; static uint16_t Inital_value_High[4]= {1865,1880,1880,1880}; #define TankH1 1.832 #define TankH2 1.832 #define TankH3 1.832 #define TankH4 1.832 #define TankH5 1.832 #define TankH6 1.832 #define TankH7 1.832 #define TankH8 1.832 #include"math.h" int idxLow = 0; static float h_x0; //信捷罐容查表计计算程序 邵磊明 增加 float Calc_Vol(float RadarData,uint16_t* VolArray,const uint16_t* HArray,uint16_t StoreNum) { float offset[8]; uint8_t i=0; Level_Inf* plevel = level_inf; static uint16_t Indexs = 0,Vt,H_x; static float V_y1 = 0,V_y2 = 0,H_x1 = 0,H_x2 = 0; ////高度换算 switch (StoreNum) { case 1: h_x0=RadarData-plevel[1].Level_Cal_zero; plevel[1].Level_Data1 = h_x0; if(h_x0<(-0.5f)) h_x0 = (-0.5f); break; case 2: h_x0=RadarData-plevel[2].Level_Cal_zero; plevel[2].Level_Data1 = h_x0; if(h_x0<(-0.5f)) h_x0 = (-0.5f); break; case 3: h_x0=RadarData-plevel[3].Level_Cal_zero; plevel[3].Level_Data1 = h_x0; if(h_x0<(-0.5f)) h_x0 = (-0.5f); break; case 4: h_x0=RadarData-plevel[4].Level_Cal_zero; plevel[4].Level_Data1 = h_x0; if(h_x0<(-0.5f)) h_x0 = (-0.5f); break; default: // f000=RadarData-offset[0]; break; } H_x=(uint16_t)(h_x0*1000); for(Indexs=0;Indexs<=200;Indexs++) { if(H_x>HArray[Indexs]&&H_x<=HArray[Indexs+1]) { V_y1 = VolArray[Indexs]; V_y2 = VolArray[Indexs+1]; H_x1 = HArray[Indexs]; H_x2 = HArray[Indexs+1]; __NOP(); break; } } if(H_x<=0) { V_y1 = 0; V_y2 = 0; H_x1 = 0; H_x2 = 0; H_x = 0; } Vt=(H_x - H_x1)/(H_x2 - H_x1)*(V_y2-V_y1)+V_y1; return Vt; } /************************************************************************ *函数名:Value_Manage *输入:罐仓长轴、短轴、液位高度、长度 *输出:无 *作用:将标准椭圆柱的液体高度转换为液体体积 *作者:kdl 时间: *************************************************************************/ #define CangH 1.832 float data=0; int Volume_yuwei = 0; uint16_t Value_Manage(uint8_t Cang_Flag) { int Volume_5mm = 0; Level_Inf* plevel = level_inf; data = CangH - plevel[(Cang_Flag+1)].Level_Data+plevel[(Cang_Flag+1)].Level_Cal_zero; if(data == 65535) return 0; data = data/10; Volume_yuwei = (int)data%5; int Volume_Data = 0; switch(Cang_Flag) { case 0: Flash_ReadBytes(Volume_1cang,ADD_CANG1_TABLE,200); if(data >= Inital_value_High[0]) plevel[Cang_Flag].Volume_Data = 10900; else if(data >= Inital_value_Low[0] && data < Inital_value_High[0]) { Volume_5mm = (data - Inital_value_Low[0])/5; Volume_Data = Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5; } else if(data >= (Inital_value_High[0]-Inital_value_Low[0]) && data< Inital_value_Low[0]) Volume_Data= Volume_1cang[0] - (Inital_value_Low[0] - data)*7; else if(data < (Inital_value_High[0]-Inital_value_Low[0]) && data >=100) { Volume_5mm = ((Inital_value_High[0]-data) - Inital_value_Low[0])/5; Volume_Data =11116 - (Volume_1cang[Volume_5mm] + (Volume_1cang[Volume_5mm+1] - Volume_1cang[Volume_5mm])*Volume_yuwei/5); } else Volume_Data = 0; plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000; break; case 1: Flash_ReadBytes(Volume_2cang,ADD_CANG2_TABLE,200); if(data >= Inital_value_High[1]) plevel[Cang_Flag].Volume_Data = 10900; else if(data >= Inital_value_Low[1] && data < Inital_value_High[1]) { Volume_5mm = (data - Inital_value_Low[1])/5; Volume_Data = Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5; } else if(data >= (Inital_value_High[1]-Inital_value_Low[1])&& data< Inital_value_Low[1]) Volume_Data= Volume_2cang[0] - (Inital_value_Low[1] - data)*7; else if(data < (Inital_value_High[1]-Inital_value_Low[1]) && data >=100) { Volume_5mm = ((Inital_value_High[1]-data) - Inital_value_Low[1])/5; Volume_Data =11116 - (Volume_2cang[Volume_5mm] + (Volume_2cang[Volume_5mm+1] - Volume_2cang[Volume_5mm])*Volume_yuwei/5); } else Volume_Data = 0; plevel[Cang_Flag].Volume_Data = Volume_Data;//data*10*10000; break; case 2: Flash_ReadBytes(Volume_3cang,ADD_CANG3_TABLE,200); if(data >= Inital_value_High[2]) plevel[Cang_Flag].Volume_Data = 10900; else if(data >= Inital_value_Low[2] && data < Inital_value_High[2]) { Volume_5mm = (data - Inital_value_Low[2])/5; Volume_Data = Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5; } else if(data >= (Inital_value_High[2]-Inital_value_Low[2]) && data< Inital_value_Low[0]) Volume_Data= Volume_3cang[0] - (Inital_value_Low[2] - data)*7; else if(data < (Inital_value_High[2]-Inital_value_Low[2]) && data >=100) { Volume_5mm = ((Inital_value_High[2]-data) - Inital_value_Low[2])/5; Volume_Data =11116 - (Volume_3cang[Volume_5mm] + (Volume_3cang[Volume_5mm+1] - Volume_3cang[Volume_5mm])*Volume_yuwei/5); } else Volume_Data = 0; plevel[Cang_Flag].Volume_Data = Volume_Data; break; case 3: Flash_ReadBytes(Volume_4cang,ADD_CANG3_TABLE,200); if(data >= Inital_value_High[3]) plevel[Cang_Flag].Volume_Data = 12700; else if(data >= Inital_value_Low[3] && data < Inital_value_High[3]) { Volume_5mm = (data - Inital_value_Low[3])/5; Volume_Data = Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5; } else if(data >= Inital_value_High[3]-Inital_value_Low[3] && data< Inital_value_Low[3]) Volume_Data= Volume_4cang[0] - (Inital_value_Low[3] - data)*8; else if(data < Inital_value_High[3]-Inital_value_Low[3] && data >= 100) { Volume_5mm = ((Inital_value_High[3]-data) - Inital_value_Low[3])/5; Volume_Data =12850 - (Volume_4cang[Volume_5mm] + (Volume_4cang[Volume_5mm+1] - Volume_4cang[Volume_5mm])*Volume_yuwei/5); } else Volume_Data = 0; plevel[Cang_Flag].Volume_Data = Volume_Data; break; default: plevel[Cang_Flag].Volume_Data = 0xffff; break; } return 1; } /* 罐容表远程配置功能 功能增加: 邵磊明 */ uint16_t GRB_SET_Table(uint8_t* pTx) { KZQ_Inf* pkzq = &kzq_inf; // Cang_Inf* pcang = &cang_inf; // Level_Inf* plevel = level_inf;Total_pag_num = 0, uint8_t i = 0; uint8_t Pag_num = 0,CP_CNT=0; uint16_t j=0;//ModBusCRC = 0, // uint8_t receive_error = 0; // uint16_t ModbusCRC = 0; uint16_t Cang_num = 0; uint16_t Flash_buf[20] = {0}; uint16_t Flash_buf1[20] = {0}; static uint16_t Pag_num_cnt = 0; for(i=0;i<20;i++) { Flash_buf[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]); Flash_buf1[i]=(uint16_t)(pkzq->data_buf[i*2+20]<<8|pkzq->data_buf[i*2+21]); } if(pkzq->data_buf[7] == 0x06) { Cang_num = USART2_RX_BUF002[16]; Cang_num = Cang_num << 8; Cang_num |= USART2_RX_BUF002[17]; //Total_pag_num = USART2_RX_BUF002[19]; Pag_num = USART2_RX_BUF002[18]; if(Cang_num == 0x0001) { if(Pag_num == 1) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 2) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+40,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+40,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==40) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 3) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+80,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+80,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 4) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+120,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+120,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 5) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+160,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+160,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 6) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+200,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+200,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 7) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+240,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+240,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 8) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+280,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+280,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 9) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+320,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+320,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 10) { Flash_WriteBytes(Flash_buf,ADD_CANG1_TABLE+360,20); Flash_ReadBytes(Flash_buf,ADD_CANG1_TABLE+360,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; Pag_num_cnt=0; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } } else if(Cang_num == 0x0002) { if(Pag_num == 1) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 2) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+40,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+40,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==40) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 3) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+80,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+80,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 4) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+120,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+120,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 5) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+160,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+160,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 6) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+200,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+200,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 7) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+240,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+240,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 8) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+280,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+280,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 9) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+320,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+320,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 10) { Flash_WriteBytes(Flash_buf,ADD_CANG2_TABLE+360,20); Flash_ReadBytes(Flash_buf,ADD_CANG2_TABLE+360,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; Pag_num_cnt=0; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } } else if(Cang_num == 0x0003) { if(Pag_num == 1) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 2) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+40,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+40,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==40) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 3) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+80,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+80,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 4) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+120,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+120,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 5) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+160,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+160,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 6) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+200,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+200,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 7) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+240,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+240,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 8) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+280,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+280,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 9) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+320,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+320,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 10) { Flash_WriteBytes(Flash_buf,ADD_CANG3_TABLE+360,20); Flash_ReadBytes(Flash_buf,ADD_CANG3_TABLE+360,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; Pag_num_cnt=0; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } } else if(Cang_num == 0x0004) { if(Pag_num == 1) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 2) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+40,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+40,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==40) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 3) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+80,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+80,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 4) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+120,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+120,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 5) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+160,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+160,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 6) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+200,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+200,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 7) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+240,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+240,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 8) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+280,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+280,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 9) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+320,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+320,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } else if(Pag_num == 10) { Flash_WriteBytes(Flash_buf,ADD_CANG4_TABLE+360,20); Flash_ReadBytes(Flash_buf,ADD_CANG4_TABLE+360,20); for(j=0;j<20;j++) { if(Flash_buf1[j]==Flash_buf[j]) CP_CNT++; } if(CP_CNT==20) { Pag_num_cnt++; pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; if(Pag_num_cnt==10) pTx[20] = 2; else pTx[20] = 1; Pag_num_cnt=0; return 1; } else { pTx[16] = USART2_RX_BUF002[16]; pTx[17] = USART2_RX_BUF002[17]; pTx[18] = USART2_RX_BUF002[18]; pTx[19] = USART2_RX_BUF002[19]; pTx[20] = 0; return 0; } } } } return 0; }