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/MSP430F67791A:EMDC 生成的代码不起作用

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/965877/ccs-msp430f67791a-emdc-generated-code-is-not-working

器件型号:MSP430F67791A

工具/软件:Code Composer Studio

尊敬的先生:

器件型号:MSP430F67791A。  
波特率:250kbps
代码:我自己从 EMDC 生成的代码(MSP430F67791A MCU 中不提供默认代码)
XTAL:32.768kHz 接口连接到 MSP430F67791A 的引脚1和引脚2
Compiller :CCS
我正在尝试从 EMDC 生成的代码中读取数据、但它无法正常工作。 我尝试调试模式、
已停止调试器 在 UCS 文件中的 XTAL 初始化行 (该图像的下方附件)
UART 代码在没有 EMDC 的情况下工作(仅 UART 代码)
默认 UART 代码(msp430f677xA_uscia0_UART_03.c)不起作用,但我更改了以下的 xtal 初始化。 那么 UART 工作正常。  
 P1DIR |= BIT2;              // ACLK 设置为引脚
 P1SEL0 |= BIT2;              // P1.2用于调试。
 //设置 LFXT1
   UCSCTL6 &=~(XT1OFF);          // XT1打开
   UCSCTL6 |= XCAP_3;            //内部负载电容
 
UCSCTL6 &=~(XT1DRIVE_3);        // XT1稳定,降低驱动强度
生成的 EMDC 代码在 XTAL 初始化部分停止、  
文件名:UCS.c
调试时、代码在循环下方停止。 如何更改此初始 化部件?
 while (HWREG8 (UCS_BASE + OFS_UCSCTL7_L)& DCOFFG)
  {
    //清除 OSC 标志
    HWREG8 (UCS_BASE + OFS_UCSCTL7_L)&=~(DCOFFG);

    //清除 OFIFG 故障标志
    HWREG8 (SFR_BASE + OFS_SFRIFG1)&=~OFIFG;
  }
 
 
我想从 EMDC 读取数据。 我正在使用这些命令(0x55、0xAA、0x07、0x04、0x02、 0x00、0x05、0x00、0x0B、0x00)通过 UART 发送并读取所有参数。
下面添加了我的 UART 工作代码和 EMDC 代码。 请测试并回复我。  
UART 代码
 
UCS 文件错误

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

    尊敬的 Siva E:

    >>调试器被停止 在 UCS 文件中的 XTAL 初始化行

    您能否检查您电路板上的晶体是否正常工作。

    您也可以找到这部分代码:此代码来自 MSP430F67791A 代码示例的 msp430f677xA_uscia0_UART_03.c。

       //循环直到 XT1故障标志被清除
       操作
       {
           UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);
           //清除 XT2、XT1、DCO 故障标志
           SFRIFG1 &=~OFIFG;                 //清除故障标志
       } while (SFRIFG1 & OFIFG);             //测试振荡器故障标志

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

    你好,李晓东

     MSP430F67791A 的 msp430f677xA_uscia0_UART_03.c 代码示例不起作用

    以下行用于我的代码不起作用的情况  

    //循环直到 XT1故障标志被清除
       操作
       {
           UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);
           //清除 XT2、XT1、DCO 故障标志
           SFRIFG1 &=~OFIFG;                 //清除故障标志
       } while (SFRIFG1 & OFIFG);             //测试振荡器故障标志

    但我使用了以下代码(下面附上的完整代码)这在 UART 通信中非常有效、波特率也是正确的。

    测试 ACLK 引脚是否为 ACLK - 32.768kHz  

    P1DIR |= BIT2;// ACLK 设置为引脚
    P1SEL0 |= BIT2;// P1.2用于调试。

    //设置 LFXT1
    UCSCTL6 &=~(XT1OFF);// XT1打开
    UCSCTL6 |= XCAP_3;//内部负载电容

    我的 xtal 电路工作正常、但您的示例代码和 xtal 故障标志代码不工作。 我的 UART 代码工作正常。 我的错在哪里?  

     请尽快答复。

    在外部 xtal (32.768kHz)图像之后、我的电路使用了引脚1和2 (MSP430F6

    随附了 here.e2e.ti.com/.../1641.UART-Code.txt 的完整 UART 代码

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

    你好、Siva E

    EMDC 生成的代码上有 XT 故障标志检查循环、但您的 UART 代码上没有 XT 故障标志检查循环。

    您已检查 EMDC 生成的代码上的2种 XT 故障标志检查循环。 但代码在两种 XT 故障标志检查循环的"while loop"或"do loop"上停止。  

    我计划找到一个 msp430f677xA 板、并使用32K 晶体在板上测试此部件代码。 这将需要一些时间。 我今天不在办公室、我将从明天开始做准备。

    如果有任何更新、我将向您提供反馈。

    谢谢!

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

    你好, 李晓东

    感谢您的宝贵答复。 我将等待您的回复。

    如何解决此外部晶体问题?

    请尽快发送。

    谢谢

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

    你好, 李晓东

    Auxvcc3引脚连接 o 电源。  XTAL 问题解决了。 现在运转良好。 但是

    我的主要问题是、

    我正在尝试从 EMDC 生成的代码中读取数据、但它无法正常工作。  

    器件型号: MSP430F67791A。  
    波特率:250kbps
    代码:我自己从 EMDC 生成的代码( MSP430F67791A MCU 中不提供默认代码)
    XTAL:32.768kHz,12pF 电容器接口连接 到 MSP430F67791A 的引脚1和引脚2
    Compiller :CCS
    我想从 EMDC 读取数据。 我正在使用这些命令(0x55、0xAA、0x07、0x04、0x02、 0x00、0x05、0x00、0x0B、0x00)通过 UART 逐一发送(UART 链工作正常)。 但不起作用。
    如何读取所有参数。 请回复我。  
    谢谢!