This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/ADS1234:此器件存在预写入库

Guru**** 2563000 points
Other Parts Discussed in Thread: ADS1234, MSP430FR2355

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/725669/ccs-ads1234-do-prewritten-libraries-exist-for-this-part

器件型号:ADS1234
主题中讨论的其他器件: MSP430FR2355

工具/软件:Code Composer Studio

您好!

我想知道、对于 MSP430、Arduino 和其他微控制器、ADS1234是否存在库或示例代码。

谢谢、

David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    欢迎来到我们的 e2e 论坛。 没有我知道的针对 ADS1234编写的特定库。 您使用的是哪款处理器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tom、

    感谢您抽出时间回复消息。

    我将使用 teensy 3.2。

    戴维

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    ADS1234是一款引脚控制型器件、因此该器件没有要设置的寄存器或 MOSI 输入。 转换完成后、可以使用 GPIO 位 bang 方法或通过 tensy SPI 外设向 TX 缓冲区写入值来从器件为数据计时、该缓冲区会从微外设启动 SCLK。 数据将从 DOUT/DRDY 引脚发出。 在 SCLK 为低电平空闲、数据在 SCLK 的上升沿发生变化、在下降沿读取的情况下、应使用 SPI 模式1。

    DOUT/DRDY 引脚上的高电平到低电平转换完成转换。

    tensy 3.2上的 micro 不是 TI 产品、因此我无法为您提供有关如何设置器件或使用哪个连接的具体详细信息。

    此致、
    Bob B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bob、您好!

    感谢您的回答。
    如果我要转移到 MSP430、那是否只有我需要的任何示例代码?

    戴维
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    目前、我没有 ADS1234的任何特定示例代码、但是如果您告诉我哪个 MSP430可以快速地写入内容、 并不复杂。 您向 SPI TX 缓冲区写入3个字节、并从 RX 缓冲区读回3个字节。

    此致、
    Bob B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    我可以转移到 MSP430FR2355 LaunchPad 开发套件。
    感谢您的努力!

    戴维
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    我没有这个特定的 FR2355 LP、但代码应如附件所示。

    /* LaunchPad 端口的 SPI 配置*/
    WDTCTL = WDTPW|WDTHOLD; //停止看门狗计时器
    
    P4SEL0 |= BIT5 | BIT6 | BIT7; //将3-SPI 引脚设置为第二个功能
    
    UCB1CTLW0 |= UCSWRST; //**将状态机置于重置中**
    UCB1CTLW0 |= UCSYNC|UCMST|UCMSB; // 3引脚、8位 SPI 从器件
    //时钟极性高,MSB
    UCB1CTLW0 |= UCSSEL_SMCLK; // SMCLK
    UCB1BR0 = 0x01; ///2、fBitClock = fBRCLK/(UCBRx+1)。
    UCB1BR1 = 0; //
    UCB1MCTLW = 0; //无调制
    UCB1CTLW0 &=~UCSWRST; //**初始化 USCI 状态机**/*
    初始化结束*/
    
    带符号长整型结果= 0;
    //从 SPI 端口读取数据*/
    while (!(UCB1IFG&UCTXIFG));//确保当前没有任何内容在传输
    UCB1TXBUF = 0xff;//发送 NOP 以启动 SCLK
    while (UCB1TXIFG)!//等待直到所有数据被发送(接收)
    结果= UCB1RXBUF;//捕获接收缓冲区
    UCB1TXBUF = 0xff;//发送 NOP 来启动 SCLK
    while (!(UCB1IFG&UCRXIFG);//等待直到所有数据被发送(接收)
    结果=(结果< 0xCB1IFG&UCB1XIFG);//等待直到所有数据被发送(接收)
    //发送 NOP 以启动 SCLK
    while (!(UCB1IFG&UCRXIFG));//等待直到发送(接收)所有数据
    结果=(结果<< 8)| UCB1RXBUF;
    //正确地对二进制补码进行符号扩展/*
    if (结果& 0x800000)结果+= 0xFF000000;
    

    此致、

    Bob B