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/CC3100BOOST:FR5969

Guru**** 2393475 points
Other Parts Discussed in Thread: CC3100, MSP430F5529, CC3100SDK, MSP430FR6989, MSP-EXP430F5529LP, MSP-EXP430FR5969, MSP430FR5969

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/734322/ccs-cc3100boost-fr5969

器件型号:CC3100BOOST
主题中讨论的其他器件:CC3100MSP430F5529CC3100SDKMSPWAREMSP430FR5969MSP430FR6989MSP-EXP430F5529LPMSP-EXP430FR5969

工具/软件:Code Composer Studio

2年多来、我一直在使用 CC3100SDK_ 1.2.0和 MSP430F5529运行 CC3100。 我正在尝试升级到 CC3100SDK_ 1.3.0。

针对 MSP430F5529使用 CCS_8.2的 CC3100SDK_ 1.3.0 "电子邮件"示例工作正常。

 

CC3100SDK_ 1.3.0

CCS_8.2

编译器:TIv18.1.3.LTS

 

使用 CCS_8.2的 FR5959的非触控 CC3100SDK_1.3.0示例甚至都不会编译。 "Getting Started_With wlan_ap"和"Getting Started_With wlan_station"在第176和184行的 cli_uart.c 文件中都给出了相同的错误。

控制台错误提示 P4SEL 和 UCA1MCTL 未定义。

#ifdef _use_cli_

  P4SEL |= BIT5 + BIT4;              // P4.4、5 = USCI_A1 TXD/RXD *

 

  UCA1CTL1 |= UCSWRST;              //将状态机置于复位状态*/

  UCA1CTL0 = 0x00;

  UCA1CTL1 = UCSSEL_SMCLK + UCSWRST;//使用 SMCLK,保持复位*/

  UCA1BR0 = 0x2C;          // 25MHz/115200= 217.01 =0xD9 (请参阅用户指南)*/

  UCA1BR1 = 0x0A;          // 25MHz/9600 = 2604 =0xA2C (请参阅用户指南)*/

 

  UCA1MCTL = UCBRS_3 + UCBRF_0;      //调制 UCBRSx=3、UCBRFx=0 */

 

这是尝试编译时的控制台错误日志

 

****为项目 Getting Started_With wlan_ap-FR5969-modeTo FR6989构建配置调试****

 

"C:\\ti\\COM-JL柱-8-2-10-2-2018\\ccsv8\\utils\\bin\\gmake"-k -j 8 all -O

编译文件:"c:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c

调用:MSP430编译器

"c:/ti/Code-Com-Stud-8-2-10-2-2018/ccsv8/tools/compiler/ti-cgt-msp430_18.1.3.LTS/bin/cl430 -vmspx --data_model=restricted --use_hw_pix=F5 --include_path="C:/ti/Code-Com-Stud-8-2-10-2-2018/CCS-8-Workspace-10-2-2018/getting_started_with_wlan_ap-FR5969-modeTo FR6989"--include_path="C:/ti/Code-Com-Stud-8-2-10-2-2018/ccsv8/ccs_base/msp430/include /ti/CC3100SDK_1.3.0/cc3100-sdk/simplelink/include /ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430f5529lp --include_path="c:/ti/msp430/MSPWare_3_30_00_18/driverlib/driverlib/MSP430FR5xx_6xx /ti/CC3100SDK_1.3.0/cc3100-sdk/simplelink/source /ti/Code-Com-Stud-8-2-10-2-2018/ccsv8/tools/compiler/ti-cgt-msp430_18.1.3.LTS/include --include_premote_exite_ctrine_guie_ctrine_premote_ctrine_guie_guie_guie_guie_guie_es=/ti/CC3100SDK_1.3.0/cc3100-sdk/examples/common /ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp /ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c --exclus_exctrine_premote_ctrine_guie_premote_ctrine_ctrine_guie_guie_guide=-cn_guie_guide-ctrine_premote_pf-nate-ctrine_pf-nate-ctrine_guide-ctrine_pf-nate-guie_guie_pf-nate-guide_guie_guide_guide_guide=-cn_guid_guide-ctrine_guide_guide-ctrine_pf-nes=-cn_guide_guide_guide-

>>编译失败

CLI_UART/subdir_rules.mk:9:目标'CLI_UART/CLI_UART.obj'的配方失败

"C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c "、第176行:错误#20:标识符"P4SEL"未定义

