以下是引用fayefayehoo在2008-9-23 13:12:00的发言:你用的是哪个SCI,我用的是 S12SCIV5,,初始化以后SCISR1也是0xC0,但接收发送都很正常。 最好把初始化的代码发上来看看 另外,波特率你设对了没有 [此贴子已经被作者于2008-9-23 13:14:24编辑过] 从单片机上往上位机发没有问题,这应该说波特率是正确的,初始化代码如下: void SCIInit(void) { INT8U i; //(1)设置波特率为9600 SCIBDL=0x68; //BR=fbus/(16*Bt)=16000000/(16*9600)=104.17:0x68 SCIBDH=0x00; //SCIBDH=0x00,SCIBDL=0x68; //(2)设置控制寄存器 SCICR1=0x00; //允许SCI,正常码输出,8位数据,无校验 SCICR2=0x0C; //中断暂时关闭,允许发送(TE=1)和接收(RE=1) //(3)清空数据寄存器和状态寄存器 i = SCISR1; //清空状态寄存器1 i = SCIDRL; //清空数据寄存器 } 在初始化结束后开启接受中断和总中断.
[此贴子已经被作者于2008-9-24 10:39:31编辑过] |