<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://e2echina.ti.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zigbee 和 Thread 论坛 - 最近的话题</title><link>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum</link><description /><dc:language>zh-CN</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 09 May 2026 02:23:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum" /><item><title>CC2674P10: The CC2674P10's maximum communication distance is 20dBm.</title><link>https://e2echina.ti.com/thread/1072454?ContentTypeID=0</link><pubDate>Sat, 09 May 2026 02:23:54 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:5e23c444-0560-4173-a1f5-d2b6803d6273</guid><dc:creator>jun cao</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1072454?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1072454/cc2674p10-the-cc2674p10-s-maximum-communication-distance-is-20dbm/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2674P10" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2674P10&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hi everyone:&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;I purchased the CC2674P10 chip and designed a PCB development board (20dBm RF circuit). I compiled the firmware based on TI&amp;#39;s official ZNP example, then flashed the firmware to the development board. I connected the development board as a Zigbee adapter to Zigbee2MQTT, added a Zigbee device using Zigbee2MQTT, and then started testing the control distance.&lt;/p&gt;
&lt;p&gt;When the distance between the Zigbee device and the development board exceeds 200 meters, Zigbee2MQTT cannot control the Zigbee device.&lt;/p&gt;
&lt;p&gt;What is the maximum communication distance officially tested by TI?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P: 路由器无法入网</title><link>https://e2echina.ti.com/thread/1068984?ContentTypeID=0</link><pubDate>Fri, 17 Apr 2026 09:03:42 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:bdc8fb91-9e81-48ea-ac69-482acb37d559</guid><dc:creator>yizhe pang</dc:creator><slash:comments>7</slash:comments><comments>https://e2echina.ti.com/thread/1068984?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1068984/cc2652p/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com.cn/product/cn/CC1352P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC1352P&lt;/a&gt;, &lt;a href="https://www.ti.com.cn/tool/cn/SYSCONFIG" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SYSCONFIG&lt;/a&gt;, &lt;a href="https://www.ti.com.cn/tool/cn/Z-STACK" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;Z-STACK&lt;/a&gt;&lt;/p&gt;&lt;p&gt;在simplelink_cc13xx_cc26xx_sdk_8_32_00_07例程中的zc_light 和zr_light(CC2652P)。添加了和ESP的串口通信，，zigbee网络的数据通信，经检查：&lt;/p&gt;
&lt;p&gt;协调器和路由器的 EXT_PANID、信道（15）、PANID 配置一致&lt;br&gt;协调器已正常建网（打印 NETWORK OK）&lt;br&gt;路由器正常扫描、一直处于 &amp;ldquo;搜索网络&amp;rdquo; 状态，无报错&lt;br&gt;模块供电、串口、天线配置正常&lt;/p&gt;
&lt;p&gt;可能是什么问题导致&lt;/p&gt;
&lt;p&gt;建网时的RSSI&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/104/_4F53038C_.png" alt=" "&gt;&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/104/_EF8D3175_.png" width="689" height="102" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/104/0081._4F5C555E2A62FE56_-2026_2D00_04_2D00_17-083729.png" width="699" height="249" alt=" "&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2530: CC2530  P0_2 IO 口受干扰后，导致功耗超高</title><link>https://e2echina.ti.com/thread/1068669?ContentTypeID=0</link><pubDate>Thu, 16 Apr 2026 10:41:08 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:a134fbcd-0006-4532-9673-1748c2f98e3d</guid><dc:creator>Unknown Unknown23</dc:creator><slash:comments>10</slash:comments><comments>https://e2echina.ti.com/thread/1068669?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1068669/cc2530-cc2530-p0_2-io/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;您好！我们在一个项目发现同样配置，P0_2、P0_3都配置为输出0，这两个IO都没接任何外设，当P0_2口用镊子触碰就会导致功耗剧增，这时测量这脚电压为0.63V左右，同样方式触碰P0_3脚，就不会出现这问题，当出现这问题只能断电重启就才会恢复正常。请您们帮分析下会是什么问题，如何解决这问题，期待您们回复，感谢！&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P: 协调器建立网络，在有持续信道干扰的情况下，协调器会一直循环active Scan模式不退出。</title><link>https://e2echina.ti.com/thread/1063570?ContentTypeID=0</link><pubDate>Wed, 18 Mar 2026 15:06:06 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:cac488f5-c3c6-4cd3-b7a9-43e01784206a</guid><dc:creator>Aries Lord</dc:creator><slash:comments>5</slash:comments><comments>https://e2echina.ti.com/thread/1063570?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1063570/cc2652p-active-scan/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;/p&gt;&lt;p&gt;CC2652P设置为协调器，使用Zstackapi_bdbStartCommissioningReq函数，commissioning_mode设置为 BDB_COMMISSIONING_MODE_NWK_FORMATION，创建网络。&lt;/p&gt;
&lt;p&gt;使用Smart RF Studio连接一片CC2530，在2475MHz频率发出持续干扰信号，CC2652P不再触发zstackmsg_CmdIDs_BDB_NOTIFICATION消息。本来应该由协调器收到zstackmsg_CmdIDs_BDB_NOTIFICATION消息内容应该是BDB_COMMISSIONING_FORMATION=BDB_COMMISSIONING_FAILURE。&lt;/p&gt;
&lt;p&gt;进一步跟踪调试代码，在函数ZDApp_NetworkStartEvt中，程序一直在执行NLME_SetEnergyThreshold函数，同时跟踪mac_cb.c文件中对MAC_MLME_SCAN_CNF的处理，发现MAC_MLME_SCAN_CNF最开始只有1~2次ZMAC_ED_SCAN，以后就一直卡在ZMAC_ACTIVE_SCAN下不停循环。&lt;/p&gt;
&lt;p&gt;断开用于干扰的CC2530后，CC2652P建立网络成功。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P: Zigbee 中的ACK是否可以携带数据负载？</title><link>https://e2echina.ti.com/thread/1060934?ContentTypeID=0</link><pubDate>Sun, 01 Mar 2026 07:24:46 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:ca1b6bca-900d-4512-a1ee-bc88240519b9</guid><dc:creator>?? ?</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1060934?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1060934/cc2652p-zigbee-ack/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;大家好，我想知道CC2530接收到数据包后回复的ACK是不是固定的，不能携带数据负载？而比较新的Zigbee芯片如CC2652的ACK是不是可以携带数据负载？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P7: CC2652P7如何实现软件抓包</title><link>https://e2echina.ti.com/thread/1058100?ContentTypeID=0</link><pubDate>Thu, 12 Feb 2026 07:34:57 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:4a46ebf4-09c9-463a-9ffb-16fe15d81168</guid><dc:creator>shen fei</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1058100?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1058100/cc2652p7-cc2652p7/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P7" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P7&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Hi TI,&lt;/p&gt;
&lt;p&gt;我想要使用CC2652P7实现对环境内的zigbee数据进行抓包/解析/过滤/串口打印等功能，类似zigbee dongle+packet sniffer的功能。&lt;/p&gt;
&lt;p&gt;*我的ZigBee是非加密的方案！&lt;/p&gt;
&lt;p&gt;应用端实际想要实现的是：ZC直接通过抓包的方式来知晓周围设备的MAC/短地址/PANID等信息！&lt;/p&gt;
&lt;p&gt;是否有相关的demo可以实现？或者有可以实现让ZC获取环境中PANID/MAC等信息的API吗？&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: CC2340R5开发，若多个终端向协调器长时间发送数据会发生终端数据发送失败的情况</title><link>https://e2echina.ti.com/thread/1057324?ContentTypeID=0</link><pubDate>Fri, 06 Feb 2026 09:31:42 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:ee50de01-16da-4d4a-a043-6c2dc1d418f9</guid><dc:creator>xin li</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1057324?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1057324/cc2340r5-cc2340r5/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;使用cc2340R5进行zigbee开发，终端和协调器程序均修改自：simplelink_lowpower_f3_sdk_9_14_00_41----&amp;gt;examples----&amp;gt;nortos----&amp;gt;LP_EM_CC2340R5----&amp;gt;zigbee----&amp;gt;onoff_light例程&lt;/p&gt;
&lt;p&gt;设置信道为11，所有终端均可与协调器通信，且单对单通信时未发生断连；&lt;/p&gt;
&lt;p&gt;当1个协调器同时连接3个终端时，终端以每秒发送一次数据的频率给协调器发送32字节的zigbee数据，其中每个终端给协调器发送的数据在协调器所打印的数据中的位置都不一定，可能在前，也可能在后，但发送时间过长时，协调器不再打印其中某些终端的数据，需要终端重新上电才可重新连接并且发送数据。&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;请问是需要添加多设备管理吗？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: zigbee使用zcl多次发送固定数组数据后显示内存不足</title><link>https://e2echina.ti.com/thread/1054126?ContentTypeID=0</link><pubDate>Thu, 22 Jan 2026 05:21:10 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:fe52ad45-fef2-429a-aa1b-4bff88249f4b</guid><dc:creator>xin li</dc:creator><slash:comments>13</slash:comments><comments>https://e2echina.ti.com/thread/1054126?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1054126/cc2340r5-zigbee-zcl/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;如下方代码所示，先获取缓冲区，再使用zb_aps_send_user_payload()函数发送数据，发送完成或者失败后释放获得的缓冲区；&lt;/div&gt;
&lt;div&gt;但是我使用定时每秒发送一次数据时，大约20分钟后程序就会卡死，显示内存错误，必须重新上电才能继续运行，且程序正常运行时间不确定。请问这是什么问题，这个代码是使用TI提供的例程中nortos-&amp;gt;zigbee下面的onoff_light程序修改来的。望各位能够提供一点帮助，非常感谢。&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;zb_bufid_t param= zb_buf_get_out();&lt;/div&gt;
&lt;div&gt;获取成功再执行下方函数，&lt;/div&gt;
&lt;div&gt;zb_ret_t ret = zb_aps_send_user_payload(&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; param,&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; addr, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* dst_addr (协调器地址) */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x0104, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* profile id (自定义应用配置文件) */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; 0xf00d, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* cluster id (自定义集群ID) */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; ZB_OUTPUT_ENDPOINT, &amp;nbsp; &amp;nbsp; /* destination endpoint (协调器的端点5) */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; ZB_SWITCH_ENDPOINT, &amp;nbsp; &amp;nbsp; /* source endpoint (终端设备的端点10) */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; ZB_APS_ADDR_MODE_16_ENDP_PRESENT, /* address mode */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; ZB_TRUE, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* APS ACK enabled */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; data_array, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* payload pointer */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; data_size); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* size of payload */&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; if (ret != RET_OK) {&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uartPrintf(&amp;quot;Failed to send custom array, error code: %d\r\n&amp;quot;, ret);&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zb_buf_free(param); &amp;nbsp;/* 发送失败时释放缓冲区 */&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; } else {&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // 发送成功，立即释放缓冲区&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zb_buf_free(param);&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uartPrintf(&amp;quot;Custom array buffer freed after successful transmission\r\n&amp;quot;);&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;// &amp;nbsp; }&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2530: Reference source</title><link>https://e2echina.ti.com/thread/1039815?ContentTypeID=0</link><pubDate>Tue, 11 Nov 2025 11:19:48 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:7e79751a-c856-42e4-af2b-ba1a492a7380</guid><dc:creator>switch</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1039815?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1039815/cc2530-reference-source/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Hi ti team，&lt;/p&gt;
&lt;p&gt;The customer is using CC2350 in their new project, which is applied in cable power temperature measurement. Due to the small product size, it&amp;#39;s not possible to fit an LDO. Could you please confirm whether CC2350 can provide a stable 1.8V/3.3V power supply as an external reference source? The requirement is that the 1.8V/3.3V output of CC2350 has small and stable ripple.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2530：How to achieve high-frequency communication between the terminals and the coordinator</title><link>https://e2echina.ti.com/thread/1028364?ContentTypeID=0</link><pubDate>Wed, 24 Sep 2025 07:34:25 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:da7eeaad-4f3d-4fab-8c82-86de68e27c35</guid><dc:creator>Guangqi Li</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1028364?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1028364/cc2530-how-to-achieve-high-frequency-communication-between-the-terminals-and-the-coordinator/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com.cn/tool/cn/Z-STACK" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;Z-STACK&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As a novice user of the CC2530, I recently encountered a problem that I couldn&amp;#39;t solve; Firstly, I carried out the work based on three terminals and one coordinator（ZStack-2.5.1）. The aim was to achieve voltage acquisition at a rate of 30Hz or higher (at the terminals), and then send the data to the coordinator in a point-to-point manner. The coordinator would then print out the data via the serial port.&lt;/p&gt;
&lt;p&gt;Currently, the solution I am adopting is that the coordinator sends AD acquisition commands to the three terminals in a cyclic manner through point-to-point polling; after receiving the data returned by the current terminal, it then sends an AD acquisition command to the next terminal to have it upload the data; if I want to achieve a sampling rate of 30Hz, then the time for one polling cycle (polling the three terminals) by the coordinator needs to be 30ms; however, at present, the time for the coordinator to poll all three terminals is approximately 100ms (as shown in the figure1).&lt;/p&gt;
&lt;p&gt;I have tried many methods, including modifying the parameters in files such as f8wCoord.cfg, f8wConfig.cfg and f8wEndev.cfg&lt;span&gt;(as shown in the figure2,3,4)&lt;/span&gt;. Eventually, I could only increase the sampling rate to around 10Hz.Below, I have provided the core code for implementing this function.&lt;br&gt;I really need everyone&amp;#39;s help to solve this problem. If you could offer me some suggestions, I would be extremely grateful.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/_4F5C555E2A62FE56_-2025_2D00_09_2D00_24-152020.png" data-extentions-extra-ocr-id="6aae909b20d1c81a7e4364cf95d30553"&gt;&lt;img style="max-height:240px;max-width:320px;" alt="figure2" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/_4F5C555E2A62FE56_-2025_2D00_09_2D00_24-152343.png" data-extentions-extra-ocr-id="66c17c58d12eba23c517f9e624295e33"&gt;&lt;img style="max-height:240px;max-width:320px;" alt="figure3" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/_4F5C555E2A62FE56_-2025_2D00_09_2D00_24-152437.png" data-extentions-extra-ocr-id="6d59f188e0e451e52822640a90326f6e"&gt;&lt;img style="max-height:240px;max-width:320px;" alt="figure4" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/_4F5C555E2A62FE56_-2025_2D00_09_2D00_24-152446.png" data-extentions-extra-ocr-id="29a2fd33bc54da7b1958ff7131c5138c"&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/*********************************************************************
 * INCLUDES
 */

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;quot;AF.h&amp;quot;
#include &amp;quot;OnBoard.h&amp;quot;
#include &amp;quot;OSAL_Tasks.h&amp;quot;
#include &amp;quot;SampleApp.h&amp;quot;
#include &amp;quot;ZDApp.h&amp;quot;
#include &amp;quot;ZDObject.h&amp;quot;
#include &amp;quot;ZDProfile.h&amp;quot;

#include &amp;quot;hal_drivers.h&amp;quot;
#include &amp;quot;hal_key.h&amp;quot;
#if defined ( LCD_SUPPORTED )
  #include &amp;quot;hal_lcd.h&amp;quot;
#endif
#include &amp;quot;hal_led.h&amp;quot;
#include &amp;quot;hal_uart.h&amp;quot;
#include &amp;quot;hal_adc.h&amp;quot;
#include &amp;quot;OSAL_PwrMgr.h&amp;quot;


/*********************************************************************
 * MACROS
 */

/*********************************************************************
 * CONSTANTS
 */

#if !defined( SAMPLE_APP_PORT )
#define SAMPLE_APP_PORT  0
#endif

#if !defined( SAMPLE_APP_BAUD )
  #define SAMPLE_APP_BAUD  HAL_UART_BR_115200
#endif

// When the Rx buf space is less than this threshold, invoke the Rx callback.
#if !defined( SAMPLE_APP_THRESH )
#define SAMPLE_APP_THRESH  64
#endif

#if !defined( SAMPLE_APP_RX_SZ )
#define SAMPLE_APP_RX_SZ  128
#endif

#if !defined( SAMPLE_APP_TX_SZ )
#define SAMPLE_APP_TX_SZ  128
#endif

// Millisecs of idle time after a byte is received before invoking Rx callback.
#if !defined( SAMPLE_APP_IDLE )
#define SAMPLE_APP_IDLE  6
#endif

// Loopback Rx bytes to Tx for throughput testing.
#if !defined( SAMPLE_APP_LOOPBACK )
#define SAMPLE_APP_LOOPBACK  FALSE
#endif

// This is the max byte count per OTA message.
#if !defined( SAMPLE_APP_TX_MAX )
#define SAMPLE_APP_TX_MAX  80
#endif

#define SAMPLE_APP_RSP_CNT  4
#define ADC_CHANNEL_COUNT 5  // 采集5路AD

const uint8 adcChannels[ADC_CHANNEL_COUNT] = 
{
  HAL_ADC_CHANNEL_0,  // P0_0
  HAL_ADC_CHANNEL_4,  // P0_4
  HAL_ADC_CHANNEL_5,  // P0_5
  HAL_ADC_CHANNEL_6,  // P0_6
  HAL_ADC_CHANNEL_7   // P0_7
};

// This list should be filled with Application specific Cluster IDs.
const cId_t SampleApp_ClusterList[SAMPLE_MAX_CLUSTERS] =
{
  SAMPLEAPP_P2P_CLUSTERID,
  SAMPLEAPP_FLASH_CLUSTERID,
  SAMPLEAPP_ADDR_CLUSTERID
};

const SimpleDescriptionFormat_t SampleApp_SimpleDesc =
{
  SAMPLEAPP_ENDPOINT,              //  int   Endpoint;
  SAMPLEAPP_PROFID,                //  uint16 AppProfId[2];
  SAMPLEAPP_DEVICEID,              //  uint16 AppDeviceId[2];
  SAMPLEAPP_DEVICE_VERSION,        //  int   AppDevVer:4;
  SAMPLEAPP_FLAGS,                 //  int   AppFlags:4;
  SAMPLE_MAX_CLUSTERS,          //  byte  AppNumInClusters;
  (cId_t *)SampleApp_ClusterList,  //  byte *pAppInClusterList;
  SAMPLE_MAX_CLUSTERS,          //  byte  AppNumOutClusters;
  (cId_t *)SampleApp_ClusterList   //  byte *pAppOutClusterList;
};

endPointDesc_t SampleApp_epDesc =
{
  SAMPLEAPP_ENDPOINT,
 &amp;amp;SampleApp_TaskID,
  (SimpleDescriptionFormat_t *)&amp;amp;SampleApp_SimpleDesc,
  noLatencyReqs
};

/*********************************************************************
 * TYPEDEFS
 */

/*********************************************************************
 * GLOBAL VARIABLES
 */
devStates_t SampleApp_NwkState;   
uint8 SampleApp_TaskID;           // Task ID for internal task/event processing.
uint8 SampleApp_TransID;  // This is the unique message ID (counter)

/*********************************************************************
 * EXTERNAL VARIABLES
 */

/*********************************************************************
 * EXTERNAL FUNCTIONS
 */

/*********************************************************************
 * LOCAL VARIABLES
 */

static uint8 SampleApp_MsgID;

afAddrType_t SampleApp_Periodic_DstAddr; //广播
afAddrType_t SampleApp_Flash_DstAddr;    //组播
afAddrType_t SampleApp_P2P_DstAddr;      //点播


static afAddrType_t SampleApp_TxAddr;
static uint8 SampleApp_TxSeq;
static uint8 SampleApp_TxBuf[SAMPLE_APP_TX_MAX+1];
static uint8 SampleApp_TxLen;

static afAddrType_t SampleApp_RxAddr;
static uint8 SampleApp_RxSeq;
static uint8 SampleApp_RspBuf[SAMPLE_APP_RSP_CNT];

//重要,定时终端ID
//范围:1~MAX_DEVICE,不同的终端或者协调器，要修改此值
uint8 deviceId = 1;
DEVICES mDevice[MAX_DEVICE];

/*********************************************************************
 * LOCAL FUNCTIONS
 */

static void SampleApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt );
void SampleApp_CallBack(uint8 port, uint8 event); 
static void SampleApp_Send_ADC_Message( void );
static void floatToStr(float vol, char *result, int maxLen);
static void reverse(char *str, int len);
static void intToStr(int num, char *str, int *index);
void SendMsgToShortAddr(uint8* buff, uint8 len, uint16 addr);
void SendShortAddrToCoor();
void SendAckToCoordinator(void);


