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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版