树莓派ZeroW学习笔记【1】wiringPi 常用函数说明

官方函数说明

Reference | Wiring Pi

 

一、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        不启用任何拉电阻。关闭拉电阻。
PUD_DOWN    启用下拉电阻,引脚电平拉到GND
PUD_UP          启用上拉电阻,引脚电平拉到3.3v

----树莓派内部的拉电阻≈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控制函数

 

未 完 待 续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值