#define SAMPLEAPP_CMD_TRIGGER_ADC 0x01  // 触发ADC采集的指令
#define SAMPLEAPP_COORDINATOR 0x0000    // 协调器短地址
#define MAX_CONNECTED_DEVICES 10        // 最大连接设备数
#define CMD_SEND_INTERVAL 5             // 指令发送间隔(ms)
#define RESPONSE_TIMEOUT_MS 1000         // 响应超时时间(ms)


static uint8 connectedDevices[MAX_CONNECTED_DEVICES];  // 存储已连接设备ID
static uint8 deviceCount = 0;                          // 已连接设备数量
static uint8 currentDeviceIndex = 0;                   // 当前轮询的设备索引
static uint8 isCoordinator = FALSE;                    // 是否为协调器
//static uint8 ADsuccess = 0;                    // 是否为协调器
static uint8 isWaitingForResponse = FALSE;             // 新增：是否在等待终端响应
static uint16 currentTargetAddr = 0;                   // 当前发送目标地址

/*********************************************************************
 * @fn      SampleApp_Init
 *
 * @brief   This is called during OSAL tasks&amp;#39; initialization.
 *
 * @param   task_id - the Task ID assigned by OSAL.
 *
 * @return  none
 */
void SampleApp_Init( uint8 task_id )
{
  halUARTCfg_t uartConfig;

  SampleApp_TaskID = task_id;
  SampleApp_RxSeq = 0xC3;
  SampleApp_NwkState = DEV_INIT; 
  SampleApp_TransID = 0;

  MT_UartInit();                  //串口初始化
  MT_UartRegisterTaskID(task_id); //注册串口任务
  afRegister( (endPointDesc_t *)&amp;amp;SampleApp_epDesc );
  RegisterForKeys( task_id );
  osal_pwrmgr_device(PWRMGR_ALWAYS_ON); 
  
    for(uint8 i=0; i&amp;lt;MAX_DEVICE; i++)
  {
    mDevice[i].id=i+1;//1~MAX_DEVICE
    mDevice[i].shortAddr=0;//短地址清0
  }  

 // 初始化已连接设备列表
  memset(connectedDevices, 0, sizeof(connectedDevices));
  deviceCount = 0;
  currentDeviceIndex = 0;
  
  SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;//广播
  SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
  SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;

  // Setup for the flash command&amp;#39;s destination address - Group 1
  SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;//组播
  SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
  SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;
  
  SampleApp_P2P_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //点播 
  SampleApp_P2P_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; 
  SampleApp_P2P_DstAddr.addr.shortAddr = 0x0000;            //发给协调器

  
}

