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.

RM57L843 关于SPI初始化与HET初始化冲突的问题

Other Parts Discussed in Thread: RM57L843

背景交代:本人目前在调试的是RM57L843芯片,版本为B版。根据HAL Code Generator配置了SPI接口(SPI1、SPI3、SPI5),调试通过。后有配置了HET模块用于PWM输出,pwm0~PWM7均可输出。后来应用HET_IDE工具配置成13路PWM输出,也可测到所有输出。还配置了ADC1、EMIF、sci1~sci4、CAN1~CAN4、RTI(仅用于定时)。

问题描述:在综合测试时,main函数中完成以下工作:

int main(void)

{

rtiInit();

esmInit();

emif_ASYNC2Init();

gioInit();

sciInit();

adcInit();

canInit();

spiInit();

hetIint();

…………

}

后来测试显示,

情况1:使用HET_IDE生成的HET模块; 如果执行了hetInit();则我的SPI的CLK测不到信号,SPI不正常工作(3组SPI);如果不执行hetInit(),则SPI正常工作。

情况2:使用HET_IDE生成的HET模块; 先执行spiInit();不执行hetInit(); 在执行SPI相关程序,SPI功能正常。SPI功能正常后再执行hetInit()后,在进行SPI相关程序,则SPI功能不正常。

情况3:使用HAL Code Generator配置HET模块。同情况1、2。

后来定位到hetInit()中的  (VOID)memcpy((void *)hetRAM1,(const void*)het1PROGRAM,sizeof(het1PROGRAM));

如果屏蔽掉该语句,则SPI功能正常,但PWM无输出,该语句只是把数组放置到制定RAM中,为何会影响spi的clk.

关于时钟初始化:spi的clk用的是VCLK,het用的是VCLK2,在系统初始化时CCDIS写入的是0X20 除去VCLK2A 未使用,其他均打开了。

请教大神如何解决,或者有没有类似的情况啊