메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
WhiteAT2008.01.09 12:56
앗. OperatingOneSecond 대신 다른 함수를 예로 들었어야 했는데... 괜한 것을 올렸네요 ;;


그런데요. 제가 궁금한게 있는데요..저같은 경우에는 OperatingADC(); 하면 ADC 를 해가지고 오는데, 약간의 딜레이가 있습니다.

여기서 딜레이라는게  2000mS를 말하는 건가요?
저럴 경우에는 2000mS를 status를 사용하면 됩니다.

void OperatingADC1(){ // ch = 1 일경우에만 생각해보면

    struct _FUNC_INFO structThisState;
    structThisState= stateOperLED;

    if(structThisState.uiTimer0) return; // 일정시간이 경과하지 않아서 리턴되는건 아시죠?

    structThisState.uiTimer0=1000; // 이거는 디폴트 값입니다. 

    switch(structThisState.uiState){
        case 0:    // 처음
            setup_adc_device_A_ch1();
            structThisState.uiState=1;  // 다음엔 state가 1일 경우로 가라.
 structThisState.uiTimer0=2000; // 2000mS 이후에 들어 와라. 그 동안에는 다른 일을 해라.

            break;
        case 1:    // B positive
            write_adc_byte_A(0x38);
            structThisState.uiState=0;  // 다음엔 state가 0일 경우로 가라.
 structThisState.uiTimer0=2000; // 2000mS 이후에 들어 와라.   그 동안에는 다른 일을 해라.


            break;
        default: // 혹시라도 잘못되면....
            structThisState.uiTimer0=1;
            structThisState.uiState=0;
            break;
       
    }
    stateOperLED = structThisState;   
}

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )