树莓派php扩展,GitHub - tioncico/phpPi: php控制树莓派io的扩展

phpPI

基于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权限

gpio控制函数

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

树莓派引脚对照表

piIo.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值