跪求某位大神能帮小弟看看此程序 发现预设频率与输出频率相差甚远,小的2日不得查其原因,先谢谢给位了! #include "stm32f4xx.h" unsigned char ControlRegister[]={0x10,0x4A,0x00,0x40}; unsigned char FTW[]={0x00,0x00,0x33,0x33}; unsigned char PAR[]={0x00,0x00}; unsigned char OSK[]={0x0f,0xff}; void single_wave(unsigned long int fre); void Init_AD9854(void); void AD9854_Set_Mode0(void); void AD9852_Send(unsigned char addr,unsigned char data); void change_frequency(unsigned long int fre_temp); void GPIO_Confign(void); int main(void) { //DDS INT GPIO_Confign(); Init_AD9854(); AD9854_Set_Mode0(); single_wave(1000000); } void AD9852_Send(unsigned char addr,unsigned char data) //°´ÕÕ²¢ÐÐÊäÈëʱÐò { GPIO_SetBits(GPIOD,GPIO_Pin_14); // AD9854_WR_SET; GPIO_Write(GPIOE,addr0;counter--) { AD9852_Send(addr,PAR[2-counter]); addr++; } for(addr=0x04,counter=4;counter>0;counter--) { AD9852_Send(addr,FTW[4-counter]); addr++; } for(addr=0x21,counter=2;counter>0;counter--) { AD9852_Send(addr,OSK[2-counter]); addr++; } for(addr=0x23,counter=2;counter>0;counter--) { AD9852_Send(addr,OSK[2-counter]); addr++; } } void single_wave(unsigned long int fre) { unsigned char addr,i; unsigned long int ff; unsigned char *p; ff=(unsigned long int)(4294967296*fre/200000000); p=(unsigned char*)&ff; for(addr=0x04,i=0;i |
RE:STM32 AD9854 正交正弦
p=ff;
for(addr=0x04,i=0;i
RE:STM32 AD9854 正交正弦
RE:STM32 AD9854 正交正弦
RE:STM32 AD9854 正交正弦
RE:STM32 AD9854 正交正弦
回复:STM32 AD9854 正交正弦
回复第 2 楼 于2013-10-10 16:57:41发表:
ff=(unsigned long int)(4294967296*fre/200000000);
p=ff;
for(addr=0x04,i=0;i
回复:STM32 AD9854 正交正弦
AD9854 是今年电赛用的芯片吧。预设频率与输出频率有大的差距,应该是中间数据处理的问题。
对滴 ,对滴,中间数据处理是什么意思?
回复:STM32 AD9854 正交正弦
我看一下程序,跟我在电赛的时候也差不多,没有问题,不过数据处理部分不同,楼主这个需要你自己测试了
您的意思是不断的改变频率 ,找出其中的函数关系?
回复:STM32 AD9854 正交正弦