树莓派-wiringPi-优先级&中断&线程
来源:互联网 发布:ecshop php 编辑:程序博客网 时间:2024/05/17 06:38
原文地址:http://nicekwell.net/blog/20171123/shu-mei-pai-wiringpi-you-xian-ji-and-zhong-duan-and-xian-cheng.html
wiringPi库真是包含了各个方面,甚至提供了进程操作接口。
使用wiringPi的接口可以很方便地创建新进程。
int piHiPri (int priority) ;
设置进程优先级。范围是0~99,数字越大优先级越高,默认是0。
返回0代表成功,返回-1代表失败。
注:必须已root身份运行,否则无效。
int wiringPiISR (int pin, int edgeType, void (*function)(void)) ;
设置某个pin作为中断脚,当触发中断时调用指定函数。
估计实现原理是后台用了一个定时器不断扫描这个引脚。
pin是引脚序号,编号方式在Setup时决定。
edgeType是中断触发方式:
中断处理函数传入函数指针即可。
int piThreadCreate (PI_THREAD func) ;
创建一个线程执行func函数。要求func函数用PI_THREAD声明。
返回0代表创建成功,非0代表失败。
例:
piLock (int keyNum) ;
piUnlock (int keyNum) ;
获取锁和释放锁。wiringPi-C提供了4个锁,keyNum范围是0~3。
默认所有所都是释放状态,当调用piLock()想要获取锁时,如果这个锁没有被释放则会一直等待,直到这个锁被释放才会拿到这个锁并继续运行下去。
这里的锁可以理解为某个资源,使用该资源时调用piLock()标志该资源正在被使用,使用结束后调用piUnlock()表示释放该资源。其他地方想要使用该资源也必须先获取这个锁,如果没有获取到则等待使用者释放资源后再使用。
- 树莓派-wiringPi-优先级&中断&线程
- 中断优先级和中断线程优先级
- 中断优先级和中断线程优先级
- wiringPi之中断
- Qt:在树莓派中封装wiringPi中断
- 线程(四),线程中断,线程让步,线程睡眠和线程合并,线程 优先级
- 中断优先级
- 为树莓派装上WiringPi
- 树莓派wiringPi输出PMW
- 树莓派wiringPi库详解
- 树莓派安装wiringPi库
- 树莓派-wiringPi-GPIO
- 树莓派-wiringPi-时间函数
- 树莓派-wiringPi-UART串口
- java线程——中断线程+线程状态+线程属性(优先级)
- 树莓派-wiringPi-wiringPi-C的i2c库使用
- 树莓派安装wiringPi开发库
- [树莓派2]--wiringPi驱动5110
- 字符数组初始化书写格式
- ubuntu 16.04 安装opencv3.3
- seaborn可视化库分析库基础02
- opencv window 2411 依赖项
- 修复TortoiseGit文件夹和文件图标不显示问题
- 树莓派-wiringPi-优先级&中断&线程
- JAVA的CAS
- 前端——小知识积累
- 11.23学习计划
- Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据实例
- 科技论文写作和发表规则
- linux
- A valid provisioning profile for this executable was not found.
- 【C++的探索路5】类的基础拓展与this指针