树莓派GPIO数字量输出

参考资料【RPi.GPIO 模块使用基础 | 树莓派实验室】https://shumeipai.nxez.com/2016/09/28/rpi-gpio-module-basics.html

学习树莓派GPIO编程,数字量输出。树莓派作为一款操作系统单片机,可以有效实现上位机显示和下位机控制。传统的单片机可以通过Keil编程实现底层的控制,如果需要与上位机显示,或者需要进行上位机控制,比如实现上位机对单片机启动或停止的控制,则需要利用单片机与PC机进行串口通信。

一、树莓派GPIO输出
首先用Python进行编程,实现LED以每秒1次的频率闪烁。

// Python code for GPIO output
import RPi.GPIO as GPIO
import time as t
pin=21
GPIO.setmode(GPIO.BOARD)
GPIO.setup(pin,GPIO.OUT)

while True:
	GPIO.output(pin,GPIO.HIGH)
	t.sleep(1)
	GPIO.output(pin, GPIO.LOW)
	t.sleep(0)
GPIO.cleanup()

用C语言实现树莓派GPIO的控制同样重要,因为在实现Arduino平台编程时,即采用C语言。为了打通两个平台,需要同时学习C语言和Python语言。

// C code for GPIO output
#include<studio.h>
#include<wiringPi.h>

int main()
{
int pin=29;
wiringPiSetup();
pinMode(pin,OUTPUT);
while(1)
{
digitalWrite(pin,1);
delay(1000);//单位ms
digitalWrite(pin,0);
delay(1000);
}
return 0;
}

二、树莓派半交互式输出

这里之所以说是半交互式输出,是因为在下位机控制LED时,上位机能够同步显示LED编号,但是显示的编号是完全基于上位机编程来实现的,因为树莓派的编程上位机和下位机的程序是一起的,因此实现上位机和下位机的交互也变得特别容易。但是,这并不是完全交互式的输出,因为完全交互要求树莓派能够采集LED的状态,从而在上位机上进行显示,并进一步根据上位机的命令进行下位机的控制。

这里通过Python和C语言实现上位机和下位机同步显示LED点亮。

// Python code for LED
import RPi.GPIO as GPIO
import time as t
pin=21
GPIO.setmode(GPIO.BOARD)
GPIO.setup(pin,GPIO.OUT)
while True:
	Print("The pin No."+str(led)+"is on")
	GPIO.output(pin,GPIO.HIGH)
	t.sleep(1)
	print("The pin no."+str(led)+“is off")
	GPIO.output(pin,GPIO.LOW)
	t.sleep(1)
GPIO.clearup()

这个代码的作用是在下位机点亮LED的时候,在上位机屏幕上显示点亮的LED编号。同样的,C语言编程也同样要掌握。

// C code for LED
#include<stdio.h>
#include<wiringPi.h>

int main()
{
int pin=21;
wiringPiSetup();
pinMode(pin,OUTPUT);
while(1)
{
printf("The pin No. %d is on\n",pin);
digitalWrite(pin,HIGH);
delay(1000);
printf("The pin No. %d is off\n",pin);
digitalWrite(pin,LOW);
delay(1000);
}
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值