本帖最后由 Lily0526 于 2009-12-5 17:58 编辑
在进行串口调试时,PC机和单片机相连进行通讯。单片机发往PC机时数据正常,但PC机发的数据单片机接收不到。SCI初始化时各寄存器做了如下设置:
SCI0BDL = 0x82; //须先给低8位赋值
SCI0BDH = 0x00; //再给高8位赋值 (波特率设为9600)
SCI0CR1 = 0x00; //设置允许SCI,正常码输出,8位数据,无校验
t = SCI0DRL; //读数据寄存器(清0)
t = SCI0SR1; //读状态寄存器(清0)
SCI0CR2 = 0x0C; //允许SCI0接收和发送 查询方式
我查找了一下原因:SCI0SR1中的RDRF位一直为0,并且TDRE位一直为1。
请各位高手指教,谢谢! |