사용자 도구

사이트 도구

English

moacon:getadc:index

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
moacon:getadc:index [2016/03/23 13:08]
Comfile Technology [사용예]
moacon:getadc:index [2020/02/23 13:58] (현재)
Comfile Technology [사용예]
줄 1: 줄 1:
 +====== getAdc ======
  
 +''​int getAdc (u8 adcId, u8 adcCh)''​
 +|adcId : ADC 모듈의 ID (0 부터 9 사이의 값)   ​| ​
 +|adcCh : 읽어올 채널 (1 부터 4 사이의 값)  | 
 +
 +==== 설명 ====
 +getAdc 는 RS-ADIN4 를 위한 함수입니다. adcId 는 AD 입력모듈 전면부에 있는 ID 라고 적힌 로터리스위치를 뜻합니다. AD 입력모듈에는 4 개의 입력채널이 있으며 이중 측정하고자
 +하는 채널을 adcCh 에 써줍니다. ID 번호가 틀린경우,​ 혹은 모듈과 통신중 에러가 발생한 경우에는 –1 을 리턴합니다. ​
 +
 +^ 2 번 DIP 스위치 ​    ^ 출력값 ​               ^ 예외의 값                                                                                 ^
 +| ON ( 0 ~ 10V )  | 0 부터 10,000 사이의 값  | 입력 open 시 310~ 320 사이값 (10 진수).\\ 실제로도 310~320 사이 값이 나올수 있으므로,​결과적으로 이 모드에선 입력오픈체크가 불가능. ​ |
 +| OFF (1 ~ 5V )   | 0 부터 10,000 사이의 값  | 0.8V 미만의 값일경우 11,111 (10 진수) \\ 5.2V 이상의 값일 경우 55,555 (10 진수) \\ 입력 open 시 11,111 (10 진수) ​  |
 +
 +==== AD 변환속도 ====
 +
 +RS-ADIN4 모델의 경우 채널당 샘플링시간은 30 밀리초입니다. 4 개 채널을 모두 샘플링하는데 걸리는 시간은 120 밀리초입니다. 따라서 120 밀리초보다 빠른 간격으로
 +getAdc 함수를 수행하는 것은 무의미한 일입니다. 같은 값만 계속 반환하게 됩니다. ​
 +
 +RS-ADIN4 는 파워온후 120 밀리초 이후에 사용해야합니다. ​
 +
 +==== 사용예 ====
 +<code c>
 +#include "​moacon500.h"​
 +void cmain(void)
 +{
 + int i;
 + short j;
 + ​clcdI2cInit(0);​ // 슬레이브 어드레스는 0 으로 합니다.
 + ​clcdPower(1);​ // lcd 의 Power 를 On
 + ​delay(100);​ // clcd 기동시간 대기
 + ​clcdCls();​
 + ​clcdCsr(0);​
 + ​delay(900);​ // ADC 모듈 최초 샘플링시간 대기
 + ​comPower(1);​ // RS232 파워를 On 한뒤 여기서 5V 를 공급받습니다.
 + ​while(1) {
 +   i = getAdc(2,​1);​
 +   ​clcdPrint(0,​0,"​ADC:​%06d",​i);​
 +
 +   ​delay(100);​
 +   }
 + ​} ​
 +</​code>​
 +
 +[[moacon:​index#​-f-|라이브러리 목록으로 가기]]