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.

[参考译文] CC1352P7:CAN't Apply BLE channel number 39 (adv.) 或其他设备。 只有通道17的默认编号有效。

Guru**** 2419530 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1241632/cc1352p7-can-t-apply-ble-channel-number-39-adv-or-otheres-only-channel-17-default-number-is-works

器件型号:CC1352P7
主题中讨论的其他器件:SysConfig

当我使用以下代码应用 通过编辑.syscfg 文件创建的我自己的 BLE 通道代码时、这会导致挂起。

RF_cmdBle5GenericRx、RF_Blecmd5RadioSetup 和 RF_cmdFS 是由.syscfg edit 自动生成的代码。

/*初始化 BLE RF 驱动器*/
RF_Params rfParams;
rf_params_init (&rfParams);

rf_cmdBle5Genericrx.pParams->pRxQ =&dataQueue;
rf_cmdBle5Genericrx.pParams->bRepeat= 1;
rf_cmdBle5Genericrx.pParams->rxConfig.bAutoFlushCrcErr = 1;

rfHandle = rf_open (&rfObject、&rf_prop、(RF_RadioSetup*)&RF_cmdBle5RadioSetup、&rfParams);

RF_postCmd (rfHandle、(RF_Op*)和 RF_cmdfs、RF_PriorityNormal、NULL、0);

RF_EventMask TerminationReason = RF_runCmd (rfHandle、(RF_Op*)&RF_cmdBle5GenericRx、RF_PriorityNormal、&callback、RF_EventRxEntryDone);


但是、使用 SmartRF Studio7、BLE 通道更改可以顺利地运行。  

