基于wiringPi控制树莓派io的php扩展
- 先安装wiringPi,安装教程可百度 wiringPi官网:http://wiringpi.com/
- phpize
- ./configure --with-php-config=php-config路径 LDFLAGS=-lwiringPi
- make
- make install
- php -m 即可查看扩展
该扩展函数大多数都和wiringPi命名相同,目前只实现了以下函数:
- wiringPiSetup 初始化成功返回true,否则返回false 当使用这个函数初始化树莓派引脚时,程序使用的是wiringPi 引脚编号表。引脚的编号为 0~16需要root权限
- wiringPiSetupGpio 初始化成功返回true,否则返回false 当使用这个函数初始化树莓派引脚时,程序中使用的是BCM GPIO 引脚编号表。 需要root权限
- pinMode(pin,model) pin:配置的引脚 mode:指定引脚的IO模式 可取的值:PI_INPUT、PI_OUTPUT、PI_PWM_OUTPUT,PI_GPIO_CLOCK 作用:配置引脚的IO模式
注意:只有wiringPi 引脚编号下的1脚(BCM下的18脚) 支持PWM输出 只有wiringPi编号下的7(BCM下的4号)支持GPIO_CLOCK输出
- digitalWrite(pin,value) pin:控制的引脚 value:引脚输出的电平值。 可取的值:PI_HIGH,PI_LOW分别代表高低电平
让对一个已近配置为输出模式的 引脚 输出指定的电平信号
-
digitalRead(pin) pin:读取的引脚 返回:引脚上的电平,可以是PI_LOW PI_HIGH 之一
-
pwmWrite(pin,value) pin:引脚 value:写入到PWM寄存器的值,范围在0~1024之间。
pin:引脚 value:写入到PWM寄存器的值,范围在0~1024之间。 输出一个值到PWM寄存器,控制PWM输出。 pin只能是wiringPi 引脚编号下的1脚(BCM下的18脚)
- pullUpDnControl(pin,pud) pin:引脚 pud:拉电阻模式 可取的值:PI_PUD_OFF 不启用任何拉电阻。关闭拉电阻。PI_PUD_DOWN 启用下拉电阻,引脚电平拉到GND PI_PUD_UP 启用上拉电阻,引脚电平拉到3.3v
对一个设置IO模式为 INPUT 的输入引脚设置拉电阻模式。 与Arduino不同的是,树莓派支持的拉电阻模式更丰富。 树莓派内部的拉电阻达50K欧姆
- piMillis();
这个函数返回 一个 从你的程序执行 wiringPiSetup 初始化函数(或者wiringPiSetupGpio ) 到 当前时间 经过的 毫秒数。 返回类型是unsigned int,最大可记录 大约49天的毫秒时长。
- piMicros();
这个函数返回 一个 从你的程序执行 wiringPiSetup 初始化函数(或者wiringPiSetupGpio ) 到 当前时间 经过的 微秒数。返回类型是unsigned int,最大可记录 大约71分钟的时长。
- piDelay(howLong);
将当前执行流暂停 指定的毫秒数。因为Linux本身是多线程的,所以实际暂停时间可能会长一些。参数是unsigned int 类型,最大延时时间可达49天
- piDelayMicroseconds(howLong);
将执行流暂停 指定的微秒数(1000微秒 = 1毫秒 = 0.001秒)。因为Linux本身是多线程的,所以实际暂停时间可能会长一些。参数是unsigned int 类型,最大延时时间可达71分钟
- PI_INPUT= 0
- PI_OUTPUT= 1
- PI_PWM_OUTPUT= 2
- PI_GPIO_CLOCK= 3
- PI_LOW= 0
- PI_HIGH= 1
- PI_PUD_OFF= 0
- PI_PUD_DOWN= 1
- PI_PUD_UP= 2