折腾几天了,DSP28335程序下载后不运行!

DSP28335程序下载后不运行

1.现象描述:写了一段代码LCD1602显示两行字符,主函数定时器0定时2s,周期检测两路AD,做数字PID运算,通过DAC输出控制执行机构,形成闭环控制,LED小灯做提示。debug模式下正常(采用28335_RAM_lnk.cmd文件加载到RAM),后改用F28335.cmd下载到FLASH,提示LOAD完成。断开仿真器(XDS100v1),断电,然后上电,LCD1602无显示,LED不闪烁。
2.具体操作说明:F28335.cmd及28335_RAM_lnk.cmd文件均放置在DSP2833x_Libraries文件夹下,当debug模式时,右键F28335.cmd文件Exclude from project,F28335.cmd为灰色,下载到FLash时右键28335_RAM_lnk.cmd文件Exclude from project,28335_RAM_lnk.cmd灰色。debug和下载到Flash均操作图标锤子+虫子。
3.DSP2833x_Libraries文件夹如图1。
折腾几天了,DSP28335程序下载后不运行!_第1张图片
4.主函数代码:

void main()
{
    float X_voltageIN=0.0;
    float Y_voltageIN=0.0;
    float X_voltageOUT=0.0;
    float Y_voltageOUT=0.0;
    unsigned char Xdata=0;
    unsigned char Ydata=0;

	InitSysCtrl();
	InitPieCtrl();
	IER = 0x0000;
	IFR = 0x0000;
	InitPieVectTable();

	LED_Init();
	TIM0_Init(150,2000000);//2000ms
	UARTa_Init(4800);
	DACTLV5620_Init();
	ADC_Init();
	LCD1602_Init();

	PIDX_init(PID_KpX,PID_TiX,PID_TdX,ADsampleTime_Ts);
	PIDY_init(PID_KpY,PID_TiY,PID_TdY,ADsampleTime_Ts);
	timer0_flag=0;
	LCD1602_DispString(1,"Wenie,love U!");
	LCD1602_DispString(2,"Haha,Good luck!");

	while(1)
	{
		if (timer0_flag==1)
		{
			timer0_flag=0;
			Read_ADCValueTwo();
			X_voltageIN=3*(AdcRegs.ADCRESULT0>>4)/4096.0;
			Y_voltageIN=3*(AdcRegs.ADCRESULT1>>4)/4096.0;

			X_voltageOUT=PIDX_realize(setX_position,X_voltageIN);
			Y_voltageOUT=PIDY_realize(setY_position,Y_voltageIN);

			Xdata=X_voltageOUT*256/3;
			Ydata=Y_voltageOUT*256/3;
			DAC_SetChannelData(0,0,255);                 //outputA gain=2
			DAC_SetChannelData(1,1,Ydata);                 //outputB gain=2
		}
	}

}


5.debug模式时时正常的,有图有真相。

请各位大神帮忙看看,问题在什么地方?折腾几天了,头痛欲裂!!

你可能感兴趣的:(折腾几天了,DSP28335程序下载后不运行!)