我試圖用ATmega32-A微控制器(MCLK = 8MHz時鐘頻率)使用可編程波形發生器AD9833生成正弦波。我使用USART通信,所以如果我改變超級終端的頻率或相位,那麼波形頻率和相位必須改變。 我寫了如下所示的小代碼。使用微控制器更改信號的相位值
但是從上面的代碼我正在產生正弦波。如果我輸入頻率然後波形頻率也正好改變,但我試圖改變階段,那麼這就是問題所在。如果我以90度輸入相位,那麼它會改變10度,但它不會改變90度。我不知道爲什麼它會像這樣產生,我做了什麼錯誤?我是否缺少任何位?只有階段的問題。
在此先感謝。
如果我想輸入階段的浮點值例如2.5度,我必須改變。在函數中將「無符號整數階段」轉換爲「浮點階段」。如果我嘗試這樣的「< <」與float不兼容。如果我想要輸入35.8度的相位,我必須做什麼。請給我建議。
在此先感謝。
是以弧度表示的角度? 90弧度實際上將在14度左右 –
您能否提供數據表並將我們指向相關頁面,其中記錄了相位設置命令,只是爲了表明您已完成了您的研究? –
@ David Grayson數據手冊頁碼15,我們有頻率和相位寄存器寫入命令。 – verendra