官方函数说明
- Raspberry Pi specific functions 初始化、GPIO控制函数
- Timing functions 时间控制函数
- Program priority, timing and threads 优先级、中断以及多线程函数
- Serial library 串口控制函数
- SPI library SPI控制函数
- I2C library I2C控制函数
- Shift library 移位处理函数
- Software PWM library 软件PWM通用处理函数
- Software tone library 软件PWM音频处理函数
一、wiringPi初始化函数
使用wiringPi时,必须先初始化树莓派,否则程序不能正常工作。
函数 | 功能 | 返回值 | 权限需求 | 备注 |
int wiringPiSetup (void) | 根据wiringPi引脚编号系统初始化树莓派 | 返回执行状态值,当返回-1时表示失败。 | root | 最常用 |
int wiringPiSetupGpio (void) | 根据BCM引脚编号系统初始化树莓派 | 返回执行状态值,当返回-1时表示失败。 | root | |
int wiringPiSetupPhys (void) | 根据Broadcom芯片的GPIO管脚号初始化树莓派 | 返回执行状态值,当返回-1时表示失败。 | root | 不常用 |
int wiringPiSetupSys (void) | 由系统接管,使用/sys/class/gpio接口,不直接操作硬件,通过shell或者直接system()函数来调用gpio命令 | 返回执行状态值,当返回-1时表示失败。 | -- | 根据情况使用 |
二、通用GPIO控制函数
函数 | 功能 | 参数说明 | 返回值 | 权限需求 | 备注 |
void pinMode (int pin, int mode) | 配置引脚的IO模式 | pin 引脚编号,由初始化函数决定采用哪种编号系统
mode 指定引脚的IO模式 可取的值:INPUT、OUTPUT、PWM_OUTPUT,GPIO_CLOCK | -- | -- | 仅wiringPi Pin1(BCM Pin18)支持PWM输出 仅wiringPi Pin7(BCM Pin4) 支持CLK输出 |
void digitalWrite (int pin, int value) | 让一个已经配置为输出模式的引脚输出高/低电平信号 | pin 引脚编号,由初始化函数决定采用哪种编号系统
value 引脚输出的电平值 HIGH = 高电平 LOW = 低电平 | -- | -- | |
int digitalRead (int pin) | 读取一个引脚的电平值 | pin 引脚编号,由初始化函数决定采用哪种编号系统 | 返回引脚上的电平状态值 0 = LOW 1 = HIGH | -- | |
void analogWrite(int pin, int value) | 模拟量的输出 | pin 引脚编号,由初始化函数决定采用哪种编号系统
value 输出的模拟量的数字量化值 | -- | -- | 树莓派的引脚本身是不支持AD转换的,也就是不能使用模拟量的API, 需要增加另外的模块,包括但不限于Gertboard和quick2Wire analog board扩展板 |
int analogRead (int pin) | 模拟量的输入 | pin 引脚编号,由初始化函数决定采用哪种编号系统 | 返回模拟量的数字量化值 | -- | 树莓派的引脚本身是不支持AD转换的,也就是不能使用模拟量的API, 需要增加另外的模块,包括但不限于Gertboard扩展板 |
void pwmWrite (int pin, int value) | 输出一个值到PWM寄存器,控制PWM输出。 | pin 引脚编号,由初始化函数决定采用哪种编号系统
value 写入到PWM寄存器的值,范围在0~1024之间。 | -- | -- | pin只能是wiringPi 引脚编号下的1脚(BCM下的18脚) |
void pullUpDnControl (int pin, int pud) | pin 引脚编号,由初始化函数决定采用哪种编号系统
pud 拉电阻模式 PUD_OFF 不启用任何拉电阻。关闭拉电阻。 | -- | -- | 树莓派内部的拉电阻≈50kΩ |
三、时间控制函数
功能 | 参数说明 | 返回值 | 权限需求 | 备注 | |
unsigned int millis (void) | 返回一个从你的程序执行 初始化函数(比如wiringPiSetup)到执行本函数时所经过的时间,以毫秒计数。 | -- | 返回类型是unsigned int,最大可记录 大约49天的毫秒时长。 | -- | |
unsigned int micros (void) | 返回一个从你的程序执行 初始化函数(比如wiringPiSetup)到执行本函数时所经过的时间,以微秒计数。 | -- | 返回类型是unsigned int,最大可记录 大约71分钟的时长。 | -- | |
void delay (unsigned int howLong) | 将当前执行流暂停并等待指定的毫秒数后跳出。 | howLong 参数是unsigned int 类型,最大延时时间可达49天 | -- | -- | 因为Linux本身是多线程的,所以实际暂停时间可能会长一些。 |
void delayMicroseconds (unsigned int howLong) | 将当前执行流暂停并等待指定的微秒数后跳出。 | howLong 参数是unsigned int 类型,最大延时时间可达71分钟 | -- | -- | 因为Linux本身是多线程的,所以实际暂停时间可能会长一些。 |
四、中断&优先级处理函数
五、多线程处理函数
六、串口控制函数
七、SPI控制函数
八、I2C控制函数
九、移位处理函数
十、PWM控制函数
未 完 待 续