/*********************************************************************
 * @fn      SampleApp_ProcessEvent
 *
 * @brief   Generic Application Task event processor.
 *
 * @param   task_id  - The OSAL assigned task ID.
 * @param   events   - Bit map of events to process.
 *
 * @return  Event flags of all unprocessed events.
 */
UINT16 SampleApp_ProcessEvent( uint8 task_id, UINT16 events )
{
  (void)task_id;  // Intentionally unreferenced parameter
 
  
  if ( events &amp;amp; SYS_EVENT_MSG )
  {
    afIncomingMSGPacket_t *MSGpkt;

    while ( (MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID )) )
    {
      switch ( MSGpkt-&amp;gt;hdr.event )
      {
      case AF_INCOMING_MSG_CMD:
        SampleApp_ProcessMSGCmd( MSGpkt );
        break;
        
      case ZDO_STATE_CHANGE:
        SampleApp_NwkState = (devStates_t)(MSGpkt-&amp;gt;hdr.status);
        if (SampleApp_NwkState == DEV_ZB_COORD)
        {
            // 标识当前设备为协调器
            isCoordinator = TRUE;
            HalUARTWrite(0, &amp;quot;Coordinator started\r\n&amp;quot;, 20);
            
            // 启动设备轮询定时器
            osal_start_timerEx( SampleApp_TaskID,
                             SAMPLEAPP_POLL_DEVICES_EVT,
                              CMD_SEND_INTERVAL );
        }
        else if ((SampleApp_NwkState == DEV_ROUTER) || 
                 (SampleApp_NwkState == DEV_END_DEVICE))
        {
            // 终端设备入网后发送自身ID给协调器
            SendShortAddrToCoor();
            osal_pwrmgr_device(PWRMGR_ALWAYS_ON);
        }
        else
        {
        }
        break;


      default:
        break;
      }

      osal_msg_deallocate( (uint8 *)MSGpkt );
    }

    return ( events ^ SYS_EVENT_MSG );
  }

  // 协调器轮询设备事件
  if ( events &amp;amp; SAMPLEAPP_POLL_DEVICES_EVT &amp;amp;&amp;amp; isCoordinator )
  {
    if (deviceCount &amp;gt; 0 &amp;amp;&amp;amp; !isWaitingForResponse)
    //if (deviceCount &amp;gt; 0 )
    {
      // 发送ADC采集指令给当前设备
      uint8 cmd = SAMPLEAPP_CMD_TRIGGER_ADC;
      uint16 targetAddr = 0;
      //ADsuccess = 0;
      
      // 查找当前设备的短地址
      for(uint8 i=0; i&amp;lt;MAX_DEVICE; i++)
      {
        if(mDevice[i].id == connectedDevices[currentDeviceIndex])
        {
          targetAddr = mDevice[i].shortAddr;
          break;
        }
      }
      
      // 发送指令
      if(targetAddr != 0)
      {
        char log[32];
        char send[] = &amp;quot;sended\r\n&amp;quot;;
        sprintf(log, &amp;quot;Sending ADC cmd to device %d\r\n&amp;quot;, connectedDevices[currentDeviceIndex]);
        HalUARTWrite(0, log, strlen(log));
        SendMsgToShortAddr(&amp;amp;cmd, 1, targetAddr);
        //HalUARTWrite(0, send, strlen(send));
        isWaitingForResponse = TRUE;  // 标记为等待响应状态
        currentTargetAddr = targetAddr;  // 保存当前目标地址
        
        // 启动响应超时定时器
        osal_start_timerEx(SampleApp_TaskID, SAMPLEAPP_RESPONSE_TIMEOUT_EVT, RESPONSE_TIMEOUT_MS);
      }
      
      // 更新索引，循环轮询
     currentDeviceIndex = (currentDeviceIndex + 1) % deviceCount;
    }
    
    // 重新启动定时器
      osal_start_timerEx( SampleApp_TaskID,
                       SAMPLEAPP_POLL_DEVICES_EVT,
                       CMD_SEND_INTERVAL );
    
    return (events ^ SAMPLEAPP_POLL_DEVICES_EVT);
  }
  
  // 触发下一个设备轮询
  //if (events &amp;amp; SAMPLEAPP_NEXT_DEVICE_EVT &amp;amp;&amp;amp; isCoordinator)
  //{
    // 切换到下一个设备
    //currentDeviceIndex = (currentDeviceIndex + 1) % deviceCount;
    // 触发下一次轮询
    //osal_start_timerEx(SampleApp_TaskID, SAMPLEAPP_POLL_DEVICES_EVT, 5);  // 短延迟后轮询下一个
    //return (events ^ SAMPLEAPP_NEXT_DEVICE_EVT);
  //}

  // 响应超时事件处理
  if (events &amp;amp; SAMPLEAPP_RESPONSE_TIMEOUT_EVT &amp;amp;&amp;amp; isCoordinator)
  {
    if (isWaitingForResponse)
    {
      // 超时处理
      char log[64];
      sprintf(log, &amp;quot;Response timeout from device at address 0x%X\r\n&amp;quot;, currentTargetAddr);
      HalUARTWrite(0, log, strlen(log));
      
      // 重置等待状态，继续轮询
      isWaitingForResponse = FALSE;
      currentTargetAddr = 0;
      
      // 继续轮询下一个设备
      currentDeviceIndex = (currentDeviceIndex + 1) % deviceCount;
    }
    
    return (events ^ SAMPLEAPP_RESPONSE_TIMEOUT_EVT);
  }

  return ( 0 );  // Discard unknown events.
}

