设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3655|回复: 2
打印 上一主题 下一主题

NRF_LOG_INFO(),NRFX_LOG_INFO()打印函数在一些文件无效

[复制链接]

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
跳转到指定楼层
楼主
colin 发表于 2019-3-18 15:33:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NRF_LOG_INFO(),NRFX_LOG_INFO()两个函数怎么在一些文件中无效,打印不出信息。

1.在nrfx_gpiote.c文件,nrfx_gpiote_in_init()函数两个打印语句编译通过,但都没打印出信息

nrfx_err_t nrfx_err_t  nrfx_gpiote_in_init(nrfx_gpiote_pin_t               pin,
                               nrfx_gpiote_in_config_t const * p_config,
                               nrfx_gpiote_evt_handler_t       evt_handler)
{
    NRFX_ASSERT(pin < NUMBER_OF_PINS);
    nrfx_err_t err_code = NRFX_SUCCESS;

        NRF_LOG_INFO("nrfx_gpiote_in_init.");

    /* Only one GPIOTE channel can be assigned to one physical pin. */
    if (pin_in_use_by_gpiote(pin))
    {
        err_code = NRFX_ERROR_INVALID_STATE;
    }
    else
    {
        int8_t channel = channel_port_alloc(pin, evt_handler, p_config->hi_accuracy);
        if (channel != NO_CHANNELS)
        {
            if (!p_config->skip_gpio_setup)
            {
                if (p_config->is_watcher)
                {
                    nrf_gpio_cfg_watcher(pin);
                }
                else
                {
                    nrf_gpio_cfg_input(pin, p_config->pull);
                }
                pin_configured_set(pin);
            }

            if (p_config->hi_accuracy)
            {
                nrf_gpiote_event_configure((uint32_t)channel, pin, p_config->sense);
            }
            else
            {
                m_cb.port_handlers_pins[channel -
                                        GPIOTE_CH_NUM] |= (p_config->sense) << SENSE_FIELD_POS;
            }
        }
        else
        {
            err_code = NRFX_ERROR_NO_MEM;
        }
    }

    NRFX_LOG_INFO("Function: %s, error code: %s.", __func__, NRFX_LOG_ERROR_STRING_GET(err_code));
    return err_code;
}

2.在nrf_pwr_mgmt.c文件nrf_pwr_mgmt_run(void)函数,我故意漏掉NRF_LOG_INFO("nrf_pwr_mgmt_run.")语句“;”
号,编译也不会出错,但打一些乱字符会出错。

void nrf_pwr_mgmt_run(void)
{
    PWR_MGMT_FPU_SLEEP_PREPARE();
    PWR_MGMT_SLEEP_LOCK_ACQUIRE();
    PWR_MGMT_CPU_USAGE_MONITOR_SECTION_ENTER();
    PWR_MGMT_DEBUG_PIN_SET();

        NRF_LOG_INFO("nrf_pwr_mgmt_run.")
       
    // Wait for an event.
#ifdef SOFTDEVICE_PRESENT
    if (nrf_sdh_is_enabled())
    {  
        ret_code_t ret_code = sd_app_evt_wait();
        ASSERT((ret_code == NRF_SUCCESS) || (ret_code == NRF_ERROR_SOFTDEVICE_NOT_ENABLED));
        UNUSED_VARIABLE(ret_code);
    }
    else
#endif // SOFTDEVICE_PRESENT
    {
        // Wait for an event.
        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE();
    }

    PWR_MGMT_DEBUG_PIN_CLEAR();
    PWR_MGMT_CPU_USAGE_MONITOR_SECTION_EXIT();
    PWR_MGMT_SLEEP_LOCK_RELEASE();
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
沙发
 楼主| colin 发表于 2019-3-18 17:19:36 | 只看该作者
第2个问题我已找到原因;
是sdk_config.h文件#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED  0
没有置1,开关没打开。
漏掉“;”号编译不出错,是因打印语句是的#define,也没有“;”号
#define NRF_LOG_INFO(...)                 NRF_LOG_INTERNAL_INFO( __VA_ARGS__)
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
板凳
admin 发表于 2019-3-18 19:32:15 | 只看该作者
colin 发表于 2019-3-18 17:19
第2个问题我已找到原因;
是sdk_config.h文件#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED  0
没有置1,开关 ...

勾选这个试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-5-17 16:44 , Processed in 0.117915 second(s), 30 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表