树莓派-wiringPi-GPIO

来源:互联网 发布:interbase数据库 编辑:程序博客网 时间:2024/05/20 11:46

原文地址:http://nicekwell.net/blog/20171122/shu-mei-pai-wiringpi-gpio.html


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

wiringPi的GPIO序号如下:
1.jpg

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

INPUTOUTPUTPWM_OUTPUTGPIO_CLOCKSOFT_PWM_OUTPUTSOFT_TONE_OUTPUTPWM_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也是在上层的程序,输出的波形同样是不稳定的。


原创粉丝点击