树莓派GPIO口驱动编写

一、wiringpi写法

#include <wiringPi.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
    if(argc<2)
        return -1; 

    if(argc==2)
    {   
        wiringPiSetup();
        pinMode(0, OUTPUT);
        if(atoi(argv[1]) == 1)
            digitalWrite(0, HIGH);
        else if(atoi(argv[1]) == 0)
            digitalWrite(0, LOW);

        return 0;
    }   

    return 0;
}

可以使用shell指令查看GPIO对应情况:

$gpio readall

官方网站:http://wiringpi.com/

 

二、bcm2835

#include <bcm2835.h>
#include <stdio.h>

/*GPIO pin 17*/
#define PIN RPI_GPIO_P1_11

int main(int argc,char **argv)
{
    if(!bcm2835_init())
        return 1;
    
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);

    while(1)
    {   
        bcm2835_gpio_write(PIN,HIGH);

        bcm2835_delay(500);

        bcm2835_gpio_write(PIN,LOW);

        bcm2835_delay(500);
    }   
    bcm2835_close();
    return 0;
}

GPIO口配置:http://elinux.org/RPi_Low-level_peripherals

bcm2835官网:http://www.airspayce.com/mikem/bcm2835/index.html

 

转载于:https://www.cnblogs.com/ch122633/p/7401879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用Python控制树莓派GPIO输出电压,需要先安装RPi.GPIO库。可以使用以下命令在终端中安装: ``` sudo apt-get update sudo apt-get install rpi.gpio ``` 安装完成后,可以使用以下代码来输出电压: ```python import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) # 设置GPIO编号模式为BCM编号方式 GPIO.setup(18, GPIO.OUT) # 将GPIO18设置为输出模式 # 持续输出3秒钟,每隔0.5秒输出一次 for i in range(6): GPIO.output(18, GPIO.HIGH) # 输出高电平 time.sleep(0.5) # 持续0.5秒 GPIO.output(18, GPIO.LOW) # 输出低电平 time.sleep(0.5) # 持续0.5秒 GPIO.cleanup() # 清除GPIO占用 ``` 这段代码将GPIO18设置为输出模式,并在循环中持续输出高低电平,每隔0.5秒切换一次电平,持续3秒钟。最后需要使用`GPIO.cleanup()`清除GPIO的占用。 ### 回答2: 树莓派是一款基于ARM架构的微型计算机,具有强大的可扩展性和丰富的GPIO,可以用于控制外部设备。下面是关于使用Python语言来实现树莓派GPIO输出电压的简单说明。 首先,我们需要连接一个合适的电路来控制输出电压。树莓派GPIO能够输出3.3V的电压,但是输出电流有限,不能直接驱动大功率设备。因此,我们通常需要添加一个适当的功率放大电路来增强输出信号。 接下来,我们可以使用Python编程语言来控制GPIO输出电压。树莓派上有几个常用的Python库,如RPi.GPIO和pigpio,它们提供了丰富的函数和方法来操作GPIO。 下面是一个使用RPi.GPIO库来控制树莓派GPIO输出电压的简单示例代码: ```python import RPi.GPIO as GPIO # 设置GPIO的模式为BCM模式 GPIO.setmode(GPIO.BCM) # 设置GPIO为输出模式 GPIO.setup(GPIO_PIN, GPIO.OUT) # 设置GPIO输出电压为高电平 GPIO.output(GPIO_PIN, GPIO.HIGH) # 延时1秒 time.sleep(1) # 设置GPIO输出电压为低电平 GPIO.output(GPIO_PIN, GPIO.LOW) # 清理GPIO GPIO.cleanup() ``` 在以上代码中,首先导入了RPi.GPIO库。然后通过`GPIO.setmode()`方法设置GPIO的模式为BCM模式,这是树莓派上最常用的GPIO编号方式。 接下来,使用`GPIO.setup()`方法将指定的GPIO设置为输出模式。可以根据实际连接的GPIO进行修改,例如将`GPIO_PIN`替换为GPIO的编号。 然后,使用`GPIO.output()`方法来设置GPIO的输出电压,通过传递`GPIO.HIGH`或`GPIO.LOW`参数来设置高电平或低电平输出。 最后,使用`GPIO.cleanup()`方法清理GPIO。 需要注意的是,为了使代码正常运行,我们需要在树莓派上安装RPi.GPIO库。可以通过命令`pip install RPi.GPIO`来进行安装。 总结起来,通过Python编程语言结合树莓派上的GPIO库,我们可以简单地控制树莓派GPIO输出电压,实现对外部设备的控制。希望以上内容对您有所帮助。 ### 回答3: 在树莓派上控制GPIO输出电压可以使用Python来完成。GPIO即通用输入输出引脚,树莓派上有多个GPIO可以使用。 首先,我们需要导入RPi.GPIO库来控制GPIO。然后,使用GPIO.setmode(GPIO.BCM)来设置工作模式为BCM模式,使用GPIO.setup()函数来设置GPIO的工作方式,比如输入或输出。 要输出电压,我们可以使用GPIO.output()函数。该函数接收两个参数,第一个参数是GPIO的编号,第二个参数是GPIO输出的状态。 举个例子,如果我们想要将GPIO 17设置为输出,并输出高电平,可以使用以下代码: ```python import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) GPIO.output(17, GPIO.HIGH) ``` 这样,GPIO 17就会输出高电平。 同样,如果我们想要将GPIO 18设置为输出,并输出低电平,可以使用以下代码: ```python import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.output(18, GPIO.LOW) ``` 这样,GPIO 18就会输出低电平。 需要注意的是,树莓派上的GPIO的电压范围是3.3V,不能直接接通高于3.3V的电压,否则可能会损坏GPIO树莓派。如果需要与其他设备连接,请使用电平转换电路。 以上是使用Python控制树莓派GPIO输出电压的基本方法。根据具体需求,可以通过编写逻辑代码,实现更复杂的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值