您好,這是單片機串口通信的奇偶校驗。
偶校驗:就是發送的8個數據位的1的個數為偶數時,TB8=0;為奇數時,TB8=1;
奇校驗:與偶校驗相反的TB8。 先講發送字節時的偶校驗:
先看下匯編的解決方案是什么: MOV A,@R0 MOV C,P MOV TB8,C MOV SBUF,@R0
再看下C語言的解決方案:
void chk_even(uchar dat)//要發送的數據位dat { ACC=dat; TB8=P; SBUF=dat; while(TI==0); TI=0;
}
這只是發送的一個字節的偶校驗 ,接收時的為RB8位,應該能看懂,要是還是感覺吃力的話,就繼續查資料。 |