树莓派 C LED闪烁

此生再无相见时 提交于 2020-01-03 04:07:01

学习记录

功能

通过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;
}

函数解释

  1. wiringPiSetupGpio 函数初始化 wiringPi,假定程序使用的是 Broadcom 的 GPIO
    管脚定义,即BCM码。
  2. 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 脚本中来设置管脚的模式。
  3. digitalWrite 函数。该函数的原型为:void digitalWrite(int pin, int value);使用该函数可以向指定的管脚写入 HIGH(高)或者 LOW(低),写入前,需要将管脚讴置为输出模式。
    wiringPi 将任何的非 0 值作为 HIGH(高)来对待,因此,0 是唯一能够代表 LOW(低)的数值。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!