zoukankan      html  css  js  c++  java
  • 树莓派wiringPi经常使用的函数介绍

    

    1.void pinMode (int pin, int mode) ;

    这个函数式设置pin脚的输入和输出模式以及PWM的输入和输出模式。在wiringPi中仅仅有 pin 1 (BCM_GPIO 18)是支持PWM的输出的。

    2.void digitalWrite (int pin, int value) ;

    这个函数式用来设置pin脚的高低电平的,当我们写HIGH or LOW (1 or 0)的时候pin脚的mode必须为输出模式。

    3.void digitalWriteByte (int value) ;

    这个函数能够将8位字节写给8个GPIO pin脚,这是设置8个pin脚值的最快的方式。

    4.void pwmWrite (int pin, int value) ;

    这个函数是给PWM寄存器写入值然后控制GPIO的值的,写入的值必须是0-1024.

    5.int digitalRead (int pin) ;

    这个函数是读取GPIO的pin脚的电平高低然后返回读取的值。

    6.void pullUpDnControl (int pin, int pud) ;

    这个函数是设置GPIO的pin脚是否接上拉电阻和下拉电阻的。函数的參数pud必须设置。当设置为PUD_OFF时表示没有上拉电阻和下拉电阻。当设置为PUD_DOWN 时为下拉电阻。设置为PUD_UP是为上拉电阻。


    PWM的控制:

    1.pwmSetMode (int mode) ;

    这个函数是设置PWM的占空比模式一般为50%占空比和占空比可调模式。

    树莓派默认是50%占空比模式,我们能够通过PWM_MODE_BAL 和PWM_MODE_MS这两个參数来设置。


    2.pwmSetRange (unsigned int range) ;

    这个函数是设置PWM寄存器写入的范围。一般默觉得1024.

    3.pwmSetClock (int divisor) ;

    这个函数的设置PWM时钟的分频因子。


    定时函数:

    1.void delay (unsigned int howLong)

    这个是毫秒级的延时函数。

    2.void delayMicroseconds (unsigned int howLong)

    微秒级的延时函数


    关于中断的函数:

    1.int waitForInterrupt (int pin, int timeOut) ;

    这一个等待事件中断函数。timeout參数是毫秒级别的參数,当为-1时代表永远等待中断状态。假设错误发生返回值是-1,0表示超时。1表示成功中断。

    调用这个函数之前我们须要对GPIO进行初始化。

    比如我们要设置GPIO 0为等待下降沿中断:

    我们须要在执行程序之前先终端执行   gpio edge 0 falling

    2.int wiringPiISR (int pin, int edgeType,  void (*function)(void)) ;

    这个函数是利用一个函数作为參数来获取在特定的GPIO pin脚的中断。edge_Type參数能够设定为 INT_EDGE_FALLING, INT_EDGE_RISING, INT_EDGE_BOTH or INT_EDGE_SETUP.

    其中断发生的时候function将被调用。调用function之前会先清除对应的标志位。这就使得随后的中断不会被影响。



    熟悉了这些函数后对写GPIO的操作的应用程序会有所帮助。











  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6927084.html
Copyright © 2011-2022 走看看