문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
moacon:getadc:index [2016/03/23 13:07] 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-|라이브러리 목록으로 가기]] |