不同语言对树莓派IO操作的速度比较

今天闲着没事,测试了一下各种语言在树莓派上的运行速度

以输出高低电平为例,仅供参考

 

实验系统:2016-11-25-raspbian-jessie-lite

实验时间:2017-5-25

系统要求:系统已经默认好安装python环境,手动安装wiringPi,安装java

测试语言:shell脚本,Python,java,C 依次进行测试.

测试表:UT71C

树莓派版本:3b

 

首先是Shell 脚本

 

 

#!/bin/bash
gpio mode 1 output
 while [ 1 ]
        do
        gpio write 1 1
        gpio write 1 0
        done

 

 

 

 

 

 

 

 

 

下图是频率,非常低只有192.2 HZ

 

 

 

 

 

下面演示python

 

 

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(12, GPIO.OUT)
while True:
        GPIO.output(12, GPIO.HIGH)
        GPIO.output(12, GPIO.LOW)

 

 

 

 

 

 

使用python 的频率为 321.6 KHZ

 

 

 

 

 

下面是java 的代码

 


 

 

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;
 
public class pi {
        public static void main(String[] args) {
                GpioController gpio = GpioFactory.getInstance();
                GpioPinDigitalOutput output =     gpio.provisionDigitalOutputPi;
        while(true){
                output.high();
                output.low();
        }
        }
}

 

 

 

 

 

 

 

 

 下面是运行java 的频率  1.65 MHZ

 

 

 

 

 

 

 

下面是 java 使用wiringpiSet模式

 

 

import com.pi4j.wiringpi.Gpio;
 
public class pi {
 
    public static void main(String args[]) throws InterruptedException {
         
        if (Gpio.wiringPiSetup() == -1) {
            System.out.println(" ==>> GPIO SETUP FAILED");
            return;
        }
           while(true){
 Gpio.pinMode(1, Gpio.OUTPUT);
            Gpio.digitalWrite(1, 1);
            Gpio.digitalWrite(1, 0);
         }
    }
}

 

 

 

 

 

下面是频率大小:2.40 MHZ

 

 

 

 

 

下面是终极大佬登场,也就是c语言,看看有多溜

 

 

#include<wiringPi.h>
 
int main()
{
        wiringPiSetup () ;
 
        pinMode(1,OUTPUT);
        while(1)
        {
        digitalWrite (1, HIGH);
        digitalWrite (1, LOW);
        }
        return 0;
}

 

下面是C语言的频率 13.9 MHZ

 

 

 
  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值