不知道为什么,每次每一次上电的时候,会进入非法中断,在ADC的打开的时候(其实和SPI和定时器没什么关系)
第一次开机(上电或调试)---->进入非法中断--->把ADC模块屏蔽或下载一个其他正常的工程到FLASH--->正常--->重新下载这个“有错的”工程或调试到FLASH--->正常
MAIN函数
- void main(void)
- {
- InitSysCtrl();
- InitGpio();
- InitSciaGpio();
- DINT;
- InitPieCtrl();
- PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
- InitPieVectTable();
- EALLOW;
- PieVectTable.TINT0 = &cpu_timer0_isr;
- EDIS;
- IER |= M_INT1;
- InitSpiGpio();
- InitSpi();
- SpiaRegs.SPITXBUF=0x00;
- //spi_fifo_init();
-
复制代码- void ConfigAdc(void)
- {
- EALLOW;
- //通道0
- AdcRegs.ADCSOC0CTL.bit.CHSEL = 0;
- AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 1;
- AdcRegs.ADCSOC0CTL.bit.ACQPS = 6;
- EDIS;
- }
复制代码
此帖出自
小平头技术问答
多谢斑竹,我看到差别了,把那个ifdef放到了前面,我已经调了快两天这个了,找到每一个可能解决的方案我都会认真去试了,但是我去汇编不大懂,没有理解您前面说的意思,我还以为是初始化flash——InitFlash()这个函数要放到那个MemCopy()的前面,所以我只把这个改了,没看到效果,现在测试AD应该是没问题了——下载程序——断电——调试程序——正常(没有像以前进入非法中断),但是我的屏幕不亮了,还要再调调看。
一周热门 更多>