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.

[参考译文] CC2530:CC2530 GPIO代码定义

Guru**** 2589265 points
Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/632152/cc2530-cc2530-gpio-code-definitions

部件号:CC2530
主题中讨论的其他部件:Z-stack

大家好!

我使用我的设备(基于示例光,带ZStack Z-Stack Home 1.2。2a.4.4539万),具有SimpleDescriptionFormat作为ZCL基本开/关,使用4个GPIO端口(P1_4,P1_5,P0_5和P0_4),所有这些端口都有可供使用的eletric引脚。 我的想法是,当我的设备接收到ZCL cmd开/关时,所有这些GPIO端口都应答(高-1或低0级,开或关)。

为此,我在onoffCB函数中编写了这些代码:

//打开灯  
如果( cmd == command_on )

zclTeha0002_OnOff =亮;
P1_4 = 1;
P1_5 = 1;
P0_5 = 1;
P0_4 = 1;
P0_3 = 1;
P0_2 = 1;
}
//关闭灯
否则,如果( cmd == command_off )

zclTeha0002_OnOff = lau_off;
P1_4 = 0;
P1_5 = 0;
P0_5 = 0;
P0_4 = 0;
P0_3 = 0;
P0_2 = 0;
}

在设备从网关接收到打开/关闭命令后,只有P0_5响应commad并更改其级别统计信息(ON-1和0ff-0)。 我没有找到任何阻止其他端口 (P1_4,P1_5,P0_4,P0_3和P0_2)的代码。

有人有什么想法吗?

巴西

Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否还将PxSEL设置为禁用外围设备功能,并将P1_4,P1_5,P0_5和P0_4的PxDIR设置为GPO?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Yikai先生,非常感谢您的帮助!

    i´m使用默认DMA配置(_hal_UART_DMA.c),如下所示:

    #IF (HAL_UART_DMA == 1)

    #Define PxOUT           P0

    #定义PxIN             P0

    #Define PxDIR            P0DIR

    #Define PxSEL (定义PxSEL)            P0SEL

    #否则

    #Define PxOUT           :P1

    #定义PxIN             :P1

    #Define PxDIR            P1DIR

    #Define PxSEL (定义PxSEL)            P1SEL

    您是否提到了此配置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yikai先生
    我在hal_board_cfg.h上找到了此配置示例:

    /*选择I/O引脚上的外设功能,但SS保留为GPIO以进行单独控制。 */\
    P1SEL |= 0xE0;/* SELP1_[7:4]*/\
    /* WFP 1.1 ,2,3:RESET,LCD CS,XNV CS。 */\
    P1SEL &=~0x0E;\
    P1 |= 0x0E;\
    P1_1 = 0;\
    P1DIR |= 0x0E;\

    我想这是你问我的配置。 如果是这样,您可以告诉我如何设置我的配置吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您必须使用以下代码:

    P0SEL &=(~(BV (4)|BV (5)));
    P1SEL &=(~(BV (4)|BV (5)));
    P0DIR ||(BV (4)|BV (5));
    P1DIR |=(BV(4)|BV(5));
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yikai先生

    在_hal_UART_DMA.c hal_board_cfg.h上?

    巴西

    Alex

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

    您好,Yikai先生。

    void zclTeha0002_Init( byte task_id )

    zclTeha0002_TaskID =任务ID;


    P0SEL &=(~(BV (4)|BV (5)));
    P1SEL &=(~(BV (4)|BV (5)));
    P0DIR ||(BV (4)|BV (5));
    P1DIR |=(BV(4)|BV(5));

    .....

    现在运行得很好!

    你是最棒的!

    非常感谢!!!!

    巴西

    Alex