SBUF这个寄存器在读和写的时候指向了两个不同的地址,写进去了某一个值后,立刻去读该寄存器的值,不可能与你写进去的值相等的(除非巧合)!比如: SBUF = 10; a = SBUF; 这个时候,a不会是10,那么a到底是什么值?不一定,跟你的串口接收有关,但与你写进去的值没有关系的. 发表时间:2006年6月5日15:31:56