昨天花了一晚上将定时器编写成功。
成功的将AD采样放进了定时器中断,对后续采样数据奠定基础。
在此过程中出现了仿真死机现象,折腾了半天,其问题如下:
//DI();
//R_ADC_Start(); /* Start AD converter */
//ADIF = 0U; /* Clear INTAD request */
//R_ADC_Get_Result( &result_buffer ); /* Get result */
上4行为单次采样代码,每次去掉“DI();”时,程序总会出现跑偏,不删除“DI();”定时器中断不能使用。经过2个多小时的排查,发现“DI();”为禁止中断处理。
最后发现AD采样中断时开启的,于是将AD采样中断函数添加上“__interrupt void R_ADC_Interrupt(void)”,最终程序没有跑偏现象,完成了定时器中断采样、数码管显示、指示灯、蜂鸣器的正常工作。
最后我在公司找到了1支互感器,开始正式的算法编程。。。期待中。。
本帖最后由 youyou_123 于 2015-10-28 08:20 编辑