`在网上(几个
电子设计类的专业网站)找到了几个Ad9854的驱动代码,内容是一样的,但是我自己在用那个代码的时候,main函数里面是产生1MHZ的正弦波,但是出来的结果是周期性的68MHZ的非正弦波。用到的代码截图如图,求解答。
以下 是个人的理解
最有可能出错是在出在void AD9852_Send(unsigned char addr,unsigned char data)函数,因为数据是八位的,地址是六位的,这里用了PC的ODR是十六位,根据代码
AD9854_ADDR &= 0x00ff|addr<<8;
AD9854_ADDR |= 0xff00&addr<<8;
地址用的是高八位,所以我将AD9854的地址线A0-A5接在PD8—PC13(截图的是网上的代码,我将里面的PC改为了PD,同时我也有注意到IO口初始化和时钟使能那里添加 PD的代码)
数据用的是低八位,所以我将AD9854的数据线D0-D7 接在PD0-PD7
`