中断实现在构建时给出初始化错误
Interrupt implementation gives error on initialization at build
我正在尝试使用 esp32 和上升沿的引脚中断。
我已经用这个定义了 gpio
gpio_config_t panel = {
.pin_bit_mask = (1ULL << start_pin) || (1ULL << knot_pin),
.mode = GPIO_MODE_INPUT,
.pull_up_en= GPIO_PULLUP_DISABLE,
.pull_down_en = GPIO_PULLDOWN_ENABLE,
.intr_type = GPIO_INTR_POSEDGE
};
gpio_config(&panel);
gpio_install_isr_service(0);
gpio_isr_handler_add(start_pin,on_start_irs_handler,(void *)start_pin);
gpio_isr_handler_add(knot_pin,on_knot_irs_handler,(void *)knot_pin);
所以我还必须编写用这段代码完成的处理函数:
static void IRAM_ATTR on_start_irs_handler(void *args)(
// do something
)
static void IRAM_ATTR on_knot_irs_handler(void *args)(
// do something
)
构建时出现此错误:
expected initializer before 'static'
错误标记在 on_knot_irs_handler 的第二个函数上,而不是第一个。
什么是正确的声明或定义或实现。
您写道:
static void IRAM_ATTR on_start_irs_handler(void *args)(
// do something
)
static void IRAM_ATTR on_knot_irs_handler(void *args)(
// do something
)
C 和 C++ 函数使用大括号而不是圆括号括起代码。此代码应为:
static void IRAM_ATTR on_start_irs_handler(void *args) {
// do something
}
static void IRAM_ATTR on_knot_irs_handler(void *args) {
// do something
}
我正在尝试使用 esp32 和上升沿的引脚中断。
我已经用这个定义了 gpio
gpio_config_t panel = {
.pin_bit_mask = (1ULL << start_pin) || (1ULL << knot_pin),
.mode = GPIO_MODE_INPUT,
.pull_up_en= GPIO_PULLUP_DISABLE,
.pull_down_en = GPIO_PULLDOWN_ENABLE,
.intr_type = GPIO_INTR_POSEDGE
};
gpio_config(&panel);
gpio_install_isr_service(0);
gpio_isr_handler_add(start_pin,on_start_irs_handler,(void *)start_pin);
gpio_isr_handler_add(knot_pin,on_knot_irs_handler,(void *)knot_pin);
所以我还必须编写用这段代码完成的处理函数:
static void IRAM_ATTR on_start_irs_handler(void *args)(
// do something
)
static void IRAM_ATTR on_knot_irs_handler(void *args)(
// do something
)
构建时出现此错误:
expected initializer before 'static'
错误标记在 on_knot_irs_handler 的第二个函数上,而不是第一个。
什么是正确的声明或定义或实现。
您写道:
static void IRAM_ATTR on_start_irs_handler(void *args)(
// do something
)
static void IRAM_ATTR on_knot_irs_handler(void *args)(
// do something
)
C 和 C++ 函数使用大括号而不是圆括号括起代码。此代码应为:
static void IRAM_ATTR on_start_irs_handler(void *args) {
// do something
}
static void IRAM_ATTR on_knot_irs_handler(void *args) {
// do something
}