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.
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;
}