zhangyan 842b555358
[bsp/phytium]c++支持,gpio,qspi驱动修改 (#9059)
* GPIO驱动与QSPI驱动适配

* C++支持

* update

---------

Co-authored-by: 张衍 <zhangyan1491@phytium.com.cn>
2024-06-16 15:42:37 +08:00

1.2 KiB
Raw Blame History

GPIO

  • E2000PhytiumPI系列芯片集成 6 个 GPIO 控制器提供 96 个 GPIO 信号。96 位 GPIO 信号,支持外部中断功能,每路中断信号没有优先级区分,并产生一个统一的中断报送到全芯片的中断管理模块。在中断管理模块内可针对 GPIO05 两路中断设置不同的优先级。支持中断单独屏 蔽和清除。GPIO02 的每位中断单独上报GPIO3~5 的中断由模块内合成一个中断上报

  • 在RT-Thread使用以下等函数接口时

void rt_pin_mode(rt_base_t pin, rt_uint8_t mode);
void rt_pin_write(rt_base_t pin, rt_ssize_t value);
rt_ssize_t rt_pin_read(rt_base_t pin);
rt_base_t rt_pin_get(const char *name);
rt_err_t rt_pin_attach_irq(rt_base_t pin, rt_uint8_t mode,
                           void (*hdr)(void *args), void  *args);
rt_err_t rt_pin_detach_irq(rt_base_t pin);
rt_err_t rt_pin_irq_enable(rt_base_t pin, rt_uint8_t enabled);
  • 需要传入rt_base_t pin参数,可使用以下方法进行赋值
rt_base_t pin = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_11)
  • 表示使用GPIO控制器4的11号引脚使用FGPIO_ID宏定义需要包含fparameters.h头文件)