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.

关于28377把spi分配给cpu2,这是我写的配置,但是不好使,请大家看看哪里出了问题

void main(void)

{

#ifdef _FLASH

memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

#endif

   InitSysCtrl();

   SysCtlAuxClockSet(SYSCTL_OSCSRC_XTAL | SYSCTL_PLL_ENABLE | SYSCTL_IMULT(12) | SYSCTL_SYSDIV(4));

#ifdef _STANDALONE

#ifdef _FLASH

IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);

#else

IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);

#endif

#endif

#ifdef _FLASH

   InitFlash();

#endif

   InitGpio();

InitSpiA_init();

}

 

VOID InitSpiA_init();

{

EALLOW;

   GPIO_SetupPinMux(16, GPIO_MUX_CPU2, 1);

   GPIO_SetupPinMux(17, GPIO_MUX_CPU2, 1);

   GPIO_SetupPinMux(18, GPIO_MUX_CPU2, 1);

   GPIO_SetupPinMux(19, GPIO_MUX_CPU2, 0);

   GPIO_SetupPinMux(109, GPIO_MUX_CPU2, 0);

   GPIO_SetupPinOptions(16, GPIO_OUTPUT, GPIO_PUSHPULL);

   GPIO_SetupPinOptions(17, GPIO_INPUT, GPIO_PUSHPULL;

   GPIO_SetupPinOptions(18, GPIO_OUTPUT, GPIO_PUSHPULL);

   GPIO_SetupPinOptions(19, GPIO_OUTPUT, GPIO_PUSHPULL);

   GPIO_SetupPinOptions(109, GPIO_OUTPUT, GPIO_PUSHPULL);

   EDIS;

     EALLOW;

     DevCfgRegs.CPUSEL6.bit.SPI_A = 1;

     EDIS;

}

 

CPU2程序

void main(void)

{

#ifdef _FLASH

memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

#endif

   InitSysCtrl();

#ifdef _FLASH

   InitFlash();

#endif

   EALLOW;

   CpuSysRegs.PCLKCR8.bit.SPI_A = 1;

   EDIS;

InitSpiA()

….

}

 

void InitSpiA (void)   //EDITED

{

   SpiaRegs.***.bit.SPISWRESET = 0;         //Set reset bit low

   SpiaRegs.***.bit.CLK_PHASE = 0;

   SpiaRegs.***.bit.CLKPOLARITY = 1;

   SpiaRegs.***.bit.SPILBK= 0;

   SpiaRegs.***.bit.MASTER_SLAVE = 1;       //Master mode

   SpiaRegs.SPIBRR.all = 0x63;//update value to proper setting for correct bitrate ( current: ~500kHz)

   SpiaRegs.***.bit.*** = 0x7;         //Set char length to 8 bits

   SpiaRegs.***.bit.TALK = 1;

   SpiaRegs.***.bit.SPISWRESET = 1;         //Release SPI from reset

   SpiaRegs.SPIPRI.bit.FREE = 1;

   SpiaRegs.SPIPRI.bit.SOFT = 1;

}