GPIO의 전원 켜기 상태는 무엇입니까?


35

전원 공급시 GPIO의 상태는 무엇입니까? 예 : High, Low, Hi-Z?

또한 OS가로드 될 때 GPIO의 상태를 변경합니까? 바라건대


데이터 시트에없는 한 확실하게 측정해야합니다. 리눅스는 GPIO에 대해 "알지"않기 때문에 부팅하는 동안 GPIO를 변경하지는 않지만 (시작 스크립트를 작성하지 않았다면) ROM이 항상있을 가능성이있다.
Malvineous

@ Malvineous, 당신은 틀렸다. Linux는 GPIO에 대해 알고 있으며 지원은 커널에 바로 내장되어 있습니다. 다음은 몇 가지 설명서입니다. kernel.org/doc/Documentation/gpio.txt
Emmaly Wilson

2
@DustyWilson : 확실하지 않다면 죄송하지만, 핵심 Linux 커널이 부팅 중에 GPIO를 사용하지 않습니다. 사용자 공간과 특정 드라이버에서만 사용할 수 있습니다. 따라서 스톡 커널은 부팅 중에 GPIO 핀의 상태를 변경하지 않아야합니다.
Malvineous

@ Malvineous : 아, 차.
Emmaly Wilson

답변:


11

나는 대답 발견 여기에게 감사 russellstrong을 . 아래 관련 부분을 인용합니다

풀업 저항에 대한 회로의 풀업 저항 / 감도에 대한 결론으로 ​​뛰어 들었습니다. RPi가 처음 부팅 할 때 GPIO가 출력되도록 설정하지 않았습니다. 풀다운 저항을 740 밀리 초 동안 켜고 있습니다.

나는 두 개의 18K 저항 (3v3-> GPIO-> GND)을 사용하여 핀으로 무슨 일이 일어나고 있는지 정확하게 보았습니다. 여기에 흔적이 있습니다. 파란색 선은 3v3 전원, 노란색 선은 GPIO 선입니다.

여기에 이미지 설명을 입력하십시오


약간 명확히 할 수 있습니까? Raspberry Pi가 부팅되면 GPIO가 높은 임피던스의 입력 상태로 설정됩니까?
Alex Chamberlain

1
@AlexChamberlain, Broadcom 칩이 풀다운으로 시작하는 것처럼 보이지만 로더가 풀다운을 해제하여 높은 임피던스 (입력)가되도록합니다.
John La Rooy

9

RPi에 권장되는 데비안 배포판을 사용하기 시작하면 GPIO가 비활성화됩니다. 각 핀을 개별적으로 활성화해야합니다.

/ sys 를 통해이 작업을 수행하는 경우 "Paths in Sysfs"가 흥미로울 것입니다 ( http://www.kernel.org/doc/Documentation/gpio.txt 내 검색 ). 특히 핀을 "내보내기"하여 핀을 활성화 할 수 있습니다. 아래의 모든 명령은 루트 권한 (스도 또는 기타)으로 실행 중이거나 수정중인 가상 파일의 권한 / 소유권을 변경했다고 가정합니다.

echo 4 > /sys/class/gpio/export

GPIO 핀 # 4를 활성화하면 여러 가상 파일이 포함 된 / sys / class / gpio / gpio4가 존재합니다. 이러한 파일에는 입력 또는 출력 핀인지 여부를 정의하는 "방향", 입력을 위해 읽기 전용이거나 출력을 위해 쓸 수 있고 현재 값을 포함하는 "값"등이 포함됩니다.

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

물론 기존 라이브러리를 사용하여 선택한 언어와 함께 제공되거나 선택한 언어와 호환되는 GPIO를 수행하는 것이 좋습니다. 그러나 간단한 것을 원한다면 sysfs와 직접 인터페이스하여 매우 기본적인 GPIO를 수행 할 수 있습니다.


도움이됩니다. 데이터 시트를 보았지만 핀의 기본 상태를 찾을 수 없습니다. 이것은 핀을 사용하여 제어하고 os가로드되는 동안 주변 장치를 켜지 않으려는 경우에 중요합니다.
John La Rooy

3
이것은 훌륭한 답변이지만 실제로 질문에 대한 답변인지 확실하지 않습니다. GPIO가 활성화 된 직후 상태는 무엇입니까? 방향 설정?
Alex Chamberlain

@gnibbler : 테스트 만하면됩니다. 나는 조금 전에 그것을 직접 시도했고, 뭔가 깜빡이는 것과 관련하여 예기치 않은 것을 보지 못했습니다. 나는 내 경험이 예상되는 것임을 알거나 약속하지 않습니다. 멀티 미터 또는 테스트하려는 핀에 던지기를 한 다음 Pi를 여러 번 재부팅하거나 전원을 껐다 켜서 테스트해야한다고 말하고 싶습니다. 내가 본 것은 각 핀을 직접 활성화 할 때까지 Pi에 전원이없는 것처럼 모든 핀이 꺼져 있다는 것입니다.
Emmaly Wilson

@DustyWilson, 아마도 풀업 또는 풀다운이없는 입력으로 설정되었을 수 있습니다. 이것은 FET에 연결되면 효과적으로 플로팅되고 풀업 / 다운 저항이 게이트에 추가되지 않으면 임의의 동작을 일으킬 수 있음을 의미합니다.
John La Rooy

실제로 ... cat /sys/class/gpio/gpio4/direction"에"라고 말합니다. 데이터 시트에서 풀업 / 풀다운 상태를 읽을 수 없다는 것을 읽었습니다. 나는 그들을 측정하려고 할 것이다
John La Rooy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.