学习记录
功能
通过c程序,控制LED1Hz闪烁。
代码
/*************************************************************************
> File Name: 2.c
> Author: admin
> Mail:
> Created Time: 2020年01月01日 星期三 11时49分27秒
> Modified Time:2020年01月01日 星期三 13时31分21秒
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
int main()
{
wiringPiSetupGpio();
pinMode(10, OUTPUT);
for(;;)
{
digitalWrite(10, HIGH);
printf("led off\n");
delay(500);
digitalWrite(10, LOW);
printf("led on\n");
delay(500);
}
return 0;
}
函数解释
- wiringPiSetupGpio 函数初始化 wiringPi,假定程序使用的是 Broadcom 的 GPIO
管脚定义,即BCM码。 - pinMode 函数。该函数的原型为:void pinMode(int pin, int mode);使用该函数可以将某个管脚讴置为 INPUT(输入)、OUTPUT(输出)、PWM_OUTPUT(脉冲输出)或者 GPIO_CLOCK(GPIO 时钟)。
需要注意的是仅有管脚 1(BCM_GPIO 18)支持 PWM_OUTPUT 模式,仅有管脚 7(BCM_GPIO 4)支持 CLOCK 输出模式。
在 Sys 模式下,返个函数没有影响。你可以通过调用 gpio 命令在 shell 脚本中来设置管脚的模式。 - digitalWrite 函数。该函数的原型为:void digitalWrite(int pin, int value);使用该函数可以向指定的管脚写入 HIGH(高)或者 LOW(低),写入前,需要将管脚讴置为输出模式。
wiringPi 将任何的非 0 值作为 HIGH(高)来对待,因此,0 是唯一能够代表 LOW(低)的数值。