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.

[参考译文] MSP430F5419A:具有115200BAUD 速率和1MHz 频率的 MSP430F5419A UART 初始化

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/860276/msp430f5419a-msp430f5419a-uart-initialization-with-115200baud-rate-and-1mhz-frequency

器件型号:MSP430F5419A
主题中讨论的其他器件: MSP430F413UNIFLASH

您好,

  将 UART 的波特率从9600更改为115200时、频率为1MHz、这是一个问题  

我编写了以下代码  

UCA0CTL1 |= UCSWRST;  
UCA0CTL1 |= UCSSEL_2;

UCA0BR0 = 8;// 1MHz 115200  

UCA0BR1 = 0;// 1MHz 115200
// UCA1BR0 = 0;//1MHz 115200
// UCA1BR1 = 0;//1MHz 115200
UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16;//模块化 UCBRSx=0、UCBRFx=0、
UCA0CTL1 &=~UCSWRST;//**初始化 USCI 状态机**
__no_operation();
UCA0IE |= UCTXIE;
UCA0IE |= UCRXIE;

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

    您好、Shreya、

    有代码示例作为您的参考:

    http://dev.ti.com/tirex/explore/node?node=AIkG81o-cqX0JxhSbF2Dpg__IOGqZri__LATEST

    此致

    Johnson

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

    感谢您的响应、它工作正常。

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

    您好!

     当我使用 __bis_SR_register (LPM0_bits + GIE)时;对于使能中断,它没有从该行中退出。

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

    您好、Shreya、

    这个代码意味着进入 LPM0模式并启用中断、在执行这一行代码后、它将等待中断退出 LPM0模式。

    因此、如果没有发生任何中断、您将观察到不会从该行中退出。

    此致

    Johnson

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

    您好、Johnson、

     感谢您的回应、我将向您简要介绍我正在做什么、我们有一个 GSM 模块(SIM7600E)和控制器 MSP430F5419A、因此我将发送 AT 命令进行 TCP/IP 连接、 在我的代码中,作为响应缓冲区来获得 AT 命令的响应,现在我陷入了无法在代码的响应缓冲区中获得 AT 命令的响应的问题,但在命令的 H 项响应中,这是可以的,所以我认为在 Generate interrupt.so 中有一个问题 请检查。  

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

    您好、Shreya、

    您在下面创建的帖子似乎描述了与此帖子相同的问题、让我们在此帖子中讨论。

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/860412

    最好的农家

    Johnson

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

    您好、Johnson、

     您能不能解释一下您是如何计算 UCBRF 和 UCBRS 寄存器的值的、因为我正在尝试找出波特率115200和 freq=1MHz 的不同值

    N=SMCLK/波特率=1000000/115200=8.680

    UCBR=INT (N/16)=INT (8.680/16)=0

    UCBRF=INT ([(N/16)-INT (N/16)]×16)

           int ([(8.68/16)-INT (8.68/16)]*16])

           int ([(0.542)-INT (0.54表示0)]*16])

           int ([0.542]*16])

           内部(8.672)

            UCBRF=8

    UCBRS = N=(N-INT (N))的分数部分

    =(8.68-8)

    =0.68

    BT 分数部分 si

    UCBRS=0

    如果我错了、请纠正我的问题

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

    您好、Shreya、

    您可以在过采样模式下使用该公式。 相关信息可在用户指南中找到、随附了一些主要信息:

    为这三个寄存器(UCBR、UCBRF、UCBRS)获取最合适值的最有效方法是查找用户指南中提供的数据、如下所示:

    此致

    Johnson

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

    感谢您的支持。

    我尝试 了以下内容: Compiler/MSP430F413:频率设置为1MHz 

    但我无法获得1微秒的延迟。 计时器以10微秒的时间运行

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

    您好、Ilensys、

    该延迟时间不是10微秒、该参数表示 MCLK 的周期、因此您需要根据 MCLK 更改此参数。

    此致

    Johnson

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

    您好!

    感谢您的支持。  

    在我的项目中、我有一个开关。 当我按下开关时、PWM 速度应该增加到5级。 是否有任何针对此要求的基准。

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

    您好、Ilensys、

    我们没有可直接满足您要求的代码示例、但您只需要将端口中断代码和 PWM 代码组合在一起。

    请参阅以下代码示例、直接在端口 中断服务例程中修改 PWM 频率或占空比。

    http://dev.ti.com/tirex/explore/node?node=AC2IJa0WAdkKd2edtAfDSA__IOGqZri__LATEST

    http://dev.ti.com/tirex/explore/node?node=AA9LnIMUmkY.PGRLoThFKA__IOGqZri__LATEST

    此致

    Johnson

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

     尊敬的 Johnson:

    感谢你的建议。  

    我正在尝试去除 PIN 码。 我想将引脚状态(0/1)存储到我的变量中。 根据引脚状态、我需要实现我的逻辑。 您能帮我读取 GPIO 状态吗?

    当我按下按钮(P2.8)时、状态将从0更改为1。 我如何将该状态读取到变量中。

    此致、

    RG

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

    您好、Ilensys、

    如果要读取 GPIO 状态,可以使用以下代码将 GPIO 设置为输入:

    P2DIR &=~BIT7; //将 P2.7设置为输入方向
    

     

    然后、您可以读取 P2IN 寄存器以获取 P2.7的值

    此致

    Johnson

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

    您好!

    是否有任何外部中断服务参考。 此微控制器(MSP430F413)的 IAM 新增功能。 我正在尝试做、但无法得到准确的结果。 您能帮我吗

    当我按下按钮时、应该只启用中断。

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

    您好、Ilensys、

    此代码示例作为您的参考:

    /*-版权所有-、BSD_EX
    *版权所有(c) 2012、德州仪器(TI)公司
    *保留所有权利。
    *
    *
    只要
    符合以下条件*、允许以源代码和二进制形式重新分发和使用:
    *
    *源代码的重新分发必须保留上述版权
    声明*、此条件列表和以下免责声明。
    *
    ***二进制形式的再发行必须在
    
    *随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
    *
    ***未经
    
    事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
    *
    *本软件由版权所有者和贡献者"按原样"提供
    *、
    
    不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
    *贡献者都不对任何直接、间接、偶然、特殊、
    *模范、 或相应的损害(包括但不限于
    *采购替代产品或服务;丧失使用、数据或利润;
    *或业务中断)、但出于任何责任理论
    、*无论是在合同中、严格责任还是由于
    使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
    、*即使已获悉可能会发生此类损坏。
    *
    ***
    *
    * MSP430代码示例免责声明
    *
    * MSP430代码示例是自包含的低级程序
    ,通常*以
    高度*简明的方式演示单个外设功能或器件功能。 为此、代码可能依赖于器件的加电默认
    值*寄存器值和时钟配置等设置、
    并且在组合多个示例中的代码时必须*小心以避免潜在的副作用
    *。 另请参阅 www.ti.com/grace 了解 GUI、并参阅 www.ti.com/msp430ware
    *了解外设配置的 API 函数库方法。
    *
    *--/版权--*
    //*********
    // MSP430F552x 演示-来自 LPM4的 P1.1的软件端口中断服务,带
    // 内部上拉电阻使能
    //
    //说明:P1.1上的高"到"低转换将触发 P1_ISR、//
    切换 P1.0。 P1.1在内部使能上拉。 正常模式为
    // LPM4 ~ 0.1uA。 LPM4电流可在移除 LED、所有
    //未使用的 Px.x 配置为输出或输入被拉高或拉低时测量。
    // ACLK = n/a、MCLK = SMCLK =默认 DCO
    //
    MSP430F552x
    // --------
    // /|\| XIN|-
    // || |
    // -|RST XOUT|-
    // /|\| |
    // -o--|P1.1 P1.0|->LED
    // \|/////*********
    
    
    
    #include 
    
    int main (void)
    {
    WDTCTL = WDTPW + WDTHOLD; //停止看门狗计时器
    P1DIR |= BIT0; //将 P1.0设置为输出方向
    P1OUT |= BIT1; //将 P1.1设置为上拉电阻
    P1IES |= BIT1; // P1.1高/低边沿
    P1IFG &=~BIT1; // P1.1 IFG 清除
    P1IE |= BIT1; // P1.1中断被启用
    
    __bis_SR_register (LPM4_bits + GIE); //输入 LPM4 w/中断
    _no_operation (); //对于调试
    器}
    
    //端口1中断服务例程
    #if defined (__TI_Compiler_version__)|| defined (__IAR_systems_ICC__)
    #pragma vector=Port1_vector
    __interrupt void Port_1 (void)
    #Elif defined (__GNU__)
    void __attribute__(interrupt (port1_vector
    
    )#error!port 1_vector 1 (void)#else!)
    #endif
    {
    P1OUT ^= BIT0; // P1.0 =切换
    P1IFG &=~BIT1; // P1.1 IFG 已清除
    }
    
    
    

    此致

    Johnson

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

    感谢您的支持。

    我需要 Linux 的 CCS9.2安装过程。 您能帮我如何安装它吗?

    此致、

    RG

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

    您好、Ilensys、

    您可以在此链接中找到有关 CCS 安装的一些信息:

    http://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html

    此帖子最好仅讨论您标题中描述的问题。

    如果存在其他问题、您可以创建新帖子、以便用户可以更轻松地找到相关问题。

    此致

    Johnson

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

    您好!

    我正在尝试使用以下代码来理解中断概念。

    #include

    int main (空)

    WDTCTL = WDTPW + WDTHOLD;//停止 WDT
    FLL_CTL0 |= XCAP18PF;//为32k xtal 设置负载电容
    P5DIR |= 0x02;//将 P5.1设置为输出
    BTCTL = BTDIV + BT_fCLK2_DIV16;// ACLK/(256*16)
    IE2 |= BTIE;//启用 BT 中断

    _bis_SR_register (LPM3_bits + GIE);//输入 LPM3、启用中断

    //基本定时器中断服务例程
    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector=BASICTIME_VECTOR
    _interrupt void basic_timer_ISR (void)
    #Elif defined (_GNU_)
    void __attribute__((interrupt (BASICTIMER 矢量)) basic_timer_ISR (void)
    其他
    错误编译器不受支持!
    #endif

    P5OUT ^= 0x02;//切换 P5.1

    系统如何了解它是内部中断还是外部中断? 它将根据什么为中断提供服务?

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

    您好、

    此帖子最好讨论 UART 问题。

    如果存在其他问题、您可以创建新帖子、以便用户可以更轻松地找到相关问题。

    此致

    Johnson

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

    您好!

    IAM 在 MSP430F413微控制器上工作。 当 IAM 尝试将图像(十六进制)文件加载到微控制器时、会显示未定义的记录类型错误。 我 还尝试了 Uniflash 工具。 但也会看到相同的误差。 您能不能帮助我解决此错误的原因。

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

    您好、Ilensys、

    您可以创建一个新主题来讨论您的问题、以便社区中的人员可以一起参与讨论。

    此致

    Johnson