/*********************************************************************
 * @fn      SerialApp_ProcessMSGCmd
 *
 * @brief   Data message processor callback. This function processes
 *          any incoming data - probably from other devices. Based
 *          on the cluster ID, perform the intended action.
 *
 * @param   pkt - pointer to the incoming message packet
 *
 * @return  TRUE if the &amp;#39;pkt&amp;#39; parameter is being used and will be freed later,
 *          FALSE otherwise.
 */
void SampleApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt )
{
  uint8 buff[64]={0};
  char addrBuf[6] = {0};

  switch ( pkt-&amp;gt;clusterId )
  {
    case SAMPLEAPP_P2P_CLUSTERID: 
      {
        // 协调器接收终端发送的ADC数据
        if(isCoordinator)
        {
          uint16 srcShortAddr = pkt-&amp;gt;srcAddr.addr.shortAddr;
          sprintf(addrBuf, &amp;quot;0x%X&amp;quot;, srcShortAddr);

          HalUARTWrite(0, &amp;quot;Received data from &amp;quot;, 18);
          HalUARTWrite(0, addrBuf, osal_strlen(addrBuf));
          HalUARTWrite(0, &amp;quot;: &amp;quot;, 2);
          HalUARTWrite(0, pkt-&amp;gt;cmd.Data, pkt-&amp;gt;cmd.DataLength);
          HalUARTWrite(0, &amp;quot;\r\n&amp;quot;, 2);
         
          // 取消超时定时器
          osal_stop_timerEx(SampleApp_TaskID, SAMPLEAPP_RESPONSE_TIMEOUT_EVT);
          isWaitingForResponse = FALSE;
          currentTargetAddr = 0;
          //osal_start_timerEx(SampleApp_TaskID, SAMPLEAPP_NEXT_DEVICE_EVT, 5);  // 短延迟后处理下一个
        }
      }
      break;

    case SAMPLEAPP_FLASH_CLUSTERID:
      // 终端接收协调器的ADC采集指令
      if(pkt-&amp;gt;cmd.Data[0] == SAMPLEAPP_CMD_TRIGGER_ADC)
      {
        SendAckToCoordinator();
        // 执行ADC采集并发送给协调器
        SampleApp_Send_ADC_Message();
      }
      break;
    
    case SAMPLEAPP_ADDR_CLUSTERID:
      // 协调器处理终端发送的ID和地址信息
      if(isCoordinator)
      {
        uint8 deviceId = pkt-&amp;gt;cmd.Data[0];
        uint16 shortAddr = BUILD_UINT16(pkt-&amp;gt;cmd.Data[1], pkt-&amp;gt;cmd.Data[2]);
        
        // 存储设备信息
        for(uint8 i=0; i&amp;lt;MAX_DEVICE; i++)
        {
          if(mDevice[i].id == deviceId)
          {
            mDevice[i].shortAddr = shortAddr;
            
            // 如果是新设备，添加到已连接设备列表
            bool isNewDevice = TRUE;
            for(uint8 j=0; j&amp;lt;deviceCount; j++)
            {
              if(connectedDevices[j] == deviceId)
              {
                isNewDevice = FALSE;
                break;
              }
            }
            
            if(isNewDevice &amp;amp;&amp;amp; deviceCount &amp;lt; MAX_CONNECTED_DEVICES)
            {
              connectedDevices[deviceCount++] = deviceId;
              char log[32];
              sprintf(log, &amp;quot;New device connected: %d\r\n&amp;quot;, deviceId);
              HalUARTWrite(0, log, strlen(log));
            }
            break;
          }
        }
      }
      break;
      
          // 新增：处理终端发送的确认消息
    case SAMPLEAPP_ACK_CLUSTERID:
      if(isCoordinator)
      {
        uint16 srcShortAddr = pkt-&amp;gt;srcAddr.addr.shortAddr;
        sprintf(addrBuf, &amp;quot;0x%X&amp;quot;, srcShortAddr);
        HalUARTWrite(0, &amp;quot;Received ACK from &amp;quot;, 17);
        HalUARTWrite(0, addrBuf, osal_strlen(addrBuf));
        HalUARTWrite(0, &amp;quot;\r\n&amp;quot;, 2);
      }
      break;

    default:
      break;
  }
}


