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的操作的应用程序会有所帮助。

















最新文章

  1. mysql errno 150
  2. 什么时候用Model,什么时候用Entity?[转载知乎-备忘]
  3. 常用邮件服务器名(POP3,SMTP地址)
  4. springboot使用之三:springboot使用logback日志
  5. writing-mode改变文字书写方式
  6. React入门--------顶层API
  7. WPF之全局快捷键
  8. HD1814Peaceful Commission(模板题)
  9. JavaScript中变量和函数声明的提升
  10. textView字体颜色根据不同状态显示不同颜色
  11. 笔直的水管 usaco 背包
  12. 发布方配ASP.NET网站服务器
  13. Docker终极指南:为什么Docker能做这么多事
  14. 批量删除Kindle library 中的不想要的书籍
  15. Swift UI开发初探
  16. chrome调试技巧
  17. 团队开发冲刺2-----1day
  18. Beta冲刺第五天
  19. css 实现多行文本末尾显示省略号
  20. tesseract-ocr 识别中文扫描图片

热门文章

  1. 九度oj 题目1031:xxx定律 题目1033:继续xxx定律
  2. RR隔离级别下通过next-key locks 避免幻影读
  3. linux的自启动服务脚本的(/etc/rc.d/init.d或者其链接/etc/init.d)
  4. BZOJ 4589 Hard Nim ——FWT
  5. BZOJ 2190仪仗队【欧拉函数】
  6. CentOS7下安装Docker-Compose No module named 'requests.packages.urllib3'
  7. 【基础操作】FFT / DWT / NTT / FWT 详解
  8. Ionic1与Ionic2
  9. spring和mybatis整合配置文件
  10. Java 学习(3):java 对象和类