首页 > 技术知识 > 正文

NUC972芯片支持GPIO界面控制,要让内核支持GPIO控制,需要在内核中使能NUC970 GPIO support 以及“/sys/class/gpio…”,如下图

972_gpio讲解及demo

在内核源码中输入make menuconfig 依据上图的路径使能相应功能。

GPIO驱动程序将NUC970芯片的IO口,从GPIOA~GPIOJ每组IO都保留32个号码,所以GPIOA编号0x000~0x01F, GPIOB编号0x020~0x03F, GPIOC编号0x040~0x05F, GPIOD编号0x060~0x07F, GPIOE编号0x080~0x09F, GPIOF编号0x0A0~0x0BF, GPIOG编号0x0C0~0x0DF, GPIOH编号0x0E0~0x0FF, GPIOI编号0x100~0x11F, GPIOJ编号0x120~0x13F.

用户可以通过文件系统/sys/class/gpio/…路径下的文件节点来操作对应的IO口

 /sys/class/gpio/export :來告诉系統需要控制哪個GPIO

 /sys/class/gpio/unexport: 可以取消哪个GPIO控制

 /sys/class/gpio/gpio0/direction : 针对GPIOA00控制 in 或 out

 /sys/class/gpio/gpio0/value : 针对GPIOA00控制输出1 或 0,也可查看输入状态下当前的输入值。

如需要将GPIOA0设定为输出高电平可在文件系统中依据下图输入指令

972_gpio讲解及demo1

此处分享一个利用IO后输出高低电平给看门狗喂狗的demo程序,大家可以根据自行需要完成自己需要的功能

链接:https://pan.baidu.com/s/1cHc2Fc 密码:gtgh

猜你喜欢