GPIO接口在官网有详细的说明:http://wiringpi.com/reference/core-functions/

wiringPi的GPIO序号如下:
1.jpg

void pinMode (int pin, int mode) ;
设置GPIO模式。
pin是引脚序号,以何种方式编号在前面决定。
mode可以设置为:

INPUT
OUTPUT
PWM_OUTPUT
GPIO_CLOCK
SOFT_PWM_OUTPUT
SOFT_TONE_OUTPUT
PWM_TONE_OUTPUT

只有具有相应功能的引脚才能设置为该功能。

void pullUpDnControl (int pin, int pud) ;
设置上下拉。
pin是引脚序号,以何种方式编号在前面决定。
pud是上下拉配置,可设置为:

PUD_OFF 无上下拉
PUD_UP 上拉,3.3v,50kΩ
PUD_DOWN 下拉,50kΩ

void digitalWrite (int pin, int value) ;
设置指定引脚的输出。
pin是引脚序号,以何种方式编号在前面决定。
value是输出值,可以设置为:

HIGH 或 非0 高电平(3.3v)
LOW 或 0 低电平

void digitalWriteByte (int value) ;

int digitalRead (int pin) ;
读取指定引脚。
pin是引脚序号,以何种方式编号在前面决定。
返回的是该引脚的电平,返回HIGH或LOW。

void pwmWrite (int pin, int value) ;
设置pwn输出占空比。
pin是引脚序号,以何种方式编号在前面决定。(最新的树莓派里面好像把pwm功能去掉了)
value是占空比,范围是0~1023。
???在哪设置pwm的周期呢?

analogRead (int pin) ;
读入模拟量(AD)。
analogWrite (int pin, int value) ;
输出模拟量(DA)。
以上两个功能需要外加芯片,这里略去。

wiringPi-C控制GPIO的速度
2.png
高低电平变化响应速度大约是80ns。(raspberry-gpio-python的速度大约是2us,大约是它的25倍)
注意,wiringPi-C也是在上层的程序,输出的波形同样是不稳定的。


本站所有文章欢迎转载,但请保留作者信息和原文地址。

Comments