小编Tay*_*lor的帖子

编译器错误显示“函数未在此范围内声明”,但该函数是公共的

我正在用 C++ 在 Raspberry Pi Pico 上设置 IRQ,但是当我编译代码时,它告诉我回调函数“未在此范围内声明”。我已经在墙上敲了几个小时了,因为该函数声明并且是公开的。

#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/gpio.h"

uint64_t time_between_triggers;
uint16_t times_triggered;

void shaft_speed_init(uint8_t _gpio_number, uint8_t _precision, uint8_t _counts_per_turn){
    gpio_set_irq_enabled_with_callback(2, GPIO_IRQ_EDGE_RISE, true, &_shaft_speed_gpio_callback);

}

void _shaft_speed_gpio_callback(uint16_t _gpio, uint32_t _event_mask) {
    uint64_t trigger_time;
    static uint64_t prev_trigger_time;

    trigger_time = to_us_since_boot(get_absolute_time());
    time_between_triggers = time_between_triggers + (trigger_time - prev_trigger_time);
    prev_trigger_time = trigger_time;
    times_triggered++;
}
Run Code Online (Sandbox Code Playgroud)
[main] Building folder: variable_rate_planter 
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/taylor/Documents/Programs/Pi-Pico/variable_rate_planter/build --config Debug --target all --
[build] [2/8  12% :: …
Run Code Online (Sandbox Code Playgroud)

c++ raspberry-pi-pico

0
推荐指数
1
解决办法
619
查看次数

标签 统计

c++ ×1

raspberry-pi-pico ×1