1、幅度的确定:
根据手册可以看出,DAC具有三角波输出功能,其幅度由寄存器MAMP决定。
也就是库中所使用的:DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_1023;
问题1:改变幅度值,周期也一样跟着变了。看了半天没有看出规律
2、周期的确定:
参考ST提供的历程,我也是用TIM6触发DAC,手册上说触发功能会延迟3个APB1周期,我的TIM6与ST历程中一样是42M。
它里面注释了一句:TIM6 Update event occurs each 37.5MHz/256 = 16.406 KHz
问题2:这个37.5M是怎么算出来的?
3、工作方式确定:
由手册上翻译得到DAC_DHR寄存器为三角波的直流偏置,经过示波器也验证了这一点
也就是库中所使用的:DAC_SetChannel2Data(DAC_Align_12b_R,500);
问题3:手册说:计数值和DAC_DHR中的值之和放入DAC_DOR寄存器中,然后计数值自加与幅度设定值靠拢,然后重装。
但是我不管怎么调整TIM6计数值,周期最大就245HZ,后来直接用了ST历程加在开发板上,周期根本没有上面注释的16.406K,
这里不太理解。
|