네이티브 직렬 포트 (UART RS-232)에 안드로이드 응용 프로그램/서비스 액세스 권한을 부여하려고합니다. 내가 네이티브라고 말하면, 진정한 UART는 USB에서 직렬 동글이 아니라는 뜻입니다. 터미널에서 볼 수 있습니다 (4 개의 네이티브 직렬 포트 중 하나에 연결됨). 커널이 이미 저수준을 처리하고 있음을 보여줍니다.안드로이드에서 네이티브 직렬 포트에 액세스
# ls -l /dev
crw-rw-rw- system system 204, 67 2010-01-01 07:00 s3c2410_serial3
crw-rw-rw- system system 204, 66 2010-01-01 07:00 s3c2410_serial2
crw-rw-rw- system radio 204, 65 2010-01-01 07:00 s3c2410_serial1
crw-rw-rw- system system 204, 64 2010-01-01 07:00 s3c2410_serial0
나는 진저 브레드를 사용합니다. S5PV210 프로세서가 탑재 된 플랫폼에 안드로이드를 이식했습니다. 나는 커널과 권한에 대한 모든 권한을 가지고있다. 나는 이미 init.rc 파일을 포함하여 많은 것들 (셀룰러, 터치 스크린, LCD 패널 크기 등)을 수정했다.
Android APK에서 해당 기기와 어떻게 대화 할 수 있습니까? 당신이 볼 수 있듯이 "s3c2410_serial1"은 "radio"사용자로부터 온 것입니다. 왜냐하면 원래의 시스템에서 진저 브레드 소스 코드를 가져온 것은 GPRS 모듈을 직렬 포트에 가지고 있었기 때문입니다. init.rc.에서 쉽게 변경할 수 있습니다. 그러나 그것은 단지 우리가 안드로이드 시스템에서 기본 직렬 포트에 액세스 할 수 있다는 것을 증명합니다.
응용 프로그램 또는 서비스는 전송 속도 또는 고급 기능을 APK로 제어 할 필요가 없습니다. 나는 캐릭터를 보내고 받고 싶다. 커널은 기본 통신 속도를 설정할 수 있으며 그 점에 만족합니다. 나는 RTS/CTS에 대한 통제조차 필요가 없다.
어떤 힌트를 주시면 감사하겠습니다.
파일 열기, 닫기 등으로 JAVA 파일로 취급하는 친구가 있습니다. Google에서 Github의 일부 소스 코드를 검색 한 것으로 나타났습니다. https://github.com/liquidware/android_serialmonitor 가까이에있는 것 같습니다. 내가하고 싶은 걸로 나는 그것을보고 좋은 해결책이라면 게시 할 것입니다. –
액정 프로그램 코드에는 "com.liquidware.amberserial.app.R"을 가져와야합니다. 어디서나 찾을 수 없습니다. 그것은 안드로이드 플랫폼의 일부이지만 표준이 아닌 것 같습니다. 나는 그것을 어디에서 발견 할 수 없거나 나는 무엇인가 놓쳤다. –