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/CC2640R2F:如何为 CC 2640R2F 设置 TX 功率

Guru**** 2541640 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/928828/ccs-cc2640r2f-how-to-set-tx-power-for-cc-2640r2f

器件型号:CC2640R2F

工具/软件:Code Composer Studio

Hi 支持:Ω

  请提问。

  为了方便测试、我想通过按,键设置 TX 功率

  例如,第一次按键时,我要将 DB 值设置为0,第二次按键时要设置为1

  我使用示例 广播设备项目。

  我可以确保每次按键时它都会运行到 SimpleBroadcaster _keyChangeHandler()函数中。

  无论我使用 HCI_EXT_SetTxPowerCmd (1)函数还是 GAPRole_SetParameter (GAPROLE_SCAN_RSP_DATA、sizeof (scanRspData)、scanRspData_1)函数、Log Display_print0 (dispHandle、0、 0、"KKK_END")在设置 dB 后无法打印。

   

  我的问题是如何为 CC 2640R2F 设置 TX 功率。

感谢您的日志

静态 uint8 scanRspData_1[]=

//完整名称
0x15、//此数据的长度
GAP_ADTYPE_LOCAL_NAME_COMPLETE、
"S"、
'I'、
'm'、
"P"、
'l'、
'e'、
'b'、
'l'、
'e'、
'b'、
'R'、
'O'、
'A'、
"D"、
'C'、
'A'、
"S"、
"T"、
'e'、
'R'、

// Tx 功率级别
0x02、//此数据的长度
GAP_ADTYPE_POWER_LEVEL、
1 // 0dBm
};


// GAP -扫描 RSP 数据(最大大小= 31字节)
静态 uint8 scanRspData_2[]=

//完整名称
0x15、//此数据的长度
GAP_ADTYPE_LOCAL_NAME_COMPLETE、
"S"、
'I'、
'm'、
"P"、
'l'、
'e'、
'b'、
'l'、
'e'、
'b'、
'R'、
'O'、
'A'、
"D"、
'C'、
'A'、
"S"、
"T"、
'e'、
'R'、

// Tx 功率级别
0x02、//此数据的长度
GAP_ADTYPE_POWER_LEVEL、
2 // 0dBm
};

静态空 SimpleBroadcaster _keyChangeHandler (uint8密钥)

if (键和键开关按键)

#if 1.
//HCI_EXT_SetTxPowerCmd (sTxPowerStatus_0_DBM);

如果(POWER_VALUE = 1)

Display_print0 (dispHandle、0、0、"KKK_1");

GAPRole_SetParameter (GAPROLE_SCAN_RSP_DATA、sizeof (scanRspData)、scanRspData_1);

如果(POWER_VALUE == 2)

Display_print0 (dispHandle、0、0、"KKK_2");

GAPRole_SetParameter (GAPROLE_SCAN_RSP_DATA、sizeof (scanRspData)、scanRspData_2);

如果(POWER_VALUE = 3)

Display_print0 (dispHandle、0、0、"KKK_2");

GAPRole_SetParameter (GAPROLE_SCAN_RSP_DATA、sizeof (scanRspData)、scanRspData_3);

POWER_VALUE ++;

如果(POWER_VALUE > 12)
POWER_VALUE = 0;

Display_print0 (dispHandle、0、0、"KKK_END");

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

    您好!  

    指派专家进行评论。  

    谢谢、  
    ELIN  

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

    您好!

    设置 Tx 功率的正确方法是使用 HCI_EXT_SetTxPowerCmd ()。 如果这会导致程序崩溃、我怀疑实施过程中存在一些错误。 您能否通过一些基本的调试步骤找出问题所在:

    -未打印下一条语句时会发生什么情况? 设备是否挂起?  它是否响应其他按钮按压操作?

    -如果您在调试会话发生之前运行调试会话,然后在调试会话上按 PAUSE,会发生什么情况? 调用堆栈的外观如何?

    此时,您还可以使用 ROV 来检查任务状态和堆栈。

    调试章节:

      

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

    您好!

    请参阅 HCI 文档如何设置 TX 功率。 您必须使用射频测试仪来验证是否设置了 TX 功率。 即使 TI 将指令放入了良好的措辞并不意味着它可以正常工作、因此您需要验证所有内容。

    此外,您还需要确保 每次按键时 SimpleBroadcaster _keyChangeHandler()都能正常工作。

    -kel