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.

[参考译文] CC2640R2F:更改波特率

Guru**** 2609895 points
Other Parts Discussed in Thread: CC2640R2F

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1267519/cc2640r2f-changing-baud-rate

器件型号:CC2640R2F

您好!

我尝试将芯片和主机之间通信的波特率从 115200 460800 因为我们在芯片上遇到了存储器溢出问题。

我的设置:

- Code Composer Studio 12.4.0

- simplelink_cc2640r2_sdk_4_40_00_10

- ble5_host_test_cc2640r2lp_app

- ble5_host_test_cc2640r2lp_stack_library

我找到以下文档 https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_6_40_00_13/docs/ble5stack/ble_user_guide/html/ble-stack-common/npi-index.html#id4

它规定要改变芯片的波特率、必须编辑 NPITask_Params_init()

 

根据相关文档、我更改芯片站点波特率的过程如下:

1、更改前面提到的功能 simplelink_cc2640r2_sdk_4_00_10/source/ti/ble5stack/npi/npied/npi_task.c src

2.重建 ble5_host_test_cc2640r2lp_stack_library 创建新问题、 ble5_host_test_cc2640r2lp_app

3.将结果转换为 输出 .bin 用于刷写

在主机站点(基于 OpenWRT Linux)上、我们使用 太米奥斯 用于打开 SerialPort 接口并设置波特率的库。

由于主站点停止从芯片接收数据、这无法按预期运行。

我有一些问题:

NPITask_Params_init似乎是一个已导出的函数、在使用 Code Composer Studio 时无法编辑/查看它、因此我不确定只需打开 npi_task.c 导入现有文件、并在编辑器外部进行编辑。

2.我在上面写的工作流程是否合理? 或者我漏掉了任何东西,编辑了错误的文件等。

3.还有什么其他可能导致问题的东西吗?我们非常确信 UART 接口能够处理460800波特。

如有任何帮助,将不胜感激。

此致、

达霍

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

    大家好、

    以下是您的器件和 SDK 的正确 BLE5-Stack 文档位置:

    https://dev.ti.com/tirex/explore/node?node=A__AORV2P9xKyaQCr.Dunw8Rg__com.ti.SIMPLELINK_CC2640R2_SDK__krol.2c__LATEST 
    https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_30_00_03/docs/ble5stack/ble_user_guide/html/ble-stack-common/npi-index.html 

    我参考    Task_Params_的是 v5.30 SDK、可以在 params.baudrate = NPI_BR;from NPITLUART_initializeTransport (#define NPI_UART_BR 115h)、但不能定位 NPIT_UART.200.  您是否考虑过升级 SDK 以进行进一步评估?  您是否能够测试不同/较低的波特率(例如19200或57600)、以确定 UART 波特率是否成功更改?  您是否能够使用示波器或逻辑分析仪监控 CC2640R2F UART TX 线路、从而进一步确定器件输出的实际波特率?

    此致、
    瑞安

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

    您好、Ryan、

    非常感谢您的回复!

    我的糟糕之处在于、我不知何故跳过了 NPI 文档中的行、 例如、hostTest 项目使用旧 NPI。

    这意味着我改变、、、、、 NPI/NPI/NPI-task.c src 是相当多的没用。

    我会尝试改变 #define NPI_UART_BR 看看这是不是有任何影响、我还将按照您的建议尝试更低的波特率。

    如果这样无效、我可以尝试更新 SDK。 遗憾的是、在不久的将来、我无法测量波特率输出。

    再次感谢! 我将在接下来的几天发布更新:)

    此致、

    达霍

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

    我更改了#define、实际上我几乎将源文件中的所有115200值更改为57600、例如
    - simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/boards/CC2640R2RC/CC2640R2rc.c
    - simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/npi/npi_tl_uart.h src
    -。。

     
    但仍然没有来自串行端口的响应。 我向 stty 确认 Linux 端口已正确设置为56700、情况就是如此。 我已检查固件校验和、因此我确定芯片已使用正确的.bin 文件进行刷写。

    我真的不知道为什么在不同的波特率下运行 ble5_host_test_cc2640r2lp_app 这么困难。
    也许我应该尝试使用 API 来改变应用代码中的波特率。

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

    sources\ti\ble5stack\NPI\NPI\R2RC\inc\npi_tl_uart.h 应该有所不同、但 在本示例中、source/ti/blestack/boards/CC2640R2RC/CC2640R2R2C.c 无关紧要 src。  您应该改用 SOURCE\ti\ble5stack\boards\CC2640R2_LAUNCHXL_CC2640R2_LAUNCHXL.c、因为默认情况下会引用 board.c -> cc2640r2lp_board.c。  在重新编程之前、请确保清理并完全重新构建您的项目。

    此致、
    瑞安

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

    您好、Ryan、

    首先非常感谢你的持续支持。

    今天、作为一个小实验、我将 SDK、stack_library 和应用程序中的所有115200值更改为56700。

    我在 Linux 上使用"find"命令执行此操作。

    然后、我清理了所有工程、确保仍然没有115200个值、并重新编译 stack_library 和 app 工程。

    然后我按照常规的程序:

    -将.out 文件转换为.bin

    -使用新的 ti .bin 文件重新编译器件固件

    -刷新设备上的新固件

    仍然是相同的问题、串行端口没有响应。

    "那你打算怎么办?" 例如、使用 code composer studio 时、我无法构建 SDK、仅能构建 stack_library 和 app。

    明天、我们将会尝试使用 TI launchpad 套件进一步调试。

    对于我可能会做错的任何其他想法、我们都会一如既往地赞赏。 当有新事情需要报告时、我会立即发布更新内容。

    此致、

    达霍

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

    完全重新生成是您完成的操作、即清理和重新生成堆栈和应用程序项目。  我确实建议您在 LaunchPad 和 BTool 上复制此行为、我将在最后尝试类似的操作。

    此致、
    瑞安

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

    在更改了 NPI/Transport /UART/npi_tl_uart.h 和 SOURCE\ti\ble5stack\boards\CC2640R2_LAUNCHXL_CC2640R2F 与 BTool 之间的 UART 波特率57600后、我能够确认 ble5_host_test 示例在运行。

    此致、
    瑞安

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

    您好、Ryan、

    感谢您的帮助。

    我还可以确认更改适用于 Launchpad。 但在我们的器件上、情况则有所不同、我们仍在尝试确定这是否为 Linux 或硬件问题。 谢谢您的参与、我认为进一步调试不在本主题的范围内、因此我接受您的回答。

    祝你度过美好的一周!

    达霍