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.

RF中断

Other Parts Discussed in Thread: CC2531

  我在一个节点(A)烧入打完补丁的ZLL代码中的SampleRemote下的USB-EndDevice工程,现在通过另外一个节点(B,这个节点B只是发送一串字符)发送一串数据给A,对A通过在线调试,在rxStartIsr()函数中设置断点,它应该会运行到断点的,但是实际上却没有;另外我通过touchlink和ZLL灯通讯,它能够进入,请问这是什么原因?说明:通道我都调成了通道13,而且如果节点A烧入GenericalApp,SampleApp;那么节点B不管发送一串什么数据,在线调试设置断点的时候,只要B发送了数据,节点A的代码都能运行到断点。

  • 硬件的寄存器配置是否一样?

  •   这个代码我使用贵公司提供的USB-EndDevice工程,没有改过,应该不会是硬件寄存器的问题!我在CC2531中下载USB-EndDevice工程,那么按理说只要我接受到一个通道号匹配的一串数据,它都能应该进入rxStartIsr()这个中断函数的,但是我通过一个节点发数据,它并不进入,但是我在演示ZLL这个实验时,通过PC端发送touchlink,CC2531 USB狗能够和ZLL彩灯建立连接,并且在线调试时,CC2531接受到ZLL彩灯返回的节点信息时,它是能够进入rxStartIsr()这个中断函数的;同时我下载过其它的贵公司提供的例程,只要是通道号匹配的话,在线调试时都能进入rxStartIsr()这个中断函数;那么我认为和硬件寄存器就没有关系了,毕竟在touchlink的情况下它能够进入rxStartIsr()这个中断函数。若果您有时间的话,您可以做个小实验来验证下!谢谢!

  • 最初进RF中断的是HAL_ISR_FUNCTION( macMcuRfIsr, RF_VECTOR )这个函数,然后是调用macRxThresholdIsr();再调用(*pFuncRxState)();这个函数就是注册了rxStartIsr(),你可以用断点跟踪下!