/*********************************************************************
 * @fn      SampleApp_CallBack
 *
 * @brief   Send data OTA.
 *
 * @param   port - UART port.
 * @param   event - the UART port event flag.
 *
 * @return  none
 */
void SampleApp_CallBack(uint8 port, uint8 event)
{
  (void)port;

  if ((event &amp;amp; (HAL_UART_RX_FULL | HAL_UART_RX_ABOUT_FULL | HAL_UART_RX_TIMEOUT)) &amp;amp;&amp;amp;
#if SAMPLE_APP_LOOPBACK
      (SampleApp_TxLen &amp;lt; SAMPLE_APP_TX_MAX))
#else
      !SampleApp_TxLen)
#endif
  {
    SampleApp_TxLen += HalUARTRead(SAMPLE_APP_PORT, SampleApp_TxBuf+SampleApp_TxLen+1,
                                                      SAMPLE_APP_TX_MAX-SampleApp_TxLen);
  }
}


/*********************************************************************
*********************************************************************/

/*********************************************************************
 * @fn      SampleApp_Send_ADC_Message
 *
 * @brief   point to point.
 *
 * @param   none
 *
 * @return  none
 */
void SampleApp_Send_ADC_Message( void )
{
  byte str_adc[64]={0};
  //char *str_adc = &amp;quot;V:&amp;quot;;
  float voltages[ADC_CHANNEL_COUNT] = {0.0};  // 存储各通道电压
  uint16 adcValues[ADC_CHANNEL_COUNT] = {0}; // 存储各通道原始值 
  byte len=19;
  //osal_memset(str_adc, &amp;#39; &amp;#39;, 63);
  
  for (uint8 i = 0; i &amp;lt; ADC_CHANNEL_COUNT; i++) 
  {
    // 读取ADC值（参考电压使用AVDD，即3.3V）
    char str_vol[20] = {0};
    adcValues[i] = HalAdcRead(adcChannels[i], HAL_ADC_RESOLUTION_14);
    if(adcValues[i]&amp;gt;=8192)
    {
      sprintf(str_adc,&amp;quot;error\r\n&amp;quot;);
    }
    else
    {// 计算电压（14位ADC，最大值8192）
      voltages[i] = (float)(adcValues[i] * 3.3)/ 8192.0;
      floatToStr(voltages[i], str_vol, sizeof(str_vol));
      strcat(str_vol,&amp;quot;\r\n&amp;quot;);
      strcat(str_adc, str_vol);
      //str_adc = concatDynamic(str_adc, str_vol);
    }
  }


  //for (uint8_t i = 0; i &amp;lt; ADC_CHANNEL_COUNT; i++) 
  //{
    // 格式化当前通道数据并追加到字符串
    // 格式：&amp;quot;Vx:1.234 &amp;quot;（x为通道号，保留3位小数）
    //strLen += sprintf(&amp;amp;str_adc[strLen], &amp;quot;V%d:%.3f &amp;quot;, 
    //                 (adcChannels[i] + 1),  // 通道号从1开始显示
      //               voltages[i]);
  //}

  //
  len=osal_strlen(str_adc);//计算长度
  
  // 确保数据发送给协调器
  SampleApp_P2P_DstAddr.addr.shortAddr = SAMPLEAPP_COORDINATOR;

  if ( AF_DataRequest( &amp;amp;SampleApp_P2P_DstAddr, &amp;amp;SampleApp_epDesc,
                       SAMPLEAPP_P2P_CLUSTERID,
                       len,
                       str_adc,
                       &amp;amp;SampleApp_MsgID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
  {
   // free(str_adc);  
  }
  else
  {
   //free(str_adc);  // Error occurred in request to send.
  }
}

void SendShortAddrToCoor()
{
    char buff[5]={0};
    afAddrType_t DstAddr;
    uint16 addr=NLME_GetShortAddr();


    //点播,协调器的短地址为0
    DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
    DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
    DstAddr.addr.shortAddr = 0x0;

    //填发送的数据
    buff[0]=deviceId;//第一个字节，终端编号
    buff[1]=LO_UINT16(addr);//第二个字节，终端短地址低字节
    buff[2]=HI_UINT16(addr);//第三个字节，终端短地址高字节
    //
    
    //发送
    if ( AF_DataRequest( &amp;amp;DstAddr, &amp;amp;SampleApp_epDesc,
                       SAMPLEAPP_ADDR_CLUSTERID,
                       3,
                       buff,
                       &amp;amp;SampleApp_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
    {
    }
    else
    {
    // Error occurred in request to send.
    }
}

void SendAckToCoordinator(void)
{
    uint8 ackMsg[] = &amp;quot;Received&amp;quot;; // 确认消息内容
    afAddrType_t dstAddr;
    
    dstAddr.addrMode = Addr16Bit;
    dstAddr.endPoint = SAMPLEAPP_ENDPOINT;
    dstAddr.addr.shortAddr = SAMPLEAPP_COORDINATOR; // 目标为协调器
    
    if ( AF_DataRequest(&amp;amp;dstAddr, &amp;amp;SampleApp_epDesc,
                  SAMPLEAPP_ACK_CLUSTERID,
                  sizeof(ackMsg) - 1, // 不包含字符串结束符
                  ackMsg,
                  &amp;amp;SampleApp_TransID,
                  AF_DISCV_ROUTE,
                  AF_DEFAULT_RADIUS) == afStatus_SUCCESS )
    {
    }
    else
    { // Error occurred in request to send.
    }
}

const char* afStatusStr[] = {
  &amp;quot;afStatus_SUCCESS&amp;quot;,          // 0: 成功
  &amp;quot;afStatus_FAILED&amp;quot;,           // 1: 失败
  &amp;quot;afStatus_INVALID_PARAMETER&amp;quot;,// 2: 参数无效
  &amp;quot;afStatus_NO_ROUTE&amp;quot;,         // 3: 无路由
  &amp;quot;afStatus_NO_RESOURCES&amp;quot;,     // 4: 资源不足
  &amp;quot;afStatus_NOT_SUPPORTED&amp;quot;,    // 5: 不支持
  &amp;quot;afStatus_TIMEOUT&amp;quot;           // 6: 超时（根据实际枚举扩展）
  // ... 其他状态码
};

void SendMsgToShortAddr(uint8* buff, uint8 len, uint16 addr)
{
    afAddrType_t DstAddr;
    SampleApp_TransID++; 
    
    //点播
    DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
    DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
    DstAddr.addr.shortAddr = addr;
    
    afStatus_t status = AF_DataRequest( &amp;amp;DstAddr, &amp;amp;SampleApp_epDesc,
                       SAMPLEAPP_FLASH_CLUSTERID,
                       len,
                       buff,
                       &amp;amp;SampleApp_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS );

    // 准备打印缓冲区（存储状态码和描述）
    char uartBuf[64];
    uint16 bufLen;
    

    //发送
    if ( status == afStatus_SUCCESS )
    {
        char send[] = &amp;quot;sended\r\n&amp;quot;;
        HalUARTWrite(0, send, strlen(send)); 
    }
    else
    {
        if (status &amp;lt; sizeof(afStatusStr)/sizeof(afStatusStr[0])) 
        {
          sprintf(uartBuf, &amp;quot;AF_DataRequest status: %d (%s)\r\n&amp;quot;, status, afStatusStr[status]);
        } 
        else 
        {
          sprintf(uartBuf, &amp;quot;AF_DataRequest status: %d (Unknown)\r\n&amp;quot;, status);
        }
        HalUARTWrite(0, (uint8*)uartBuf, strlen(uartBuf));
    }
}

// 共用体
union FloatUnion {
    float f;
    unsigned char bytes[4]; // float占4字节
};

// 反转字符串
void reverse(char *str, int len) {
    int i = 0, j = len - 1;
    char temp;
    while (i &amp;lt; j) {
        temp = str[i];
        str[i] = str[j];
        str[j] = temp;
        i++;
        j--;
    }
}

// 整数转换
void intToStr(int num, char *str, int *index) {
    int i = 0;
    // 处理0的特殊情况
    if (num == 0) {
        str[(*index)++] = &amp;#39;0&amp;#39;;
        return;
    }
    // 提取每一位数字
    while (num != 0) {
        int rem = num % 10;
        str[i++] = (rem &amp;gt; 9) ? (rem - 10) + &amp;#39;a&amp;#39; : rem + &amp;#39;0&amp;#39;;
        num = num / 10;
    }
    // 反转得到正确顺序
    reverse(str + *index, i);
    *index += i;
}

// 浮点数转为字符串
void floatToStr(float vol, char *result, int maxLen) {
    union FloatUnion u;
    u.f = vol;
    int index = 0;

    // 检查缓冲区是否足够
    if (maxLen &amp;lt; 10) { 
        result[0] = &amp;#39;\0&amp;#39;;
        return;
    }

    // 处理符号位
    if (vol &amp;lt; 0) {
        result[index++] = &amp;#39;-&amp;#39;;
        vol = -vol; // 转为正数处理
    }

    // 分离整数部分和小数部分
    int intPart = (int)vol;
    float fracPart = vol - intPart;

    // 转换整数部分
    intToStr(intPart, result, &amp;amp;index);

    // 添加小数点
    result[index++] = &amp;#39;.&amp;#39;;

    // 转换小数部分（保留3位）
    for (int i = 0; i &amp;lt; 3; i++) {
        fracPart *= 10;
        int fracDigit = (int)fracPart;
        result[index++] = fracDigit + &amp;#39;0&amp;#39;;
        fracPart -= fracDigit;
    }

    // 添加字符串结束符
    result[index] = &amp;#39;\0&amp;#39;;
}

&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Zigbee 和 Thread 论坛</title><link>https://e2echina.ti.com/thread/1021176?ContentTypeID=0</link><pubDate>Thu, 28 Aug 2025 06:46:21 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:f19fd682-8f7c-4bea-b025-4c6c2c0df715</guid><dc:creator>moyu moyu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1021176?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1021176/zigbee-thread/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2538" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2538&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;在程序代码中加入Flash擦除程序代码，使用下载器下载程序可以正常运行，但是重新上电之后，程序刚开始运行便直接卡死。&lt;/p&gt;
&lt;p&gt;代码部分截图如下：&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/5658.pastedimage1756363385196v1.png" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;不加擦除代码，程序不会出现该情况。&lt;/p&gt;
&lt;p&gt;只要加了擦除的代码，重新上电后便出现程序卡死的情况&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2538: 加入flash擦除程序代码会卡死</title><link>https://e2echina.ti.com/thread/1021175?ContentTypeID=0</link><pubDate>Thu, 28 Aug 2025 06:45:10 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:66aaf826-14eb-4cdd-93d4-9c165dab8087</guid><dc:creator>moyu moyu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1021175?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1021175/cc2538-flash/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2538" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2538&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;在程序代码中加入Flash擦除程序代码，使用下载器下载程序可以正常运行，但是重新上电之后，程序刚开始运行便直接卡死。&lt;/p&gt;
&lt;p&gt;代码部分截图如下：&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1756363385196v1.png"&gt;&lt;/p&gt;
&lt;p&gt;不加擦除代码，程序不会出现该情况。&lt;/p&gt;
&lt;p&gt;只要加了擦除的代码，重新上电后便出现程序卡死的情况&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LAUNCHXL-CC1352P: cc1352p终端加入不了cc2530协调器</title><link>https://e2echina.ti.com/thread/1020697?ContentTypeID=0</link><pubDate>Tue, 26 Aug 2025 01:27:41 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:7f8a8489-bc91-4ec9-a74d-4f29c5ff1686</guid><dc:creator>ben li</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1020697?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1020697/launchxl-cc1352p-cc1352p-cc2530/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/tool/cn/LAUNCHXL-CC1352P" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;LAUNCHXL-CC1352P&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;, &lt;a href="https://www.ti.com.cn/tool/cn/Z-STACK" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;Z-STACK&lt;/a&gt;, &lt;a href="https://www.ti.com.cn/product/cn/CC1352P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC1352P&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;cc2530协调器使用的是z-stack mesh 1.0.启用安全设置。配置预设置的网络密钥和全局秘钥。cc1352p终端使用的是z-stack 3.0连接不上都设置了对应的秘钥。&lt;/p&gt;
&lt;p&gt;这是使用ubiqua抓取的流程。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2531: Can CC2531 use cc2531 code?</title><link>https://e2echina.ti.com/thread/1018742?ContentTypeID=0</link><pubDate>Mon, 18 Aug 2025 06:18:49 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:0eb3ac49-c968-4939-bdd8-f0885f3fe0e6</guid><dc:creator>A Q</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1018742?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1018742/cc2531-can-cc2531-use-cc2531-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2531" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2531&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com.cn/product/cn/CC2530" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2530&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I downloaded the cc2530 code to cc2531 and found a problem. I need to touch the chip with my hand for it to run.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P7: 关于CC2652通讯失败问题</title><link>https://e2echina.ti.com/thread/1015765?ContentTypeID=0</link><pubDate>Thu, 07 Aug 2025 05:33:05 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:e048546c-dbf0-4516-815c-ba71c9fc462c</guid><dc:creator>wei lincheng</dc:creator><slash:comments>19</slash:comments><comments>https://e2echina.ti.com/thread/1015765?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1015765/cc2652p7-cc2652/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P7" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P7&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt;  &lt;a href="https://www.ti.com.cn/product/cn/CC1352P7" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC1352P7&lt;/a&gt;, &lt;a href="https://www.ti.com.cn/tool/cn/SYSCONFIG" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SYSCONFIG&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;你好：&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;我将CC2652P7设置发送功率为20db 。zc和zed数据在距离较近（10m以内）时可以通讯上，距离较远时通讯不上，但是使用zigbee抓包可以看到数据请求，这是因为什么？抓包数据如下&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1754544753850v1.png"&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>器件无法工作</title><link>https://e2echina.ti.com/thread/1015713?ContentTypeID=0</link><pubDate>Wed, 06 Aug 2025 03:06:33 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:6a494c82-5e47-466f-a05c-ef579f85092e</guid><dc:creator>guangyu he</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1015713?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1015713/thread/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/BQ79616" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;BQ79616&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;BQ79616 的TSREF端口没有5V电压，其余端口电压都有，请问这种一般是什么故障&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 进入待机模式的条件是什么？</title><link>https://e2echina.ti.com/thread/1015522?ContentTypeID=0</link><pubDate>Mon, 04 Aug 2025 01:35:29 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:2d92ee45-8d7f-40fe-ae88-3808781793b7</guid><dc:creator>shan mu</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1015522?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1015522/cc2340r5/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;在CC2340R5使用CCSV20版本开发，在syscfg下将时钟源配置为LF XOSC ，硬件上如果只有48MHZ，但没有32.768kHZ能否进入待机模式？&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1754271305011v1.png" alt=" "&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 如何查看时钟频率和时钟树？</title><link>https://e2echina.ti.com/thread/1014533?ContentTypeID=0</link><pubDate>Tue, 29 Jul 2025 01:20:02 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:15f3aeb6-cf3d-43e9-b78c-a9959365a543</guid><dc:creator>shan mu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1014533?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1014533/cc2340r5/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;如何查看时钟频率和时钟树？在CCSV20版本中，如何查看当前时钟的频率，为什么开启LGPtimer定时器使用LGPT3进行1s定时后，就无法进入待机模式下，会一直处于工作模式，LGPtimer这个定时器不是低功耗定时器吗？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 在zigbee保持连接的情况下，最低功耗是多少？</title><link>https://e2echina.ti.com/thread/1014443?ContentTypeID=0</link><pubDate>Mon, 28 Jul 2025 01:22:00 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:80beb059-2d44-4ca9-8786-d28f617ac5bb</guid><dc:creator>shan mu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1014443?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1014443/cc2340r5-zigbee/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Other Parts Discussed in Thread:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/tool/cn/SYSCONFIG" class="internal-link folder tool" title="Link to Tool Folder" target="_blank"&gt;SYSCONFIG&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在zigbee保持连接的情况下，最低功耗是多少？，待机模式下，zigbee连接能不断开吗？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 如何使用LGPtimer定时1s</title><link>https://e2echina.ti.com/thread/1013982?ContentTypeID=0</link><pubDate>Fri, 25 Jul 2025 02:47:03 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:0176aa7e-44d9-417c-8d12-caba4f664004</guid><dc:creator>shan mu</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1013982?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1013982/cc2340r5-lgptimer-1s/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;time_Init&lt;/span&gt;&lt;span&gt;()&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; LGPTimerLPF3_Handle lgptHandle;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; LGPTimerLPF3_Params params;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;uint32_t&lt;/span&gt;&lt;span&gt; counterTarget;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// Initialize parameters and assign callback function to be used&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;LGPTimerLPF3_Params_init&lt;/span&gt;&lt;span&gt;(&amp;amp;params);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;params&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;hwiCallbackFxn&lt;/span&gt;&lt;span&gt; = timerCallback;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;params&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;prescalerDiv&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// Open driver&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; lgptHandle = &lt;/span&gt;&lt;span&gt;LGPTimerLPF3_open&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;, &amp;amp;params);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// Set counter target&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; counterTarget = &lt;/span&gt;&lt;span&gt;48000000&lt;/span&gt;&lt;span&gt; - &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &amp;nbsp;// 1 s with a system clock of 48 MHz&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;LGPTimerLPF3_setInitialCounterTarget&lt;/span&gt;&lt;span&gt;(lgptHandle, counterTarget, &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// Enable counter target interrupt&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;LGPTimerLPF3_enableInterrupt&lt;/span&gt;&lt;span&gt;(lgptHandle, LGPTimerLPF3_INT_TGT);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// Start counter in count-up-periodic mode&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;LGPTimerLPF3_start&lt;/span&gt;&lt;span&gt;(lgptHandle, LGPTimerLPF3_CTL_MODE_UP_PER);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;我想要实现1s计一次数，但是用上面的方式却还是1ms是为什么&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 如何在另一个任务中发送数据</title><link>https://e2echina.ti.com/thread/1013730?ContentTypeID=0</link><pubDate>Thu, 24 Jul 2025 08:43:36 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:83fc09ff-f264-4918-a906-b45c65d89f9a</guid><dc:creator>shan mu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1013730?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1013730/cc2340r5/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;我在onoff_switch示例中创建了一个新的任务，想要通过这个新的任务实现&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;send_aps_payload&lt;/span&gt;&lt;span&gt;&lt;span&gt;(param);的发送，但是我发现并没有作用，应该如何操作才能在另一个任务中发送。&lt;br&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;span&gt;sendThread&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;span&gt;arg0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;zb_uint8_t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;param&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; /* Call driver init functions */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;GPIO_init&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;while&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// sleep(time);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;vTaskDelay&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;5000&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;send_aps_payload&lt;/span&gt;&lt;span&gt;(param);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: 如何在zigbee示例中创建新的任务</title><link>https://e2echina.ti.com/thread/1012106?ContentTypeID=0</link><pubDate>Fri, 18 Jul 2025 08:36:11 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:7b8315c7-c29d-448a-8df2-a5e681aa5b8b</guid><dc:creator>shan mu</dc:creator><slash:comments>1</slash:comments><comments>https://e2echina.ti.com/thread/1012106?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1012106/cc2340r5-zigbee/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;如何在onoff_light这个示例下，通过FRTOS创建一个新的任务，能和zigbee任务并存&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: zigbee的传输大小</title><link>https://e2echina.ti.com/thread/1008334?ContentTypeID=0</link><pubDate>Fri, 04 Jul 2025 08:32:44 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:c3ac0084-6128-4352-983f-8caf0e8e6731</guid><dc:creator>shan mu</dc:creator><slash:comments>2</slash:comments><comments>https://e2echina.ti.com/thread/1008334?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1008334/cc2340r5-zigbee/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;您好，我想了解一下，zigbee终端向协调器发送数据包，一包能发多少字节数据，一秒能发多少包？丢包率如何？，想要稳定发送大量数据的最大限制是一秒发几包一包多少字节？&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2652P: CC2652使用例程RFpacketsTX在runCmd时永久阻塞</title><link>https://e2echina.ti.com/thread/1006966?ContentTypeID=0</link><pubDate>Sat, 28 Jun 2025 03:03:57 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:6eb5b689-acab-4a88-ba5c-7af1c40120f3</guid><dc:creator>?? ?</dc:creator><slash:comments>4</slash:comments><comments>https://e2echina.ti.com/thread/1006966?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1006966/cc2652p-cc2652-rfpacketstx-runcmd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2652P" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2652P&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1751079303248v1.png" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;导入官方例程，我想直接修改原专用rf协议为802.15.4，直接在syscfg中修改，然后在mainthread中修改对应的结构体名称&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1751079435821v2.png" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;运行时程序卡在runcmd，调试发现一直等待pendcmd中的wait for semaphore函数中，&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1751079559366v4.png" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2echina.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/104/pastedimage1751079574406v5.png" alt=" "&gt;&lt;/p&gt;
&lt;p&gt;是否修改协议还需要在其他地方修改，postcmd能够发送，但改为postcmd后每次运行之后只发出一个数据包&lt;/p&gt;
&lt;p&gt;麻烦帮我找一下原因或者修改协议还有什么需要修改的，感谢&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>CC2340R5: Does the SimpleLink™︎ Low Power F3 SDK (v9.11.00.18) support custom device development?</title><link>https://e2echina.ti.com/thread/1005720?ContentTypeID=0</link><pubDate>Wed, 25 Jun 2025 01:33:30 GMT</pubDate><guid isPermaLink="false">91561404-af28-475a-b96b-cb6cbaadd097:f805cb5f-cee0-4171-ad50-8f07b67b0f11</guid><dc:creator>Liu Jay</dc:creator><slash:comments>4</slash:comments><comments>https://e2echina.ti.com/thread/1005720?ContentTypeID=0</comments><wfw:commentRss>https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/1005720/cc2340r5-does-the-simplelink-low-power-f3-sdk-v9-11-00-18-support-custom-device-development/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; &lt;a href="https://www.ti.com.cn/product/cn/CC2340R5" class="internal-link folder product" title="Link to Product Folder" target="_blank"&gt;CC2340R5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;Hello, I noticed that the SimpleLink&lt;/span&gt;&lt;span class="emoticon" data-url="https://e2echina.ti.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;&amp;nbsp;Low Power F3 SDK (v9.11.00.18) provides the function&amp;nbsp;&lt;code class="hyc-common-markdown__code__inline"&gt;ZB_ZCL_DECLARE_CUSTOM_ATTR_CLUSTER_ATTRIB_LIST()&lt;/code&gt;&amp;nbsp;for declaring custom cluster attributes. However, I cannot find corresponding functions for binding clusters, configuring endpoints, or declaring device contexts.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;I would like to confirm:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;​&lt;strong&gt;Does this SDK natively support&amp;nbsp;&lt;em&gt;fully custom devices&lt;/em&gt;​&lt;/strong&gt;​ (creating proprietary device types from scratch), or is it limited to ​&lt;strong&gt;extending standard devices&lt;/strong&gt;​ with additional cluster attributes?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;If full customization is supported, ​&lt;strong&gt;must I manually implement&lt;/strong&gt;​ the binding of clusters, endpoint configuration, and context declaration?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;Could you please specify ​&lt;strong&gt;which API functions&lt;/strong&gt;​ would be required for such implementation?&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:inherit;"&gt;Additionally, the approach demonstrated in &lt;a href="https://dev.ti.com/tirex/content/simplelink_academy_for_cc23xx_8_40_00_00/_build_simplelink_academy_for_cc23xx_8_40_00_00/source/zigbee/cc23xx_zigbee_custom_project.html"&gt;TI&amp;#39;s&amp;nbsp;&lt;em&gt;&amp;#39;Zigbee Custom Device Types&amp;#39;&lt;/em&gt;&amp;nbsp;tutorial (SimpleLink Academy for CC23xx)&lt;/a&gt; does not meet my requirements, as I need to ​&lt;strong&gt;define a device outside standard clusters&lt;/strong&gt;​ to implement complex operations. Your expert guidance would be greatly appreciated.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>