raspberrypi/gpio/info_light.c
aixiao 084f378a18 20180911
增加 dth11 温度湿度传感器
目前工作的有DS18B20温度传感、DTH11温度湿度传感器
未测试的有info_sound、info_ultrasound、info_infrared二进制程序

	修改:     gpio/Makefile
	新文件:   gpio/conf/info.conf
	新文件:   gpio/dth11.c
	删除:     gpio/info_infrared
	修改:     gpio/info_infrared.c
	删除:     gpio/info_light
	修改:     gpio/info_light.c
	删除:     gpio/info_pin
	修改:     gpio/info_pin.c
	删除:     gpio/info_sound
	修改:     gpio/info_sound.c
	删除:     gpio/info_ultrasound
	修改:     gpio/info_ultrasound.c
	修改:     gpio/log/light.pid
	修改:     gpio/log/wind.pid
	新文件:   gpio/log/wind_daemon.pid
	删除:     gpio/wind
	修改:     gpio/wind.c
2018-09-11 14:35:16 +00:00

65 lines
1.1 KiB
C

/* 设置PIN脚为1或0电位(电压)
*
*
*/
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
void pinMode (int pin, int mode) ;
void pullUpDnControl (int pin, int pud) ;
void digitalWrite (int pin, int value) ;
void pwmWrite (int pin, int value) ;
int digitalRead (int pin) ;
analogRead (int pin) ;
analogWrite (int pin, int value) ;
*/
int _main(char *argv[], int n)
{
int j = 0;
int i;
char parameter[10];
strcpy(parameter, argv[n]);
int len = strlen(parameter);
for(i=0; i<len; i++)
{
if(parameter[i]<=57 && parameter[i]>=48) //0~9的ASCII码是48~57
{j++;}
}
if(j==len){
return 1;
} else {
return 0;
}
}
int main(int argc, char *argv[])
{
if( argc != 3) {
exit(0);
}
if(_main(argv, 1) == 0) {
printf("参数错误, 参数1为PIN引脚值\n");
exit(1);
}
int pin = atol(argv[1]);
wiringPiSetup();
pinMode(pin, OUTPUT);
if(atol(argv[2]) == 1) {
digitalWrite(pin, HIGH);
}
if(atol(argv[2]) == 0) {
digitalWrite(pin, LOW);
}
return atol(argv[2]);
}