如何使用名为 rfDualModeRx 和 rfDualModeTx 的 CCS 示例项目来更改 BLE 通道?

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

    尊敬的 Inho:

    请不要直接对.syscfg 文件进行 EDID。

    如果要更改 SysConfig 生成的文件、请确保先禁用 SysConfig 生成。 请访问: https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_7_10_00_98/docs/ble5stack/ble_user_guide/html/sysconfig/sysconfig-disable.html#first-method-excluding-generated-files-from-building

    谢谢、

    M·H

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

    我没有直接编辑.syscfg 文件。  我使用 CCS 中包含的.syscfg 修改工具更改了.syscfg。
    当.syscfg 设置值为通道17 (即频率值为2440)时、我的代码效果很好、BLE RX 和 TX 代码都很好。
    但是、当我更改了任何其他17个通道值时、代码可以执行(不会挂起、返回完成代码)、但 BLE 数据包已发送或接收。(我使用 SmartRF Studio 检查 TX 或 RX BLE RF。)

    我仅使用此 UI 更改.syscfg 值。

    我是否能够获得合适的 BLE 通道来更改软件代码或更改顺序?  

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

    尊敬的 Inho:

    我想尝试重现您看到的内容。

    1.您使用的是哪个版本的 SimpleLink SDK?

    2.您在使用哪种 RTOS? TIRTOS7?

    3、您在使用哪种编译器? TI Clang 吗?

    4.您正在使用哪款 LaunchPad? CC1352P7-1?

    谢谢、

    M·H

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

    1.您使用的是哪个版本的 SimpleLink SDK?

    => simplelink_cc13xx_cc26xx_sdk_7_10_00_98

    2.您在使用哪种 RTOS? TIRTOS7?

    => TI RTOS7

    3、您在使用哪种编译器? TI Clang 吗?
    => TI CLANG

    4.您正在使用哪款 LaunchPad? CC1352P7-1?

    => CC1352P7-4

    在下面的步骤中、我可以重现问题。

    1.生成示例项目 rfPacketTx。  该工程默认使用 Sub1GHz 射频。

    2.在.syscfg 编辑 UI 中关闭专用(420-527MHz)并打开 BLE、1Mbps、LE1M、10dBm。

    3.将代码从 Sub1GHz 更改为 BLE。  编辑.syscfg 时使变量名称适合自动生成的源代码。

    4.编译和执行代码时、BLE 默认通道为17。 因此通道17运行良好。

    5.在.syscfg 文件中将 BLE 通道从17更改为39 (Adv 通道)。  更新.syscfg 并重新构建代码。

    6.使用通道39时可以重现此问题。 除 ch.17之外的任何其他通道编号都可能会重现此问题。

    不仅是示例 rfPacketTx、而且 rfPacketRx、rfDualModeRx/Tx 示例也有相同的问题。

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

    尊敬的 Inho:

    您可以向我发送您用于重现问题的应用文件(例如 rfPacketTx.c)吗?

    谢谢、

    M·H

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

    您好、Maire、

    请检查随附的整个项目 文件。  

    e2e.ti.com/.../rfPacketTx.zip

    该工程的基础是名为 rfPacketTX 的 CCS 示例工程。  

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

    尊敬的 Inho:

    感谢您发送编修。 我能够复制您看到的内容。 我想进一步了解发生了什么。 我会在星期一回复您、提供最新信息。

    谢谢、

    M·H

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

    尊敬的 Inho:

    我提交了一个错误请求单。

    同时、您是否可以禁止 SysConfig 生成 ti_turnace_config 并从 SmartRF Studio 导出设置?

    谢谢、

    M·H

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

    您好、Maire、

    我发现.syscfg 自动 生成的 代码使  RF_cmdBle5GenericRx.whitening.init 值错误。

    您可以   在 rfDiagnostics 示例项目中找到正确的 whitening.init 值。  选中 radio->builtin->radio.c: bleWhitening[][]]值。

    谢谢。

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

    尊敬的 Inho:

    谢谢你。 是的、我们发现了同样的问题。 解决方法是禁止 SysConfig 生成 ti_radio_config 文件、并将该行替换为:

    RF_cmdBle5AdvAux.whitening.init = 0x40 | BLE_CHANNEL;

    其中 BLE_CHANNEL 可以替换为要使用的通道号。

    我们将在下一个 SDK 版本中修复此问题。

    谢谢、

    M·H

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

    您好、Maire、

    什么是确切的 BLE_CHANNEL?   40? 或 0xB4 (即180十进制)。 .syscfg 自动生成。)?   

    我当前的 Ch:40设置如下。   运行良好、但与您建议的代码不同。

    RF_cmdBle5GenericRx.channel = 2480 - 2400 + 100;// 2480 - 2400 + 100;
    rf_cmdBle5Genericrx.whitening.bOverride = 1;
    RF_cmdBle5GenericRx.whitening.init = 0xE7 & 0x7F;//0xE7 & 0x7F;

    /*用于白化 BLE 通道0 - 39的初始值*/
    Static int16_t bleWhitening[40][2]={2402、0xE5}、{2404、0xC0}、{2406、 0xC1}、{2408、0xC2}、
    {2410、0xC3}、{2412、0xC4}、{2414、 0xC5}、{2416、0xC6}、
    {2418、0xC7}、{2420、0xC8}、{2422、 0xC9}、{2424、0xCA}、
    {2426、0xE6}、{2428、0xCB}、{2430、 0xCC}、{2432、0xCD}、
    {2434、0xCE}、{2436、0xCF}、{2438、 0xD0}、{2440、0xD1}、
    {2442、0xD2}、{2444、0xD3}、{2446、 0xD4}、{2448、0xD5}、
    {2450、0xD6}、{2452、0xD7}、{2454、 0xD8}、{2456、0xD9}、
    {2458、0xDA}、{2460、0xDB}、{2462、 0xDC}、{2464、0xDD}、
    {2466、0xDE}、{2468、0xDF}、{2470、 0xE0}、{2472、0xE1}、
    {2474、0xE2}、{2476、0xE3}、{2478、 0xE4}、 {2480、0xE7} };

    谢谢。

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

    尊敬的 Inho:

    您应使用十进制数、但请注意、BLE 通道的范围为0到39。 40不是有效通道。

    谢谢、

    M·H

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

    因此、如果您要使用通道39、请使用以下代码片段:

    RF_cmdBle5AdvAux.whitening.init = 0x40 | 39;

    谢谢、

    M·H