|
@@ -9,7 +9,84 @@
|
|
|
#include "AppFunc.h"
|
|
|
#include "numeric.h"
|
|
|
#include "hal_module_adapter.h"
|
|
|
-
|
|
|
+UINT8 LookUpRTtable(UINT32 R_value)
|
|
|
+{
|
|
|
+ UINT8 Temp_Table1[23] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22};
|
|
|
+ UINT8 Temp_Table2[217] = {23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,
|
|
|
+ 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,
|
|
|
+ 84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,
|
|
|
+ 115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,
|
|
|
+ 142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,
|
|
|
+ 169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,
|
|
|
+ 196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,
|
|
|
+ 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239};
|
|
|
+ UINT32 R_Table1[23] = {202269,191063,180554,170694,161438,152746,144580,136905,129687,122898,116508,
|
|
|
+ 110493,104827,99488,94455,89710,85233,81008,77019,73252,69693,66329,63148};
|
|
|
+ UINT16 R_Table2[217] = {
|
|
|
+ 60140,57293,54599,52049,49633,47343,45174,43117,41166,39315,37558,35891,34307,32802,31373,
|
|
|
+ 30014,28722,27493,26324,25211,24152,23144,22183,21268,20395,19564,18771,18015,17293,16604,
|
|
|
+ 15947,15319,14720,14147,13600,13077,12577,12098,11641,11203,10784,10383,10000,9632,9280,8942,
|
|
|
+ 8619,8309,8012,7727,7454,7191,6940,6698,6466,6244,6030,5825,5627,5438,5255,5080,4911,4749,4593,
|
|
|
+ 4443,4299,4160,4026,3898,3773,3654,3539,3428,3321,3218,3119,3023,2931,2841,2755,2672,2592,2515,
|
|
|
+ 2441,2369,2299,2232,2167,2104,2044,1985,1928,1874,1821,1769,1720,1672,1626,1581,1537,1495,1455,
|
|
|
+ 1415,1377,1340,1305,1270,1236,1204,1172,1142,1112,1083,1056,1029,1002,977,952,928,905,883,861,
|
|
|
+ 839,819,799,779,760,742,724,707,690,674,658,642,627,613,599,585,571,558,546,533,521,509,498,487,
|
|
|
+ 476,466,455,445,436,426,417,408,399,391,382,374,366,359,351,344,337,330,323,316,310,304,298,292,
|
|
|
+ 286,280,274,269,264,259,254,249,244,239,234,230,226,221,217,213,209,205,201,198,194,190,187,183,
|
|
|
+ 180,177,174,171,168,165,162,159,156,153,151,148,145,143,141,138,136,133,131,129,127,125};
|
|
|
+ if(R_value>R_Table2[0])
|
|
|
+ {
|
|
|
+ if(R_value<=R_Table1[22])//判断是否超出表尾
|
|
|
+ {
|
|
|
+ return Temp_Table1[22];
|
|
|
+ }
|
|
|
+ else if(R_value>=R_Table1[0])//判断是否超出表头
|
|
|
+ {
|
|
|
+ return Temp_Table1[0];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for(int i=0;i<23-1;i++)
|
|
|
+ {
|
|
|
+ if ((R_value<=R_Table1[i])&&(R_value>R_Table1[i+1]))//中间判断
|
|
|
+ {
|
|
|
+ return Temp_Table1[i];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }//R-1
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(R_value<=R_Table2[216])//判断是否超出表尾
|
|
|
+ {
|
|
|
+ return Temp_Table2[216];
|
|
|
+ }
|
|
|
+ else if(R_value>=R_Table2[0])//判断是否超出表头
|
|
|
+ {
|
|
|
+ return Temp_Table2[0];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for(int i=0;i<217-1;i++)
|
|
|
+ {
|
|
|
+ if ((R_value<R_Table2[i])&&(R_value>=R_Table2[i+1]))//中间判断
|
|
|
+ {
|
|
|
+ return Temp_Table2[i+1];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }//R-2
|
|
|
+}
|
|
|
UINT8 bcc_chk(UINT8* data, UINT8 length)
|
|
|
{
|
|
|
UINT8 bcc_chk_return = 0x00;
|