사용자 도구

사이트 도구

English

moacon:getadc:index

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 밀리초 이후에 사용해야합니다.

사용예

#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);
   }
 } 

목록으로 가기

moacon/getadc/index.txt · 마지막으로 수정됨: 2016/04/14 09:50 (바깥 편집)