打印
[ZLG-ARM]

LPC2368控制SC16IS752芯片,求助!!!!!!

[复制链接]
2814|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crystal848|  楼主 | 2008-4-2 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
周公您好:
    目前买了贵公司的SC16IS752芯片,用LPC2368来控制,使用的控制总线为SPI。但是在初始化以后,发现读取的寄存器的值一为未0XFF,包括IIR和IER等寄存器,由于是参考贵公司的初始化程序代码,并且SPI控制经测试没有问题,找不到出错的原因,望指教!初始化程序如下:
void SC16IS752_Init_ChB (void) // program channel B for SPI-IrDA
{
SPI_wr_752 (LCR, 0x80, 2); // 0x80 to access program baud rate
SPI_wr_752 (DLL, 0x80, 2); // set IRDA to 2400 bps divider 0x0180
SPI_wr_752 (DLH, 0x01, 2); // program baud rate high byte
SPI_wr_752 (LCR, 0XBF, 2); // access EFR
SPI_wr_752 (EFR, 0X10, 2); // enable enhanced registers
SPI_wr_752 (LCR, 0x03, 2); // 8 data bit, 1 stop bit, no parity
SPI_wr_752 (FCR, 0x07, 2); // enable FIFO mode
SPI_wr_752 (SPR, 'B', 2); // scratch pad = character B (0x42)
//SPI_wr_752 (EFCR, 0x00, 2); // IrDA SIR 115.2 Kbps
SPI_wr_752 (MCR, 0x00, 2); // enable IRDA mode
SPI_wr_752 (IER, 0x01, 2); // enable receive interrupt
}
void SpiControl_Task(void *pdata)
{
    BYTE IIRState;
   // SPIInit();
    SSP0Init();
    SC16IS752_Init_ChB();
    while(1)
    {
         IIRState = SPI_rd_752(IIR,2);
    }       
}

相关帖子

沙发
zlgarm| | 2008-4-2 15:59 | 只看该作者

Re

crystal848
    您好!在电路设计没有错的情况下,建议您检查SPI的操作是否正确,及串口芯片的寄存器操作是否正确,同时可参考我公司写的初始代码。
                                            
                                                     zlgarm_liuzhaofu

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

20

帖子

1

粉丝