CN / EN
CN / EN

提问

设计支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

GR551x_SDK_V1.6.10 中断中如何发送消息队列 GR551x

184***166

2026-07-08 14:25

基于GR551x_SDK_V1.6.10\projects\ble\ble_peripheral\ble_app_template_freertos 历程实现了一个GPIO中断,GPIO口 APP_IO_TYPE_AON 6,中断中发送消息队列死机,其它地方相同的发送消息队列正常,xQueueSendFromISR和xQueueSend都试过,代码如下:

#define BTN_PIN APP_IO_PIN_6

#define BTN_PIN_TYPE APP_IO_TYPE_AON

static void btn_int_pin_handler(app_gpiote_evt_t *p_evt)

{

BaseType_t xHigherPriorityTaskWoken = pdFALSE;

vbus_sch_data_t vbus_sch_data = {0};

switch(p_evt->type)

{

case BTN_PIN_TYPE:

vbus_sch_data.len = 0;

vbus_sch_data.evt = 1;

xQueueSendFromISR(vbusQueue, (void *)&vbus_sch_data, &xHigherPriorityTaskWoken);

portYIELD_FROM_ISR(xHigherPriorityTaskWoken);

break;


default:

break;

}

}

const app_gpiote_param_t param[] =

{

{BTN_PIN_TYPE, BTN_PIN, APP_IO_MODE_IT_FALLING, APP_IO_NOPULL, APP_IO_ENABLE_WAKEUP, btn_int_pin_handler},

};

app_gpiote_init(param, sizeof (param) / sizeof (app_gpiote_param_t));

0收藏

0赞成

zhongchengzhi

汇顶员工
2026-07-08 14:50

您好,

1、死机问题可调试下看卡在哪里;

2、若是Hardfault可参考: https://developers.goodix.com/zh/bbs/blog_detail/b0f9329799b04397b384214a8953efa3

0条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注