This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

选用C6748 SPI0的SPI0_SCSn2作为片选,配置后CS2信号一直没有反应,帮忙看看配置是否有问题?

/****************************************************************************/
/*                                                                          */
/*              PSC初始化                                            */
/*                                                                          */
/****************************************************************************/
void PSCInit(void)
{
 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_UPP, PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE);
 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
 PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_UART0, PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE);
    PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_SPI0, PSC_POWERDOMAIN_ALWAYS_ON,PSC_MDCTL_NEXT_ENABLE);//ADD SPI0
}
/****************************************************************************/
/*                                                                          */
/*              GPIO 管脚复用配置                                           */
/*                                                                          */
/****************************************************************************/
void GPIOBankPinMuxSet(void)
{
 // 配置相应的 GPIO 口功能为普通输入输出口
 // 核心板 LED
 GPIOBank6Pin12PinMuxSetup();
 GPIOBank6Pin13PinMuxSetup();
 //SPIO PinMux
 SPIPinMuxSetup(0);
 //SPI0 CS0
 SPI0CSPinMuxSetup(2);//片选改成CS2
 UARTPinMuxSetup(0, FALSE);

 // 核心板 LED
    GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);  // GPIO6[12]
    GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);  // GPIO6[13]
}
/****************************************************************************/
/*                                                                          */
/*              SPI 初始化                                         */
/*                                                                          */
/****************************************************************************/
void SPIInit(void)
{
    unsigned char cs  = 0x4;//改成CS2
    unsigned char dcs = 0x4;//改成CS2
    unsigned int  val = SIMO_SOMI_CLK_CS;
    SPIReset(SOC_SPI_0_REGS);
    SPIOutOfReset(SOC_SPI_0_REGS);
    SPIModeConfigure(SOC_SPI_0_REGS, SPI_MASTER_MODE);
    ***(SOC_SPI_0_REGS, 150000000, 1000000, SPI_DATA_FORMAT0);
    SPIPinControl(SOC_SPI_0_REGS, 0, 0, &val);
    SPIDefaultCSSet(SOC_SPI_0_REGS, dcs);
    // 配置 SPI 数据格式
    SPIDataFormatConfig(SPI_DATA_FORMAT0);
    // 配置 SPI 数据格式及片选信号
    SPIDat1Config(SOC_SPI_0_REGS, (0 | SPI_DATA_FORMAT0), cs);
    // 使能 SPI
    SPIEnable(SOC_SPI_0_REGS);
}
/****************************************************************************/
/*                                                                          */
/*              SPI 传输                                                    */
/*                                                                          */
/****************************************************************************/
void WriteReg(unsigned char addr,unsigned int data)
{
 unsigned int status;
    SPIDat1Config(SOC_SPI_0_REGS, SPI_DATA_FORMAT0, 0x4);//改成CS2
    SPITransmitData1(SOC_SPI_0_REGS, addr);
    status=SPI_SPIFLG_TXINTFLG;
    while(status!=SPI_SPIFLG_TXINTFLG)
    {
        status=SPIIntStatus(SOC_SPI_0_REGS, SPI_SPIFLG_TXINTFLG);
    }
    Delay(50);
    status=SPIDataReceive(SOC_SPI_0_REGS);
    SPIDat1Config(SOC_SPI_0_REGS, SPI_DATA_FORMAT0, 0x4);//改成CS2
    SPITransmitData1(SOC_SPI_0_REGS, data);
    status=SPI_SPIFLG_TXINTFLG;
    while(status!=SPI_SPIFLG_TXINTFLG)
    {
        status=SPIIntStatus(SOC_SPI_0_REGS, SPI_SPIFLG_TXINTFLG);
    }
    Delay(50);
    status=SPIDataReceive(SOC_SPI_0_REGS);
}
请教下是不是配置有问题呢?CS2不能正常动作。