rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

duo : gpio : rt_pin_read 无法读出引脚的状态

Open unicornx opened this issue 1 year ago • 2 comments

bsp/cvitek/cv18xx_risc-v/ 最新 master

在编写跑马灯例子过程中,尝试读取 GPIO 引脚的状态值,失败

简单示例代码如下:

static int led_on(void)
{
    rt_pin_write(pinno, PIN_HIGH);
    rt_kprintf("%d\n", rt_pin_read(pinno)); // 这里希望读到 1,但是 0
    return 0;
}

static int led_off(void)
{
    rt_pin_write(pinno, PIN_LOW);
    rt_kprintf("%d\n", rt_pin_read(pinno)); // 这里希望读到 0,
    return 0;
}

看了一下驱动,rt_pin_read 回去读取 GPIO_EXT_PORTA,怀疑这个寄存器是不是反应了引脚的状态?

unicornx avatar May 10 '24 23:05 unicornx

已经 report 给 sophgo 看看这个寄存器到底怎么个说法

unicornx avatar May 10 '24 23:05 unicornx

是否可能和pin的模式相关?难道需要先配置成输入模式?

BernardXiong avatar May 11 '24 06:05 BernardXiong

#define INPUT_PIN "A14" rt_uint16_t input = rt_pin_get(INPUT_PIN); rt_pin_mode(input, PIN_MODE_INPUT_PULLUP); rt_kprintf("Input pin value: %d\n", rt_pin_read(input)); 读取pin输入状态正常

flyingcys avatar Jan 05 '25 13:01 flyingcys

这个 issue 先关了吧,时间太长了,以后再遇到再看

unicornx avatar Jan 07 '25 08:01 unicornx