有问题的微控制器和VCO

时间:2014-04-07 21:01:59

标签: microcontroller bit lpc

我希望你的一天顺利。我正在编程LPC1768以向AD5791发送信号,以便根据AD5791的输出电压输出给定频率。我附上了电路图。我已经能够从LPC1768看到和写入AD5791。但是,当我将VCO连接到信号分析仪时,当我“改变”AD5791的电压输出时,我发现峰值频率没有变化。我一直在用mbed编程。以下是我目前使用的代码。输入将不胜感激。我认为问题可能在于如何实现spi.write。 AD5791需要20位字,LPC1768最多只能发送16位字。此外,还有字节序的问题 - 但我相信我已经解决了这个问题,因为我正按照预期的顺序读出我写给AD5791的内容。

#include "mbed.h"

SPI spi(p5, p6, p7); // mosi, miso, sclk
DigitalOut cs(p8);

int main()
{
spi.format(8,1);
spi.frequency(1000000);
cs=1;

while(1)
{

    cs = 0;
    spi.write(0x10);
    spi.write(0xFF);
    spi.write(0xFF);
    cs = 1;

    cs = 0; 
    int first = spi.write(0x90);
    int second = spi.write(0x00);
    int third = spi.write(0x00);
    cs = 1;

    printf("first register = 0x%X\n", first);
    printf("second register = 0x%X\n", second);
    printf("third register = 0x%X\n", third);
}

}`

0 个答案:

没有答案