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.

协议栈运行过程中持续读取IO口的电平

Other Parts Discussed in Thread: CC2630, CC2530

1.2630读取IO电平的函数PIN_getInputValue,这个函数放在什么位置,

可以保证可以随时知道IO电平的高低?

2.同样的2530 IO电平的函数GPIO_read,这个函数放在什么位置,

可以保证可以随时知道IO电平的高低?

3.协调器是否知道当前有几个节点加入了他以及每个几点的地址?

如果知道,请问怎么读取已经加入了几个节点以及每个节点的地址?

4.接问题3,,如果某个掉线了,协调器是否可以知道,怎么知道的?

  • 1. CC2630 PIN_getInputValue 定義在PIN.h,任何時候你需要知道IO电平的高低就可以透過PIN_getInputValue去讀取

    2. CC2530直接用PX_X直接讀取,比如要讀P0.7就是用P0_7

    3. 可以去AssociatedDevList找直接連到协调器的节点以及每个节点的短地址

    4. 這個协调器目前沒辦法知道,要靠應用程序作心跳包

  • 但是不知道把PIN_getInputValue函数放在什么位置?
    我尝试了放在DLSApp_process函数里,但是协议栈运行过程中根本进不去,
    正常main函数里面不都有个大的循环吗?但是协议栈里面就找不到,
    所以不知道在何处放置PIN_getInputValue
    static void DLSApp_process(void)
    {
    ……
    GPIOState[0] = PIN_getInputValue(IOID_12);
    ……
    }
    同样的2530也是一样
  • DLSApp_process是什麼?這上你自己的應用程序,進不去你應該自己查一下邏輯對不對吧?