aixiao
084f378a18
增加 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
65 lines
1.1 KiB
C
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]);
|
|
}
|
|
|