저는 Beaglebone을 처음 접하고이 이상한 문제가 나타 날 때까지 꽤 좋은 클릭으로 움직였습니다. 나는 주말 내내 여기에 게시하기 전에 그것을 알아 내려고 노력했다.BeagleBone에서 analog-in을 읽는 중, "segmentation fault"오류를 피하십시오.
저는 Angstrom 3.2.5 이상의 비글 본에서 여러 센서를 사용하여 아날로그 입력을 읽으려고합니다. 하드웨어 문제 일 수 있다고 생각합니다. 사용
이 Python script 및 Alexander Hiam's PyBBIO 내가 (값이 더 적은 부수적 빛 응답) 성공 포토 레지스터를 테스트 할 수 있었다 : 다른 아날로그 입력 (AINx을
# Import PyBBIO library:
from bbio import *
# Create a setup function:
def setup(): pass # Nothing to do here
# Create a main function:
def loop():
print "-----"
print "AIN0 [P9.39] - " + str(analogRead(A0))
print "AIN1 [P9.40] - " + str(analogRead(A1))
print "AIN2 [P9.37] - " + str(analogRead(A2))
print "AIN3 [P9.38] - " + str(analogRead(A3))
print "AIN4 [P9.35] - " + str(analogRead(A4))
print "AIN5 [P9.36] - " + str(analogRead(A5))
print "AIN6 [P9.33] - " + str(analogRead(A6))
print "AIN7 [P9.39] - " + str(analogRead(A7))
delay(500)
# Start the loop:
run(setup, loop)
을하지만 (2 7)) 위의 스크립트로 읽으면 항상 AIN1에 연결된 포토 레지스터와 같은 값을 보여줍니다.
그리고 아마도 관련있는 고양이를 사용하여 AINx (1-7)을 읽을 수 없습니다. 오류
cat /sys/bus/platform/devices/tsc/ain1
Segmentation fault
아이디어가 있으십니까? 나는 정말로 붙어있다. 미리 감사드립니다.
PS : 더 많은 정보를 원하시면 ...
내 회로는 10K 저항과 포토 레지스터로 구성되어 있습니다. 내 핀 연결은 :
- 헤더 P9 핀 (32) (VDD_ADC (1.8V))이 저항
- 헤더 P9 핀의 반대쪽 광전지의 일단
- 헤더 P9 핀 (34) (GNDA_ADC)에
39 풀다운 저항 여기서
의 일단과 함께 광전지의 반대편 (AIN0)은 회로 내 일치하는 이미지 AINx의 모든의 결과 (1-7)의 다음 몇 가지 ...
# cat /sys/bus/platform/devices/tsc/ain0
cat: /sys/bus/platform/devices/tsc/ain0: No such file or directory
# cat /sys/bus/platform/devices/tsc/ain1
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain2
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain3
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain4
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain5
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain6
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain7
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain8
Segmentation fault
# cat /sys/bus/platform/devices/tsc/ain9
cat: /sys/bus/platform/devices/tsc/ain9: No such file or directory
UPDATE 1
나는 BeagleBone의 모든 ADC 포트를 표시하도록 analog_test_simple.py 파일을 편집했다. 이것은 센서가 플러그인 된 쉘의 결과입니다. 나는 값의 변화를 얻을 내가 다시 센서를 연결, 그러나 다시, 그들은 모두 같은 경우
-----
AIN0 [P9.39] - 3948
AIN1 [P9.40] - 4016
AIN2 [P9.37] - 4002
AIN3 [P9.38] - 3934
AIN4 [P9.35] - 4001
AIN5 [P9.36] - 3935
AIN6 [P9.33] - 3968
AIN7 [P9.39] - 4005
-----
AIN0 [P9.39] - 3946
AIN1 [P9.40] - 4005
AIN2 [P9.37] - 3945
AIN3 [P9.38] - 3957
AIN4 [P9.35] - 4018
AIN5 [P9.36] - 3945
AIN6 [P9.33] - 3967
AIN7 [P9.39] - 3955
...
는 그리고 :
-----
AIN0 [P9.39] - 2836
AIN1 [P9.40] - 2836
AIN2 [P9.37] - 2837
AIN3 [P9.38] - 2831
AIN4 [P9.35] - 2840
AIN5 [P9.36] - 2837
AIN6 [P9.33] - 2837
AIN7 [P9.39] - 2837
-----
AIN0 [P9.39] - 2834
AIN1 [P9.40] - 2834
AIN2 [P9.37] - 2829
AIN3 [P9.38] - 2825
AIN4 [P9.35] - 2826
AIN5 [P9.36] - 2817
AIN6 [P9.33] - 2815
AIN7 [P9.39] - 2815
...
[electronics.SE] (http://electronics.stackexchange.com/)에서 더 좋은 답변을 얻을 수 있습니다. –
ADC 초기화/설정에 필요한 기능이 있습니까? 사용할 채널 수와 범위를 알려주십시오. 당신은 또한 새로운 입력에 swithc에 ADC 시간을주고 읽기 사이에 짧은 (0.1 초?) 수면을 시도 할 수 –