我试图用ATmega32-A微控制器(MCLK = 8MHz时钟频率)使用可编程波形发生器AD9833生成正弦波。我使用USART通信,所以如果我改变超级终端的频率或相位,那么波形频率和相位必须改变。 我写了如下所示的小代码。使用微控制器更改信号的相位值
但是从上面的代码我正在产生正弦波。如果我输入频率然后波形频率也正好改变,但我试图改变阶段,那么这就是问题所在。如果我以90度输入相位,那么它会改变10度,但它不会改变90度。我不知道为什么它会像这样产生,我做了什么错误?我是否缺少任何位?只有阶段的问题。
在此先感谢。
如果我想输入阶段的浮点值例如2.5度,我必须改变。在函数中将“无符号整数阶段”转换为“浮点阶段”。如果我尝试这样的“< <”与float不兼容。如果我想要输入35.8度的相位,我必须做什么。请给我建议。
在此先感谢。
是以弧度表示的角度? 90弧度实际上将在14度左右 –
您能否提供数据表并将我们指向相关页面,其中记录了相位设置命令,只是为了表明您已完成了您的研究? –
@ David Grayson数据手册页码15,我们有频率和相位寄存器写入命令。 – verendra