在之前的博客中,更新了如何 使用F28379D的片内DAC,提到DAC为12位的 DAC,因此DAC可以将参考电压分为4096份。不注意的小伙伴可能会将 对应的寄存器的值设置为4096,这样会导致DSP运行至_error_然后停止的哦,如果正在做功率实验这将非常危险。。
如下图所示
观察Debug窗口可以发现问题出在了DAC上,如下图所示
解决方法是,在给DAC的相关寄存器赋值时,进行判断,下面是我的做法,我定义了一个函数在赋值前将value限制在0~4095。这样就避免了出现错误。
void DAC_Output_Set(unsigned long base,float value)
{value = (value > 4095)? 4095:value;value = (value < 0)? 0:value;DAC_setShadowValue(base,value);
}
以上是F28379D DAC设置的小细节,希望能够对你有所帮助!我是ManTou!