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:设置 GPIO 引脚值

Guru**** 2589245 points
Other Parts Discussed in Thread: CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/869068/cc2530-gpio-pins-value-set

器件型号:CC2530

您好!

我使用的是 CC2530PA1模块、其数据表附在下面。 我想控制 GPIO 引脚并将其设置为高电平或低电平、以打开或关闭几个 LED。

FoE 示例我编写的代码如下:

P0_1 = 1;
P0_2 = 0;
P0_3 = 1:
P0_4 = 0; 

但没有发生任何事情!!!

问题出在哪里?

此外、我希望具有10ms 的延迟。 我应该怎么做?  

是否需要任何库? 我将在我的事件循环中写入它。

我使用 ZStack 3和温度传感器样片 appe2e.ti.com/.../1106.RL_2D00_CC2530_2D00_PA1-English-V1.1.pdf

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

    您好 Shahriar、

    请参阅 hal_board_cfg.h、了解如何初始化和控制引脚、例如需要为 GPIO 输出设置 P0DIR。  您还需要确保这些引脚尚未被其他预定功能使用、例如按钮或通信协议。  为了整合延迟、您可以进一步了解展示多个振荡器的 ZDUP.c 或 bdb.c。

    此致、
    Ryan

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

    1.必须确保将 P0SEL 和 P0DIR 正确配置到 GPO 功能、请参阅 CC2530用户指南

    2.您可以使用 osal_start_timerEx 创建10ms 后触发的计时器事件。 或者、您可以使用以下函数来执行10ms 延迟。

    /
    *@fn HalLcd_hw_WaitU
    *
    *@简短等待 x us。 @ 32MHz MCU 时钟、延迟1us 需要32个"nop"。
    *
    *@param x us。 范围[0-65536]
    *
    @无返回
    /
    void HalLcd_hw_WaitU (uint16微秒)
    {
    while (微秒-)
    {
    /* 32 NOPs==1 usecs */
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");asm ("nop");asm ("nop");asm ("nop");
    asm ("nop");asm ("nop");
    }