"C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c、第184行:错误#20:标识符"UCA1MCTL"未定义

"C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c、第184行:错误#20:标识符"UCBRS_3"未定义

在编译"C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c "时检测到3个错误。

gmake:***[CLI_UART/CLI_UART.obj]错误1.

gmake:目标"全部"不会由于错误而重新生成。

 

****构建完成****

 

我希望您的"未触摸"示例能够正常工作。  

感谢你的帮助。

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

    对于 CC3100、我们的示例支持 F5529和 FR5969以及其他微控制器。 最后、FR5969的 Getting Started_With_WLAN_station 构建过程中不会出现任何问题。 但是、如果您尝试使用 FR5959进行构建、则可能必须根据 FR5959的存储器/寄存器映射与 FR5969的存储器/寄存器映射的不同而调整使用的某些寄存器。 您可以查看可在 cc3100-sdk/docs/simplelink_api/html/index.html 上找到的移植指南、了解移植到新器件的完整过程。

    您是否尝试移植到 FR5959、或者无法将 FR5969构建为目标?

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

    感谢 Raymond 的答复。

    我在原始文章中的拼写错误为 FR5959。

    我使用的是 CC3100SDK_1.3.0中包含的使用 FR5969的示例。 我从 CC3100SDK_1.3.0导入了整个项目 FR5969下的两个示例。 我在"属性"下检查、编译器显示它正在尝试为 FR5969编译。

    因此、CC3100SDK_1.3.0中包含的示例100%未涉及、甚至不会在我的 PC 上编译。

    同样、我的配置是:

    CC3100SDK_ 1.3.0

    CCS_8.2

    编译器:TIv18.1.3.LTS

    处理器:FR5969

     

    您的配置是否100%相同? 如果100%相同、为什么我会遇到编译错误、而您没有遇到? 该文档不指示任何其他 CCS_8.2设置要更改、因此表明发布的 TI 示例存在问题。

    1) 1)请确认您的配置与我的配置100%相同。

    2) 2)是否有任何其他需要更改的 CCS_8.2设置?

    3) 3)您关于如何先编译然后运行"预设 TI 示例"的建议。

     

    还感谢提供链接"cc3100-sdk/docs/simplelink_api/html/index.html"。 我无法通过多种途径找到这份文件。

    -转至 cc3100-sdk 页面、它未列在"Documents"下

    -在 TI 主页上的"Documents"…..search 下搜索时未找到任何结果

    1) 1)您能否提供有关您所讨论的查找此文档的确切页面或步骤的更多详细信息、因为它看起来非常有用。 谢谢

     

    我的最终目标是将 CC3100与带 LCD 显示屏的 FR6989微型器件配合使用、同时发送电子邮件。 我的产品中包含超过8、000行的 C 代码、通过广泛使用驱动程序库来使用 FR6989中的许多函数。 这一切都很完美。

     

    由于 FR6989没有在线示例、CC3100发送了"电子邮件"、因此我的计划是采取一些小的增量步骤。

     …1) F5529的 CC3100SDK_1.3.1 "电子邮件"示例...我认为这一切都很顺利

    步骤2)获取任何经过 CC3100SDK_1.3.1 TI 验证的 FR5969示例以使其正常工作……这是当前停止的步骤。 这也应该是一个显而易见的事实、因为 TI 应该已经确认这一点可以正常工作。

    Raymond 这是我们需要解决的第一个问题  

    步骤3)迁移 FR5969上经过验证的 SimpleLink 示例、以使其现在可以在 FR6989上运行;……这将证明 FR6989能够与 CC3100卡和 CC3100SDK_1.3.0配合使用

      我……FR6989应该可以与 CC3100配合使用...如果这是不可能的、请立即停止使用  

    步骤4)开始第3步工作后、现在从 F5529上的工作"电子邮件"示例复制关键文件、以便立即与 FR6989配合使用。  

    如果您能提供指向"FR6989与 CC3100一起发送电子邮件"工作示例的链接、我会很高兴、因为这样我就可以跳转到这个步骤了。

    在过去4年中、我在 TI 微控制器上运行了多个产品。 我确信、这项工作并不是那么困难、因此我非常感谢您的帮助。

     

    洛恩

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

    你(们)好,Ray

    今天、我将进一步分析使用 CC3100演示的预设 TI FR5969的问题

    3 CLI_UART.c 文件中的错误

    ***查看文件的顶部,它用于 F5529

    因此、TI 无法让这个预设演示正常工作。

     

    请为 FR5969发布更正后的文件、因为引脚和时钟与 F5529和 FR5969完全不同。

    谢谢

     

    "C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c "、第177行:错误#20:标识符"PJ4SEL"未定义

    "C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c、第185行:错误#20:标识符"UCA1MCTL"未定义

    "C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c、第185行:错误#20:标识符"UCBRS_3"未定义

    在编译"C:/ti/CC3100SDK_1.3.0/cc3100-sdk/platform/msp430fr5969lp/cli_uart.c "时检测到3个错误。

     

     

    * cli_uart.c - msp430f5529 launchpad 应用 UART 接口实现

     

     

    CLI_Configure (void)(配置(空))

    #ifdef _use_cli_

      P4SEL |= BIT5 + BIT4;              // P4.4、5 = USCI_A1 TXD/RXD *

     

     

      UCA1CTL1 |= UCSWRST;              //将状态机置于复位状态*/

      UCA1CTL0 = 0x00;

      UCA1CTL1 = UCSSEL_SMCLK + UCSWRST;//使用 SMCLK,保持复位*/

      UCA1BR0 = 0x2C;          // 25MHz/115200= 217.01 =0xD9 (请参阅用户指南)*/

      UCA1BR1 = 0x0A;          // 25MHz/9600 = 2604 =0xA2C (请参阅用户指南)*/

     

      UCA1MCTL = UCBRS_3 + UCBRF_0;      //调制 UCBRSx=3、UCBRFx=0 */

     

      UCA1CTL1 &=~UCSWRST;              //初始化 USCI 状态机*/

     

      /*在 UART 上禁用 RX 中断*/

      UCA1IFG &=~(UCRXIFG | UCRXIFG);

      UCA1IE &=~UCRXIE;

      rtos_mutex_create (&g_printLock);

    #endif

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

    您好、Lorne、

    最后、我再次确认 CC3100 SDK 中的 FR5969示例没有问题。

    正如您在帖子中指出的、您遇到的错误是由 CCS 编译 F5529专用的 CLI_UART.c 所致。 但是、当 CCS 导入工程时、它应从 cc3100-sdk/platform/msp430fr5969lp 目录中提取 cli_uart.c、并获取正确的 cli_uart.c 如果在导入项目时收到错误的 cli_uart.c 文件、可能发生了以下两种情况之一:

    导入工程时、.projectspec 文件 CCS 会查看已更改的工程。

    2.cc3100-sdk/platform/msp430fr5969lp 中的 cli_uart.c 文件已被 F5529覆盖。

    要在结束时修复此问题、您只需删除项目工作区中的 CLI_UART.c、并将其替换为正确的 CLI_UART.c 即可 如果您丢失了原始的 cli_uart.c、我已将其附加到此帖子。

    尝试一下、看看它是否修复了问题。

    此致、
    Michael

    /cfs-file/__key/communityserver-discussions-components-files/968/cli_5F00_uart.c

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

    非常感谢 Michael 的帮助。

    是的、我无法理解 CCS_8.2如何无法指向正确的文件或文件被覆盖。

    在尝试导入 FR5969的两个示例之前、我已成功导入并运行 F5529电子邮件示例、因此可能是因为这两个示例导致了 F5529 UART 的使用?

    好消息是、随附 FR5969 UART 后、两个 FR5969示例现在均按其应有的方式运行、并在 COM 端口上打印所有消息。

     

    接下来、我为 FR5969执行了"get_started_wlan_station"的"另存为"以创建 FR6989的基础。

    然后、我将 FR5969中的"lnk_msp430fr6989.cmd"更改为您看到的 FR6989。

    我还将目标配置更改为 FR6989。

     

    我仍在使用您发送给我的 FR5969 CLI_UART.c……希望它也适用于 FR6989

    相同的 FR 系列

    -使用相同的 FR5xxx/FR6xxx 驱动程序库

    - UART TX 和 RX 使用相同的引脚

     

    编译 clean……并运行…………但甚至不会显示横幅"Getting Started with station application - Version 1.3.0 (使用基站应用程序入门-版本1.3.0)"

     

    1) 1) FR6989 UART 是否需要进行其他更改? 如果是、您可以向我发送一个有效的 FR6989 CLI_UART。

    2) 2)我是否需要进行其他更改才能在 FR6989上运行"GET_started_wlan_station"?

    3) 3)您或其他用户能否向我发送指向在 FR6989上运行的 CC3100_SDK_1.3 WLAN_station 的链接? (我想到目前为止、一定有人已经解决了这个问题。)

    4) 4)返回到我的最终目标:您或其他一些用户能否向我发送指向 CC3100_SDK_1.3的链接、从而发送在 FR6989上运行的电子邮件

    ——我想必须有人这样做。

    -一旦我们将其投入使用、我将乐意发布一个工作示例、因为必须有许多其他设计人员具有相同的需求和问题。

     

    仍在尝试使用我的 FR6989工作中的产品添加"发送电子邮件"。 轻松实现超过10、000行的应用代码。 让 CC3100与 FR6989协同工作是一项真正的挑战。

     

    谢谢、

    洛恩

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

    我不熟悉 MSP430器件、只熟悉 CC3xxx Wi-Fi 器件。 因此、我无法帮助您准确修改从 FR5969到 FR6989所需的内容。

    除了 UART 更改之外、您还可能需要查看 SPI.c。 CC3100使用 SPI 接口与 MSP430进行通信、CC3100需要正确移植 SPI 接口才能正常运行。 您可能还需要调整一些其他事项、这些内容在我之前的一篇文章中提到的移植指南中进行了说明。

    除此之外、我无法提供有效的 FR6989电子邮件示例。 我建议您在 MSP430论坛中制作一个主题、询问他们需要更改哪些内容才能将在 FR5969上运行的程序移植到 FR6989。

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

    谢谢 Michael、

    到目前为止、我还无法成功使 CC3100与 FR6989 Launch Pad 配合使用
    -同样、我的终极目标是:将 CC3100 WiFi 添加到我的 FR6989产品中
    -难以置信 TI 或某些用户没有工作示例。
    -我相信很多人都非常感谢您发布了一封使用 CC3100 - FR6989的 WiFi 电子邮件

    CC3100_SDK_1.3.0、CCS_8.2.0、编译器 TIv18.1.3.LTS
    -完美地处理 F5529示例
    -我成功地将我的 F5529产品移植到了最新的 SDK、CCS 和编译器,与我的 F5529产品完美配合

    -完美地使用 FR5969示例
    -到目前为止、我无法成功将其移植到端口、以使 CC3100与 FR6989 Launch Pad 配合使用

    -我使用了 FR6989开箱即用示例(启动非常简单的应用程序),并尝试通过添加 FR5969示例中的文件将 CC3100 WiFi simplelink 添加到其中
    -如 SDK 下载文档中所述:CC3100_SDK 移植指南可在 cc3100-sdk/docs/simplelink_api/html/index.html 找到:
     -根据我创建了自己的 user.h 本地副本的说明(未链接到 CC3100_SDK 库、或者由于它是一个链接文件、它将更改基本文件并中断所有其他示例和项目)
     -我复制了原始 user.h 中的所有正文、但随后不得不更改副本以链接到1)板、2) CLI_UART、3) SPI 的新副本
     - UART 和 SPI 的引脚和实例对于每个 LaunchPad 都是不同的(请参阅下表)
     -我创建了 boardFR6989.C 和.h、cli_uartFR6989.c 和.h、spiFr6989.c 和.h
     -在这些文件中,我更改了引脚编号和中断矢量以匹配 FR6989

    -到目前为止:我有一个干净的编译器、它运行、我可以单步执行、通过观察寄存器可以看到它写入反向通道 UART 缓冲器、但反向通道 UART 上不显示字符、WiFi 不工作

    此帖子提供了指向 wiki 页面的链接、该页面为这些 LaunchPad 提供了有效的 UART。
    FR6989 UART 工作正常、代码编写和记录得很好
    https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/465550?help-MSP430FR6989-launchpad-deverlopment-UART
    http://processors.wiki.ti.com/index.php/MSP_UART

    myUART_05_example.zip …适用于 FR6989
    myUART_5529.zip myUART_5529.zip (MSP-EXP430F5529LP LaunchPad)
    myUART_5529.zip myUART_5969.zip (MSP-EXP430FR5969 LaunchPad)

    我的下一步是获取适用于 FR6989的有效 myUART_05_example.zip、现在尝试向其中添加 simplelink、因为至少反向通道 UART 已经证明可以正常工作。

    我将发布从 FR5969 CC3100示例…中修改的 cli_uartFR6989.c 代码、以防有人发现容易明显的错误

    -为便于其他用户使用、这是每个 CC3100 WiFi 引脚到相应 LaunchPad 引脚编号的映射
    -我使用了选项卡,所以我希望在发布后,它的格式仍然正常


    CC3100       CC3100       FR5969        FR6989        F5529
    升压器        左侧          左侧          左侧           
    包装                外行     外行     外行     外行

    VCC 3.3V         P1.1                3.3V                3.3V                3.3V 3.3V 3.3V
    未使用            P1.2                                                                
    UART1_TX       P1.3                P2.6 Rx           P4.3 Rx           P3.4 Rx
                                                   eUSI_A1          USCI_A0          USCI_A0
    UART1_RX       P1.4                P2.5 Tx            P4.2 Tx           P3.3 Tx
                                                   eUSI_A1          USCI_A0          USCI_A0
    NHIB                P1.5                P4.3                P3.2                P1.6
    未使用            P1.6                                                                
    SPI CLK           P1.7                P2.2                P1.4                P3.2
                                                   eUSCI_B0        eUSCI_B0        eUSCI_B0         
    未使用            P1.8                                                                
    未使用            P1.9                                                                
    未使用            P1.10
                                                                           
    CC3100       CC3100       FR5969        FR6989       F5529
    升压器        左侧          左侧          左侧           
    包装                内行         无收割台       内行         内行
    Pack                内行         无收割台       电路侧      电路侧
    5V                   P3.1                无插头       5V                    
    GND                P3.2                无接头       GND                 
    未使用            的 P3.3                                                                
    未使用            P3.4                                                                
    未使用            P3.5                                                                
    未使用            P3.6                                                                
    未使用            P3.7                                                                
    未使用            的 P3.8                                                                
    未使用            P3.9                                                                
    未使用            P3.10

    CC3100       CC3100        FR5969       FR6989        F5529
    升压器        右侧        右侧右侧        右侧右侧右侧右侧         
    打包                外行        外行        外行     外行
    GND                P2.1                GND                GND                GND GND GND
    IRQ                  P2.2                P1.2                P2.1                P2.0
    SPI CS            P2.3                P3.0                P1.5                P2.2
    未使用            的 P2.4                                                                
    nRST               P2.5                RST                 RST RST RST RST                  
    SPI_MOSI        P2.6                P1.6                P1.6                P3.0
                                                   eUSCI_B0        eUSCI_B0        eUSCI_B0
    SPI_MISO        P2.7                P1.7                P1.7 P3.1                
                                                   eUSCI_B0        eUSCI_B0        eUSCI_B0

    未使用            的 P2.8                                                                
    未使用            P2.9                                                                
    未使用            P2.10

    CC3100       CC3100       FR5969        FR6989       F5529
    升压器        右侧        右侧右侧        右侧右侧右侧右侧         
    包装                内行         无收割台       内行         内行
    Pack                内行         无收割台       电路侧      电路侧
    未使用            P4.1                                                                
    未使用            的 P4.2                                                                
    未使用            的 P4.3                                                                
    UART1_CTS     P4.4                无接头                   P3.6                P1.4
    UART1_RTS     P4.5                无接头                   P3.7                P1.3
    未使用            的 P4.6                                                                
    NWP_Log_TX  P4.7                无接头                   P1.3                P4.3
    NWP_Log_TX  P4.8                无接头                   P3.0                P4.0
    未使用            P4.9                                                                
    未使用            P4.10

    启动            焊盘                FR5969            FR6989       F5529
                                                                           
    Lnch Pad Bck-ch-UART Rx          P2.0                           P3.4                P4.4
                                                   eUSCI_A0                    USCI_A1          USCI_A1
    Lnch Pad Bck-ch-UART Tx          P2.1                           P3.5                P4.5
                                                   eUSCI_A0                    USCI_A1          USCI_A1
    Lnch Pad Bck-ch-UART RTS        P4.1                           P3.1                P6.7
    Lnch Pad Bck-ch-UART CTS        P4.0                           P3.0                P1.7


    //LH 10-11-2018这是我从 TI Michael Reymond 收到的用于回复我的帖子的 CLI-UART
    //我使用它作为基础来尝试为 FR6989创建工作版本
    //到目前为止,此代码编译干净、运行,但不会写入反向通道 COM 端口
    /*
     * cli_uart.c - msp430fr5969 launchpad 应用 UART 接口实现
     *


    //
    //
    //! \addtogroup cli_uart
    //! @{
    //
    //

    #include
    #include
    #include


    //FR5969使用 UCA0、但 FR6989使用 UCA1
    //#define UCA0_OS  1   //* 1 =过采样模式、0 =低频率模式*
    //#define UCA0_br0 17  // UCA0BR0寄存器的值*/
    //#define UCA0_BR1 0   // UCA0BR1寄存器的值*/
    //#define UCA0_BRS 0   // UCA0MCTL 寄存器中 UCBRS 域的值*/
    //#define UCA0_BRF 6   // UCA0MCTL 寄存器中 UCBRF 域的值*/

    #define UCA1_OS  1   /* 1 =过采样模式、0 =低频率模式*/
    #define UCA1_br0 17  /* UCA1BR0寄存器的值*///波特率为零
    #define UCA1_BR1 0   /* UCA1BR1寄存器的值*/ //波特率1
    #define UCA1_BRS 0   /* UCA1MCTL 寄存器中 UCBRS 域的值*/
    #define UCA1_BRF 6   /* UCA1MCTL 寄存器中 UCBRF 域的值*/

    #define ASCII_ENTER    0x0D

    //LH 10-16-2018添加了下一行内容、因为代码跳过该行、似乎未定义
    #define _use_cli_    1.

    #ifdef _use_cli_
    unsigned char * g_ucUARTBuffer;
    int cli_have _cmd = 0;
    #endif /*_use_cli_*/

    /*!
       \brief         应用 UART 中断处理程序

       \param[in]     无

       \不返回任何内容         

       注意

       警告
    *

    //TI 帮助发布 myUART_05-FR6989显示 P2.0 P2.1适用于 EUSCI_A0_BASE
     //查看 LaunchPad、发现它使用的是 P3.4和 P3.5、因此使用的是 EUSCI_A1
    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    //#pragma vector=USCI_A0_vector
    //_interrupt
    //#Elif defined (__GNU__)
    //__attribute__((中断(USCI_A0_Vector))
    //#endif
    //void UART_ISR (void)
    //{
    //   开关(__even _in_range (UCA0IV、0x08))
    //   {
    //       情况0:中断;                            //向量0 -无中断*/
    //       案例2:                                  //矢量2 - RXIFG */
    //#ifdef _use_cli_
    //           * g_ucUARTBuffer = UCA0RXBUF;
    //           if (* g_ucUARTBuffer == ASCII_ENTER)
    //           {
    //               cli_have _cmd = 1;
    //               * g_ucUARTBuffer = 0x00;
    //               __BIC_SR_REGISTER_ON_EXIT (LPM0_Bits);
    //           }
    //           g_ucUARTBuffer++;
    //#endif /*_use_cli_*
    //           __no_operation();
    //           中断;
    //       案例4:中断;                            //向量4 - TXIFG */
    //       默认:break;
    //   }
    //}

    //LH 10-16-2018将使用 A1矢量
    #pragma vector=USCI_A1_vector
    _interrupt
    #Elif defined (_GNU_)
    __attribute__((中断(USCI_A1_vector))
    #endif
    UART_ISR ()

       switch (__evo_in_range (UCA1IV、0x08))
       {
           情况0:中断;                            /*向量0 -无中断*/
           情况2:                                  /*向量2 - RXIFG */
    #ifdef _use_cli_
               *G_ucUARTBuffer = UCA1RXBUF;
               if (* g_ucUARTBuffer == ASCII_ENTER)
               {
                   cli_have _cmd = 1;
                   *G_ucUARTBuffer = 0x00;
                   _BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);
               }
               G_ucUARTBuffer++;
    #endif /*_use_cli_*/
               __no_operation()
               中断;
           情况4:中断;                            /*向量4 - TXIFG */
           默认值:break
       }


    内部
    cli_read (unsigned char * pBuff)

       if (pBuff =NULL)
           返回-1;

    #ifdef _use_cli_
       cli_have _cmd = 0;
       G_UARTBuffer = pBuff;
       //FR5969使用 UCA0、但 FR6989使用 UCA1
    //   UCA0IE |= UCRXIE;
       UCA1IE |= UCRXIE;

       _bis_SR_register (LPM0_bits + GIE);

       while (cli_have _cmd =0)
           ;
       //FR5969使用 UCA0、但 FR6989使用 UCA1
    //   UCA0IE &=~UCRXIE;
       UCA1IE &=~UCRXIE;
       return strlen((const char *)pBuff);
    #else /*_use_cli_*/
       返回0;
    #endif /*_use_cli_*/


    内部
    cli_Write (unsigned char * inBuff)

       if (inBuff =NULL)
           返回-1;

    #ifdef _use_cli_ //LH10-15-2018、它只是跳过这一步、所以请进行注释、因此在调用时必须执行代码
       unsigned short ret、usLength = strlen ((const char *) inBuff);
       RET = usLength;
       while (usLength)
       {
           //FR5969使用 UCA0、但 FR6989使用 UCA1
    //       while (!(UCA0IFG & UCTXIFG));
    //       UCA0TXBUF =*inBuff;
           while (!(UCA1IFG & UCTXIFG));
           UCA1TXBUF =*内 Buff;
           usLength --;
           inBuff++;
       }
       返回(int)转塔;
    //#else /*_use_cli_*/
    //   返回0;
    #endif /*_use_cli_*/


    无效
    CLI_Configure (void)(配置(空))

    #ifdef _use_cli_//LH 10-15-2018 5:23PM 主调用 config 时、它会跳过这一点、原因是什么? 因此、请注释掉 IF
       PM5CTL0 &=~LOCKLPM5;          /*禁用 GPIO 上电默认高阻抗模式
                                          激活先前配置的端口设置*/
    //FR5969 UART 引脚 P2.0 = Tx、P2.1 = RX
       //TI 帮助发布 myUART_05-FR6989显示 P2.0 P2.1适用于 EUSCI_A0_BASE
       //因此、让我尝试这些引脚、因为上面的中断矢量是针对 EUSCI_A0的
       //查看 LaunchPad、发现它使用的是 P3.4和 P3.5、因此使用的是 EUSCI_A1
    //   P2SEL1 |=  (BIT0 + BIT1);     // P2.0、1 = USCI_A0 TXD/RXD
    //                                      (在 P2.0和 P2.1上设置 UART 引脚)           */
    //   P2SEL0 &=  ~(BIT0 + BIT1);

    //   UCA0CTLW0 |= UCSWRST;          //将状态机置于复位状态*/
    //   UCA0CTL0 = 0x00;
    //
    //   UCA0CTLW0 = UCSSEL_SMCLK + UCSWRST;   //使用 SMCLK,保持复位*/
    //                                           /* 8MHz/115200 =0x45 (请参阅用户指南)*/
    //   UCA0BRW = 0x341;                       // 8MHz/9600 = 833 = 0x341 (请参阅用户指南)*/
    //
    //   UCA0MCTLW = 0;
    //
    //   UCA0CTLW0 &=~UCSWRST;                 //初始化 USCI 状态机*/

    //FR6989 UART 引脚 P3.4 = Tx、P3.5 = RX
       //TI 帮助发布 myUART_05-FR6989显示 P3.4 P3.5适用于 EUSCI_A1_BASE
       P3SEL1 |=  (BIT4 + BIT4);     /* P2.0、1 = USCI_A0 TXD/RXD
                                          (在 P2.0和 P2.1上设置 UART 引脚)           */
       P3SEL0 &=  ~(BIT4 + BIT5);

       UCA1CTLW0 |= UCSWRST;          /*将状态机置于复位状态*/
       UCA1CTL0 = 0x00;

       UCA1CTLW0 = UCSSEL_SMCLK + UCSWRST;   //使用 SMCLK,保持复位*/
                                               /* 8MHz/115200 =0x45 (请参阅用户指南)*/
       UCA1BRW = 0x341;                       // 8MHz/9600= 833 =0x341 (请参阅用户指南)*/

       UCA1MCTLW = 0;

       UCA1CTLW0 &=~UCSWRST;                 /*初始化 USCI 状态机*/

       /*在 UART 上禁用 RX 中断*/
       //FR5969使用 UCA0、但 FR6989使用 UCA1
    //   UCA0IFG &=~(UCRXIFG | UCRXIFG);
    //   UCA0IE &=~UCRXIE;
       UCA1IFG &=~(UCRXIFG | UCRXIFG);
       UCA1IE &=~UCRXIE;
    #endif /*_use_cli_*/


    洛恩