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.

[参考译文] MSP430G2202:使用 MSP430对 LMX2694进行编程

Guru**** 2387830 points
Other Parts Discussed in Thread: MSP-TS430PW28A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1130097/msp430g2202-programming-the-lmx2694-with-msp430

器件型号:MSP430G2202
主题中讨论的其他器件:MSP-TS430PW28A

大家好、

您能在下面为我们的客户提供帮助吗?

我不熟悉编程、认为我会向您寻求一些支持/建议。 我将 MSP430G2202IPW20与开发板 MSP-TS430PW28A 配合使用、尝试对您的 LMX2694 PLL 芯片进行编程。

我下载了 TICS PRO 并使用它将 LMX2694配置为我喜欢的方式、然后将需要写入所有寄存器的十六进制值导出、使其能够执行我想要的操作。  

我计划使用 SPI 接口;能否向我展示我需要采取哪些步骤将导出的十六进制值写入 LMX2694上的所有114寄存器? 我一直很难弄清楚如何利用现有资源来实现这一目的。 我只需要将十六进制值写入 PLL 上的寄存器、这就是全部。 我已下载 TI code composer。 谢谢!

此致、

Danilo

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

    您好 Danilo、

    从 MSP430的角度来看、您需要将自己的 SPI 驱动器写入目标器件。 不过、我不确定它是否适用于您所提到的程序。

    有关在 MSP430上使用 SPI 的资源、请参阅以下内容:  
    MSP Academy - SPI Concepts -还链接了一些其他有用的资源。  

    MSP430G2553标准 SPI 示例

    如果您对 LMx2694或其 TICS PRO SW 还有其他问题、我已将此帖子移至其所有者论坛以帮助您解决。  

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

    感谢您的帮助、我有一个后续问题。 抱歉、如果它看起来像一个愚蠢的问题:

    下面是用于初始化 GPIO 的代码部分:

    空 initGPIO()

    //LED
    P1OUT = 0x00;//针对 LED 和复位输出设置 P1
    P1DIR |= BIT0 + BIT5 + BIT6;

    //SPI 引脚
    P1SEL = BIT1 + BIT2 + BIT4;
    P1SEL2 = BIT1 + BIT2 + BIT4;

    //按钮启动传输
    P1DIR &=~(BIT3);
    P1OUT |= BIT3;// P1.3上拉
    P1REN |= BIT3;// P1.3上拉/下拉电阻使能
    P1IE |= BIT3;// P1.3中断被启用
    P1IES |= BIT3;// P1.3高/低边沿
    P1IFG &=~BIT3;// P1.3 IFG 被清零


    对于 P1OUT 和 P1DIR、假设"//LEDs"注释下的上述2行代码将整个端口1设置 为低电平(0V?)、我是否正确?  

    此外、"//SPI 引脚"下面的两行代码是否将 P1.0、P1.5和 P1.6设置为输出? 非常感谢!

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

    很抱歉、我在上面的评论中有一个拼写错误。 我想问:

    对于 P1OUT 和 P1DIR、在  将 P1.0、P1.5和 P1.6设置为输出时、如果"//LEDs"注释下的上述2行代码将整个端口1设置为低电平(0V?)、我是否正确?

    "//SPI 引脚"下面的两行代码在做什么? 它们是否将 P1.1、P1.2和 P1.4设置为在 SEL 和 SEL2寄存器中具有1s? 谢谢!

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

    尊敬的 Mike:

    只需使用"="、即可将整个寄存器(在本例中为端口)分配给右侧的值。 建议使用"|="设置  寄存器中的位,并使用"&&=~(x)"(其中 x 是您的位),以确保不会覆盖可能在代码中的其他区域设置的设置。  

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

    谢谢你 Jace!  

    只是为了确认我是否理解、这意味着以下几点:

    P1SEL = BIT1 + BIT2 + BIT4;
    P1SEL2 = BIT1 + BIT2 + BIT4;

    设置 P1.1SEL、P1.2SEL、P1.4SEL、P1.1SEL2、P1.2SEL2、 P1.4SEL2具有值1?  

    这是否等效于说:

    P1SEL = 00010110;

    P1SEL2 =00010110;?

    谢谢!

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

    正确

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

    感谢 Jace 迄今提供的所有帮助! 我还有一个问题、UCSSEL 寄存器为位7和位6提供了以下配置选项:

    USCI 时钟源选择。 这些位选择 BRCLK 源时钟
    在主模式下。 UCxCLK 始终用在从机模式中。
    00b =被保留
    01b = ACLK
    10b = SMCLK
    11b = SMCLK

    如果我需要 SMCLK、10或11是否适用于该 UCSSEL 寄存器的位7和位6? 两者之间有何差异、或者它们是否完全相同? 谢谢!

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

    尊敬的 Mike:

    它们是相同的。