2013-07-18 4 views
0

소프트웨어와의 기본적인 하드웨어 상호 작용에 관심을 가졌습니다.하드웨어 대 소프트웨어 통합/상호 작용

하드웨어 제어를 배우기에 좋은 언어는 무엇입니까? 자바가 그 일을 할 수 있습니까?

+0

하드웨어의 어떤 종류의? – darlinton

+0

@darlinton 나는 무엇이든지 기본에 대해 꽤 많이 이야기했다. 명령시 포트로 전기를 보내는 것. 지금까지 Arduino가 최고의 대답이었습니다. –

답변

4

다른 사람이 제안했듯이 C 또는 C++는 포인터 구조 (임의의 메모리 주소에 액세스 할 수 있음)로 인해 하드웨어와의 상호 작용이 매우 직접적으로 수행 될 수있는 "적절한"방법입니다.

C 또는 C++을 사용하지 않았다면 arduino 보드를 사용해 보았을 때 C 구문의 느낌을주고 동시에 매우 잘 문서화 된 보드를 제공 할 것이라고 제안했습니다. .

http://arduino.cc/

심지어 자바 보드에 인터페이스 할 수 있어야하고 C#

http://playground.arduino.cc/Interfacing/Java http://playground.arduino.cc/Interfacing/csharp

+0

감사합니다! 나는 C와 C++에서 충분한 경험을 가지고있다. 나는 arduino를 점검 할 것이고, 지식을 시작하는 데 정말로 좋은 방법 인 것 같다. :) –

2

플랫폼에 따라 다릅니다. 귀하의 장치에 대한 좋은 자바 API를 가지고 있다면, 그것은 충분히 잘 작동합니다. 일반적으로 C 또는 C++은 하드웨어와 관련하여 선택되는 언어입니다. 그 이유는 포인터 구조를 통해 임의의 메모리 주소에 직접 액세스 할 수 있기 때문입니다. 이것은 대부분의 경우 하드웨어와 상호 작용하는 방법입니다. 이것은 java에서 직접 가능하지 않습니다.

+0

실제로 대부분의 멀티 태스킹 운영 체제에서는 사용자 모드 프로그램이 하드웨어에 직접 액세스하는 것을 권장하지 않습니다. 그리고 현대의 많은 컴퓨터에는 제한된 하드웨어 나 어쨌든 메모리 매핑 I/O를 사용하는 하드웨어를 추가 할 수있는 기능이 있습니다. USB 버스에 매달려있는 것은 API 기반이 될 것입니다. 하지만 USB의 다른 쪽 끝에있는 임베디드 시스템에서 실행되는 것은 C에서 컴파일 될 수 있습니다. –