用和校验, 保证数据不为 0xff
校验位 用和校验: A =0 FOR I = 1 TO N-1 A = A + D(I) + 1 IF A>=256 THEN A=(A AND 255) ELSE A = A -1 ENDIF NEXT I D(I)= A ================================
MOV R0, #UART_OUT_BUF MOV R2, #(N-1) CLR A LP_R2: SETB C ADDC A, @R0 JC L_10 DEC A L_10: DJNZ R2, LP_R2 MOV @R0, A
|
|