|
我编写了一个控制AD9834产生,程序如下:
#include <avr/io.h>
#include <avr/delay.h>
#include <stdio.h>
void send_con(unsigned int con)
{unsigned char i;
asm("cbi 0x0B,2");
for (i=0;i<16;i++)
{if(con&0x8000)
asm("sbi 0x0B,0");
else
asm("cbi 0x0B,0");
con<<=1;
asm("sbi 0x0B,1");
asm("cbi 0x0B,1");
}
asm("sbi 0x0B,2");
}
void send_fre(unsigned int fre)
{send_con(fre);
}
void send_phase(void)
{send_con(0xC000);
}
void main()
{unsigned long fr=0x3333333;
unsigned int LSB,MSB;
PORTD=0x0000;
DDRD=0xFFFF;
asm ("cbi 0x0B,1");
asm ("sbi 0x0B,2");
LSB=fr/0x4000+0x4000;
MSB=fr%0x4000+0x4000;
send_con(0x2100);
send_fre(LSB);
send_fre(MSB);
send_phase;
}
但是总没有波形产生,请各位高手指点一下。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|