本帖最后由 bailao99 于 2015-3-31 21:06 编辑
把adc_hw_trigger pdb的例子应用到其它程序,很容易导致PDB硬件触发ADC Pre-trigger错误
测试中发现,如果pre-trigger使能,ADC不读取结果会导致 Pre-trigger错误,ADC中断程序执行时间过长,例如插入printf指令,也会导致 Pre-trigger错误
有时候ADC先初始化,然后PDB初始化触发ADC,那么马上发生Pre-trigger错误
开发环境:Kinetis SDK V1.1.0,MDK513,FRDM-K22F
问题原因:ADC再次初始化之前,必须Deinit
解决方案:AD中断完成后PDB_DRV_DisableAdcPreTrigger,PDB_DRV_ClearAdcPreTriggerFlag,如果要改变ADC设置,那么先执行ADC16_DRV_Deinit,然后再次初始化ADC和PDB,AD中断中可以读到新设通道的值,且不会导致Pre-trigger错误
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
呵呵,跟3楼一块提醒了楼主,最好看下printf函数的臃肿定义先。。。ISR中少调用此类函数
一周热门 更多>