FaxData2pc.s43
上传用户:xhjmsc
上传日期:2019-09-13
资源大小:389k
文件大小:21k
- NAME FaxData2pc
- RTMODEL "__double_size", "32"
- RTMODEL "__pic", "no"
- RTMODEL "__reg_r4", "free"
- RTMODEL "__reg_r5", "free"
- RTMODEL "__rt_version", "1"
- RSEG CSTACK:DATA:SORT:NOROOT(1)
- EXTERN ?Epilogue8
- EXTERN ReadLast16BytesFromFlashMemoryArea
- FUNCTION ReadLast16BytesFromFlashMemoryArea,0202H
- EXTERN gwPageAddress
- EXTERN CalNextPageAddress
- FUNCTION CalNextPageAddress,0202H
- EXTERN ROW_ADDRESS_LOW
- EXTERN ROW_ADDRESS_HIGH
- EXTERN COLUMN_ADDRESS_HIGH
- EXTERN READ_256_BYTE
- FUNCTION READ_256_BYTE,0202H
- EXTERN aucUartRxBuf
- EXTERN SoftUartTxOneFrame
- FUNCTION SoftUartTxOneFrame,0202H
- EXTERN ATcmdDelay
- FUNCTION ATcmdDelay,0202H
- EXTERN gwGeneralPageAddress
- EXTERN ?ShiftRight16u_6
- EXTERN ?ShiftLeft16_6
- EXTERN ERASE_ONE_BLOCK
- FUNCTION ERASE_ONE_BLOCK,0202H
- EXTERN gwColumnAddress
- EXTERN Write16Bytes2FlashMemoryArea
- FUNCTION Write16Bytes2FlashMemoryArea,0202H
- EXTERN ?longjmp_r4
- EXTERN ?longjmp_r5
- EXTERN ?setjmp_r4
- EXTERN ?setjmp_r5
- PUBWEAK ?setjmp_save_r4
- PUBWEAK ?setjmp_save_r5
- PUBLIC FaxData2PCFromSoftUart
- FUNCTION FaxData2PCFromSoftUart,021203H
- LOCFRAME CSTACK, 20, STACK
- PUBWEAK P6OUT
-
- CFI Names cfiNames0
- CFI StackFrame CFA SP DATA
- CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
- CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
- CFI EndNames cfiNames0
-
- CFI Common cfiCommon0 Using cfiNames0
- CFI CodeAlign 2
- CFI DataAlign 2
- CFI ReturnAddress PC CODE
- CFI CFA SP+2
- CFI PC Frame(CFA, -2)
- CFI SR Undefined
- CFI R4 SameValue
- CFI R5 SameValue
- CFI R6 SameValue
- CFI R7 SameValue
- CFI R8 SameValue
- CFI R9 SameValue
- CFI R10 SameValue
- CFI R11 SameValue
- CFI R12 Undefined
- CFI R13 Undefined
- CFI R14 Undefined
- CFI R15 Undefined
- CFI EndCommon cfiCommon0
-
- // E:projectFaxProgramVson_Bryan_Fax_Conexant_070423filesFaxData2pc.c
- // 1 /************************************************
- // 2 Description:
- // 3 Send the received fax raw data to PC via MAX232
- // 4 3G 2-dimensional Data Format Recommendation T.4
- // 5 Input:
- // 6 none
- // 7 Output:
- // 8 none
- // 9 Update:
- // 10 2006.11.02 Bryan function header create
- // 11 ************************************************/
- // 12
- // 13 #include "includeH.h"
- ASEGN DATA16_AN:DATA:NOROOT,035H
- // unsigned char volatile __data P6OUT
- P6OUT:
- DS8 1
- // 14
- RSEG CODE:CODE:NOROOT(1)
- // 15 void FaxData2PCFromSoftUart(void) // send the received fax data to PC via MAX232
- FaxData2PCFromSoftUart:
- CFI Block cfiBlock0 Using cfiCommon0
- CFI Function FaxData2PCFromSoftUart
- // 16 {
- FUNCALL FaxData2PCFromSoftUart, ReadLast16BytesFromFlashMemoryArea
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, ReadLast16BytesFromFlashMemoryArea
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, CalNextPageAddress
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, READ_256_BYTE
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, SoftUartTxOneFrame
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, ATcmdDelay
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, ERASE_ONE_BLOCK
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, Write16Bytes2FlashMemoryArea
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, CalNextPageAddress
- LOCFRAME CSTACK, 20, STACK
- FUNCALL FaxData2PCFromSoftUart, CalNextPageAddress
- LOCFRAME CSTACK, 20, STACK
- PUSH.W R10
- CFI R10 Frame(CFA, -4)
- CFI CFA SP+4
- PUSH.W R11
- CFI R11 Frame(CFA, -6)
- CFI CFA SP+6
- PUSH.W R8
- CFI R8 Frame(CFA, -8)
- CFI CFA SP+8
- PUSH.W R9
- CFI R9 Frame(CFA, -10)
- CFI CFA SP+10
- PUSH.W R6
- CFI R6 Frame(CFA, -12)
- CFI CFA SP+12
- PUSH.W R7
- CFI R7 Frame(CFA, -14)
- CFI CFA SP+14
- PUSH.W R4
- CFI R4 Frame(CFA, -16)
- CFI CFA SP+16
- PUSH.W R5
- CFI R5 Frame(CFA, -18)
- CFI CFA SP+18
- SUB.W #0x2, SP
- CFI CFA SP+20
- // 17 unsigned char ucFlashColumnAddCnt=0,
- MOV.B #0x0, R7
- // 18 ucRxIndex=0,ucBlockCnt=0;
- MOV.B #0x0, R10
- MOV.B #0x0, R11
- // 19 unsigned char ucGeneralCnt=0;
- MOV.B #0x0, R4
- // 20 unsigned int wNewFaxHead=0, wNewFaxRear=0,
- MOV.W #0x0, 0x0(SP)
- MOV.W #0x0, R5
- // 21 wNextPageAddress=0,wPageAddress=0,
- MOV.W #0x0, R8
- MOV.W #0x0, R9
- // 22 wGeneralCnt=0;
- MOV.W #0x0, R6
- // 23 //ucGeneralCnt=2;
- // 24 //ZERO_ADDRESS();
- // 25 //read rear pointer and read front pointer
- // 26 //if RearAddress-FrontAddress!=0
- // 27 // transfer and front++
- // 28 //else
- // 29 // transfer over
- // 30 MODEM_BUS_CON_PORT |= SOFT_UART_2_PC;
- BIS.B #0x10, &0x35
- // 31 ReadLastFaxRearPointer();//get gwRearPointerAddress and gwPageAddress
- MOV.B #0x12, R14
- MOV.B #0xf, R12
- CALL #ReadLast16BytesFromFlashMemoryArea
- // 32 //ReadLast16BytesFromFlashMemoryArea(cstFaxRearPointerTableStartBlockNum,cstFaxRearPointerTableOverBlockNum);
- // 33 wNewFaxRear=gwPageAddress;
- MOV.W &gwPageAddress, R5
- // 34 ReadLastFaxFrontPointer();//get gwFrontPointerAddress, gwPageAddress,
- MOV.B #0xe, R14
- MOV.B #0xb, R12
- CALL #ReadLast16BytesFromFlashMemoryArea
- // 35 //gwFrontPointerAddress and gwColumnAddress
- // 36 gwPageAddress++; //add Dec.19, 2006
- ADD.W #0x1, &gwPageAddress
- // 37 do{
- // 38 wNextPageAddress=gwPageAddress+64;
- ??FaxData2PCFromSoftUart_0:
- MOV.W #0x40, R14
- ADD.W &gwPageAddress, R14
- MOV.W R14, R8
- // 39 wPageAddress=CalNextPageAddress(wPageAddress);
- MOV.W R9, R12
- CALL #CalNextPageAddress
- MOV.W R12, R9
- // 40 }while(wNextPageAddress==wPageAddress);
- CMP.W R9, R8
- JEQ ??FaxData2PCFromSoftUart_0
- // 41 wNewFaxHead=gwPageAddress;
- MOV.W &gwPageAddress, 0x0(SP)
- // 42 if (wNewFaxHead<wNewFaxRear)//(wNewFaxHead!=wNewFaxRear)//modify Dec.20,2006
- CMP.W R5, 0x0(SP)
- JC ??FaxData2PCFromSoftUart_8
- // 43 {
- // 44
- // 45 for (wPageAddress=wNewFaxHead;wPageAddress<=wNewFaxRear;)//wNewFaxHead
- MOV.W 0x0(SP), R9
- ??FaxData2PCFromSoftUart_6:
- CMP.W R9, R5
- JNC ??FaxData2PCFromSoftUart_8
- // 46 {
- // 47
- // 48 ROW_ADDRESS_LOW = wPageAddress & 0xff;
- MOV.B R9, &ROW_ADDRESS_LOW
- // 49 ROW_ADDRESS_HIGH = (wPageAddress>>8) & 0xff;
- MOV.W R9, R14
- SWPB R14
- AND.W #0xff, R14
- MOV.B R14, &ROW_ADDRESS_HIGH
- // 50 for (ucFlashColumnAddCnt = 0;ucFlashColumnAddCnt < 8;ucFlashColumnAddCnt++)//8*256=2048
- MOV.B #0x0, R7
- ??FaxData2PCFromSoftUart_2:
- CMP.B #0x8, R7
- JC ??FaxData2PCFromSoftUart_9
- // 51 {
- // 52 //8 * 256 == 2048 Bytes 2^4*2^8 12bit column address HighColumnAddr:0~8
- // 53 //total 8*256B+64B=2K+64B
- // 54 COLUMN_ADDRESS_HIGH=ucFlashColumnAddCnt;
- MOV.B R7, &COLUMN_ADDRESS_HIGH
- // 55 READ_256_BYTE();//read 256 Byte to aucUartRxBuf[256]
- CALL #READ_256_BYTE
- // 56 for (wGeneralCnt=0;wGeneralCnt<256;wGeneralCnt++)//
- MOV.W #0x0, R6
- ??FaxData2PCFromSoftUart_1:
- CMP.W #0x100, R6
- JC ??FaxData2PCFromSoftUart_10
- // 57 {
- // 58 SoftUartTxOneFrame(aucUartRxBuf[wGeneralCnt]);
- MOV.B aucUartRxBuf(R6), R12
- CALL #SoftUartTxOneFrame
- // 59 if (aucUartRxBuf[wGeneralCnt-1] == 0xfb && aucUartRxBuf[wGeneralCnt-2] == 0x13 && aucUartRxBuf[wGeneralCnt-3] == 0xff)
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xfb, 0xffff(R14)
- JNE ??FaxData2PCFromSoftUart_11
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0x13, 0xfffe(R14)
- JNE ??FaxData2PCFromSoftUart_11
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xff, 0xfffd(R14)
- JNE ??FaxData2PCFromSoftUart_11
- // 60 {_NOP();break;}
- NOP
- JMP ??FaxData2PCFromSoftUart_10
- // 61 }//third for
- ??FaxData2PCFromSoftUart_11:
- ADD.W #0x1, R6
- JMP ??FaxData2PCFromSoftUart_1
- // 62 if (aucUartRxBuf[wGeneralCnt-1] == 0xfb && aucUartRxBuf[wGeneralCnt-2] == 0x13 && aucUartRxBuf[wGeneralCnt-3] == 0xff)
- ??FaxData2PCFromSoftUart_10:
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xfb, 0xffff(R14)
- JNE ??FaxData2PCFromSoftUart_12
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0x13, 0xfffe(R14)
- JNE ??FaxData2PCFromSoftUart_12
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xff, 0xfffd(R14)
- JEQ ??FaxData2PCFromSoftUart_9
- // 63 break;
- // 64 }//second for
- ??FaxData2PCFromSoftUart_12:
- ADD.B #0x1, R7
- JMP ??FaxData2PCFromSoftUart_2
- // 65
- // 66 if (aucUartRxBuf[wGeneralCnt-1] == 0xfb && aucUartRxBuf[wGeneralCnt-2] == 0x13 && aucUartRxBuf[wGeneralCnt-3] == 0xff)//pageimage over
- ??FaxData2PCFromSoftUart_9:
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xfb, 0xffff(R14)
- JNE ??FaxData2PCFromSoftUart_13
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0x13, 0xfffe(R14)
- JNE ??FaxData2PCFromSoftUart_13
- MOV.W #aucUartRxBuf, R14
- ADD.W R6, R14
- CMP.B #0xff, 0xfffd(R14)
- JNE ??FaxData2PCFromSoftUart_13
- // 67 {
- // 68 ATcmdDelay();// a bug of Dec.23,2006 FF 10 00 0E // receive data delay(if not, can't receive 0x10 0x03)
- CALL #ATcmdDelay
- // 69 if ((gwGeneralPageAddress>>6) >=cstFaxFrontPointerTableOverBlockNum)
- MOV.W &gwGeneralPageAddress, R12
- CALL #?ShiftRight16u_6
- CMP.W #0xe, R12
- JNC ??FaxData2PCFromSoftUart_14
- // 70 {
- // 71 for (ucBlockCnt=0;ucBlockCnt<4;ucBlockCnt++)
- MOV.B #0x0, R11
- ??FaxData2PCFromSoftUart_3:
- CMP.B #0x4, R11
- JC ??FaxData2PCFromSoftUart_15
- // 72 {
- // 73 wPageAddress=(cstFaxFrontPointerTableStartBlockNum+ucBlockCnt)<<6;
- MOV.B R11, R12
- AND.W #0xff, R12
- ADD.W #0xb, R12
- CALL #?ShiftLeft16_6
- MOV.W R12, R9
- // 74 ROW_ADDRESS_LOW=wPageAddress & 0XFF;
- MOV.B R9, &ROW_ADDRESS_LOW
- // 75 ROW_ADDRESS_HIGH=(wPageAddress>>8) & 0XFF;
- MOV.W R9, R14
- SWPB R14
- AND.W #0xff, R14
- MOV.B R14, &ROW_ADDRESS_HIGH
- // 76 ERASE_ONE_BLOCK();
- CALL #ERASE_ONE_BLOCK
- // 77 }
- ADD.B #0x1, R11
- JMP ??FaxData2PCFromSoftUart_3
- // 78 gwGeneralPageAddress=cstFaxFrontPointerTableStartPage;
- ??FaxData2PCFromSoftUart_15:
- MOV.W #0x2c0, &gwGeneralPageAddress
- // 79 gwColumnAddress=0;
- MOV.W #0x0, &gwColumnAddress
- // 80 }
- // 81
- // 82
- // 83
- // 84 ucRxIndex=0; //write Fax Rear Pointer
- ??FaxData2PCFromSoftUart_14:
- MOV.B #0x0, R10
- // 85 aucUartRxBuf[ucRxIndex++]=wPageAddress & 0xff;
- MOV.B R10, R14
- AND.W #0xff, R14
- MOV.B R9, aucUartRxBuf(R14)
- ADD.B #0x1, R10
- // 86 aucUartRxBuf[ucRxIndex++]=(wPageAddress>>8) & 0xff;
- MOV.B R10, R15
- AND.W #0xff, R15
- MOV.W R9, R14
- SWPB R14
- AND.W #0xff, R14
- MOV.B R14, aucUartRxBuf(R15)
- ADD.B #0x1, R10
- // 87 for(ucGeneralCnt=0;ucGeneralCnt<14;ucGeneralCnt++)
- MOV.B #0x0, R4
- ??FaxData2PCFromSoftUart_4:
- CMP.B #0xe, R4
- JC ??FaxData2PCFromSoftUart_16
- // 88 {
- // 89 aucUartRxBuf[ucRxIndex++] = 0x55;
- MOV.B R10, R14
- AND.W #0xff, R14
- MOV.B #0x55, aucUartRxBuf(R14)
- ADD.B #0x1, R10
- // 90 }
- ADD.B #0x1, R4
- JMP ??FaxData2PCFromSoftUart_4
- // 91 Write16Bytes2FlashMemoryArea();
- ??FaxData2PCFromSoftUart_16:
- CALL #Write16Bytes2FlashMemoryArea
- // 92 if (gwColumnAddress<2096)
- CMP.W #0x830, &gwColumnAddress
- JC ??FaxData2PCFromSoftUart_17
- // 93 {
- // 94 if (gwColumnAddress<2048)
- CMP.W #0x800, &gwColumnAddress
- JC ??FaxData2PCFromSoftUart_18
- // 95 gwColumnAddress+=512;
- ADD.W #0x200, &gwColumnAddress
- JMP ??FaxData2PCFromSoftUart_19
- // 96 else
- // 97 gwColumnAddress+=16;
- ??FaxData2PCFromSoftUart_18:
- ADD.W #0x10, &gwColumnAddress
- JMP ??FaxData2PCFromSoftUart_19
- // 98 }
- // 99 else
- // 100 {
- // 101 gwColumnAddress=0;
- ??FaxData2PCFromSoftUart_17:
- MOV.W #0x0, &gwColumnAddress
- // 102 if (gwGeneralPageAddress<=959)gwGeneralPageAddress++;
- CMP.W #0x3c0, &gwGeneralPageAddress
- JC ??FaxData2PCFromSoftUart_20
- ADD.W #0x1, &gwGeneralPageAddress
- JMP ??FaxData2PCFromSoftUart_19
- // 103 else
- // 104 gwGeneralPageAddress=704;
- ??FaxData2PCFromSoftUart_20:
- MOV.W #0x2c0, &gwGeneralPageAddress
- // 105 }
- // 106 wPageAddress++;
- ??FaxData2PCFromSoftUart_19:
- ADD.W #0x1, R9
- // 107 if(wPageAddress==0)
- CMP.W #0x0, R9
- JNE ??FaxData2PCFromSoftUart_5
- // 108 wPageAddress+=2560;//Mar. 1, 20007
- ADD.W #0xa00, R9
- // 109 do{
- // 110 wNextPageAddress=wPageAddress+64;
- ??FaxData2PCFromSoftUart_5:
- MOV.W #0x40, R14
- ADD.W R9, R14
- MOV.W R14, R8
- // 111 wPageAddress=CalNextPageAddress(wPageAddress);
- MOV.W R9, R12
- CALL #CalNextPageAddress
- MOV.W R12, R9
- // 112 }while(wNextPageAddress==wPageAddress);
- CMP.W R9, R8
- JEQ ??FaxData2PCFromSoftUart_5
- JMP ??FaxData2PCFromSoftUart_6
- // 113 //ReadLastFaxFrontPointer();//read next write fax front pointer addr //delete at Jan. 19, 2007
- // 114 continue;//break; a bug of Dec. 12,2006
- // 115 }
- // 116 wPageAddress++;
- ??FaxData2PCFromSoftUart_13:
- ADD.W #0x1, R9
- // 117 if(wPageAddress==0)
- CMP.W #0x0, R9
- JNE ??FaxData2PCFromSoftUart_7
- // 118 wPageAddress+=2560;//Mar. 1, 20007
- ADD.W #0xa00, R9
- // 119 do{
- // 120 wNextPageAddress=wPageAddress+64;//wNextPageAddress=gwPageAddress+64;
- ??FaxData2PCFromSoftUart_7:
- MOV.W #0x40, R14
- ADD.W R9, R14
- MOV.W R14, R8
- // 121 wPageAddress=CalNextPageAddress(wPageAddress);
- MOV.W R9, R12
- CALL #CalNextPageAddress
- MOV.W R12, R9
- // 122 }while(wNextPageAddress==wPageAddress);
- CMP.W R9, R8
- JEQ ??FaxData2PCFromSoftUart_7
- JMP ??FaxData2PCFromSoftUart_6
- // 123 }//third for ----> next page
- // 124
- // 125 }//if wNewFaxHead<wNewFaxRear
- // 126 MODEM_BUS_CON_PORT &= ~SOFT_UART_2_PC;
- ??FaxData2PCFromSoftUart_8:
- BIC.B #0x10, &0x35
- // 127 }//function over
- ADD.W #0x2, SP
- CFI CFA SP+18
- BR #?Epilogue8
- CFI EndBlock cfiBlock0
- RSEG CODE:CODE:NOROOT(1)
- ?setjmp_save_r4:
- REQUIRE ?setjmp_r4
- REQUIRE ?longjmp_r4
- RSEG CODE:CODE:NOROOT(1)
- ?setjmp_save_r5:
- REQUIRE ?setjmp_r5
- REQUIRE ?longjmp_r5
- END
- // 128
- // 129 /*
- // 130 void FaxData2PCFromUart(void) // send the received fax data to PC via MAX232
- // 131 {
- // 132 unsigned char ucFlashColumnAddCnt=0,ucRxIndex=0,
- // 133 ucGeneralCnt=0;
- // 134 unsigned int wNewFaxHead=0, wNewFaxRear=0,
- // 135 wNextPageAddress=0,wPageAddress=0;
- // 136 //ucGeneralCnt=2;
- // 137 //ZERO_ADDRESS();
- // 138 //read rear pointer and read front pointer
- // 139 //if RearAddress-FrontAddress!=0
- // 140 // transfer and front++
- // 141 //else
- // 142 // transfer over
- // 143 ReadLastFaxRearPointer();//get gwRearPointerAddress and gwPageAddress
- // 144 wNewFaxRear=gwPageAddress;
- // 145 ReadLastFaxFrontPointer();//get gwFrontPointerAddress, gwPageAddress,
- // 146 //gwFrontPointerAddress and gwColumnAddress
- // 147 gwPageAddress++; //add Dec.19, 2006
- // 148 do{
- // 149 wNextPageAddress=gwPageAddress+64;
- // 150 wPageAddress=CalNextPageAddress(wPageAddress);
- // 151 }while(wNextPageAddress==wPageAddress);
- // 152 wNewFaxHead=gwPageAddress;
- // 153 if (wNewFaxHead<wNewFaxRear)//(wNewFaxHead!=wNewFaxRear)//modify Dec.20,2006
- // 154 {
- // 155
- // 156 for (wPageAddress=wNewFaxHead;wPageAddress<=wNewFaxRear;)//wNewFaxHead
- // 157 {
- // 158
- // 159 ROW_ADDRESS_LOW = wPageAddress & 0xff;
- // 160 ROW_ADDRESS_HIGH = (wPageAddress>>8) & 0xff;
- // 161 for (ucFlashColumnAddCnt = 0;ucFlashColumnAddCnt < 8;ucFlashColumnAddCnt++)//8*256=2048
- // 162 {
- // 163 //8 * 256 == 2048 Bytes 2^4*2^8 12bit column address HighColumnAddr:0~8
- // 164 //total 8*256B+64B=2K+64B
- // 165 COLUMN_ADDRESS_HIGH=ucFlashColumnAddCnt;
- // 166 READ_256_BYTE();//read 256 Byte to aucUartRxBuf[256]
- // 167 for (ucGeneralCnt=0;ucGeneralCnt<4;ucGeneralCnt++)//16*16Bytes send 16Bytes one time
- // 168 //modify Dec.28,2006 4*64Bytes one time
- // 169 {
- // 170 Send64BytePageImageData(64,ucGeneralCnt);
- // 171 while(gucTxBufCnt!=0)//send over, gucTxBufCnt == 0
- // 172 {
- // 173 ;
- // 174 }
- // 175 //ATcmdDelay();
- // 176 if (gwTxNum != 64 && TXBUF0==0xfb)
- // 177 break;
- // 178 }//third for
- // 179 if (gwTxNum != 64)
- // 180 break;
- // 181 }//second for
- // 182
- // 183 if ((gwTxNum != 64)
- // 184 || (aucUartTxBuf[gwTxNum-1] == 0xfb && aucUartTxBuf[gwTxNum-2] == 0x13 && aucUartTxBuf[gwTxNum-3] == 0xff)
- // 185 //(aucUartTxBuf[gwTxNum] == 0xfb && aucUartTxBuf[gwTxNum-1] == 0x13 && aucUartTxBuf[gwTxNum-2] == 0xff)//a bug of Jan.24, 2007
- // 186 )//gwTxNum!=16, pageimage over
- // 187 { //(gwTxNum != 16) modify Dec.20,2006
- // 188 ATcmdDelay();// a bug of Dec.23,2006 FF 10 00 0E // receive data delay(if not, can't receive 0x10 0x03)
- // 189 ucRxIndex=0; //write Fax Rear Pointer
- // 190 aucUartRxBuf[ucRxIndex++]=wPageAddress & 0xff;
- // 191 aucUartRxBuf[ucRxIndex++]=(wPageAddress>>8) & 0xff;
- // 192 aucUartRxBuf[ucRxIndex++]=0x55;
- // 193 aucUartRxBuf[ucRxIndex++]=0x55;
- // 194 WriteFaxFrontPointerTable();
- // 195 wPageAddress++;
- // 196 do{
- // 197 wNextPageAddress=wPageAddress+64;
- // 198 wPageAddress=CalNextPageAddress(wPageAddress);
- // 199 }while(wNextPageAddress==wPageAddress);
- // 200 //ReadLastFaxFrontPointer();//read next write fax front pointer addr //delete at Jan. 19, 2007
- // 201 continue;//break; a bug of Dec. 12,2006
- // 202 }
- // 203 wPageAddress++;
- // 204 do{
- // 205 wNextPageAddress=wPageAddress+64;//wNextPageAddress=gwPageAddress+64;
- // 206 wPageAddress=CalNextPageAddress(wPageAddress);
- // 207 }while(wNextPageAddress==wPageAddress);
- // 208 }//for ----> next page
- // 209
- // 210 //ATcmdDelay(); // receive data delay(if not, can't receive 0x10 0x03)
- // 211
- // 212
- // 213 }//if RearPointer!=FrontPointer
- // 214 //gucRxTxFlag = DTETX; // Del at Dec.25,2006
- // 215 }
- // 216 */
- // 217 /*
- // 218 void Send64BytePageImageData(unsigned char ucTxDataNum,unsigned char ucGeneralCnt)
- // 219 {
- // 220 unsigned char ucDataCnt = 0;
- // 221
- // 222 gwTxNum=ucTxDataNum;
- // 223 gpucTxBufPnt = 0;
- // 224 for(ucDataCnt=0;ucDataCnt<64;ucDataCnt++) //ready data to TxdataBuf[]
- // 225 {
- // 226 aucUartTxBuf[ucDataCnt]=aucUartRxBuf[64*ucGeneralCnt+ucDataCnt];
- // 227 gdwRxQueueFrontCnt++;
- // 228 //There is a bug. when a[255]==10 && a[0]==03 && a[1]==fb, it will be error. it should add Length Judge
- // 229 if (aucUartTxBuf[ucDataCnt] == 0xfb && aucUartTxBuf[ucDataCnt-1] == 0x13 && aucUartTxBuf[ucDataCnt-2] == 0xff)
- // 230 {
- // 231 gwTxNum = ucDataCnt+1;
- // 232 break;
- // 233 }
- // 234 }
- // 235 TXBUF0=aucUartTxBuf[0]; //start sent
- // 236 gucTxBufCnt=1; //aucUartTxBuf[0] is the first byte, next TX is the second.
- // 237 }
- // 238 */
- //
- // 564 bytes in segment CODE
- // 1 byte in segment DATA16_AN
- //
- // 564 bytes of CODE memory
- // 0 bytes of DATA memory (+ 1 byte shared)
- //
- //Errors: none
- //Warnings: none