你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 AD9854 正交正弦

[复制链接]
assange 提问时间:2013-10-10 16:08 /
 跪求某位大神能帮小弟看看此程序 发现预设频率与输出频率相差甚远,小的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
收藏 评论9 发布时间:2013-10-10 16:08

举报

9个回答
废鱼 回答时间:2013-10-10 16:57:41

RE:STM32 AD9854 正交正弦

ff=(unsigned long int)(4294967296*fre/200000000);
  
  p=ff;
  
  for(addr=0x04,i=0;i
废鱼 回答时间:2013-10-10 16:58:18

RE:STM32 AD9854 正交正弦

最好能发一下实际输出和预想输出的图。
回答时间:2013-10-10 23:07:53

RE:STM32 AD9854 正交正弦

AD9854 是今年电赛用的芯片吧。预设频率与输出频率有大的差距,应该是中间数据处理的问题。
废鱼 回答时间:2013-10-11 09:40:38

RE:STM32 AD9854 正交正弦

你多实验几次,应该是你数据处理的问题。
mxj1005071012 回答时间:2013-10-11 20:04:11

RE:STM32 AD9854 正交正弦

我看一下程序,跟我在电赛的时候也差不多,没有问题,不过数据处理部分不同,楼主这个需要你自己测试了
assange 回答时间:2013-10-11 20:27:19

回复:STM32 AD9854 正交正弦

<div style="padding:5px;border:1px dashed #ccc;">
回复第 2 楼 于2013-10-10 16:57:41发表:
ff=(unsigned long int)(4294967296*fre/200000000);

p=ff;

for(addr=0x04,i=0;i
assange 回答时间:2013-10-11 20:28:16

回复:STM32 AD9854 正交正弦

回复第 4 楼 于2013-10-10 23:07:53发表:
AD9854 是今年电赛用的芯片吧。预设频率与输出频率有大的差距,应该是中间数据处理的问题。
 
对滴 ,对滴,中间数据处理是什么意思?
 
assange 回答时间:2013-10-11 20:29:43

回复:STM32 AD9854 正交正弦

回复第 6 楼 于2013-10-11 20:04:11发表:
我看一下程序,跟我在电赛的时候也差不多,没有问题,不过数据处理部分不同,楼主这个需要你自己测试了
 
 
您的意思是不断的改变频率 ,找出其中的函数关系?
 
assange 回答时间:2013-10-14 18:49:55

回复:STM32 AD9854 正交正弦

谢谢,给位小弟已经做好了,谢谢

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版