메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
일반
2008.01.08 12:57

LED 깜빡 거림.

조회 수 15,505 추천 수 0 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?
  • WhiteAT 2008.01.08 13:40
    main() 함수에서 LED 관련함수를 계속 호출하고,
    LED 관련함수에서는 일정 시간이 되면 일을 하게 하는 방법은 어떨까요?

    일단 몇가지 변수를 추가하고요.
    byte g_byteLEDOperMode; //  0 : LED off
                                           //  1: LED ON
                                           //  2: LED BLINK
    UINT16
    g_uiOperatingOutLEDTimer;
    UINT16 g_uiOperatingOutLEDStatus;

    메인에서
    OperatingOutLED() 함수를 루프로 호출하고
    main(){
        while(1) {
             OperatingOutLED();
        }
    }


    void OperatingOutLED(){
         // 일정시간이 되지 않았으면 리턴
         if(g_uiOperatingOutLEDTimer >0) return;

         // 일정시간이 되면 실행하겠다.
          if(2==g_byteLEDOperMode){
                  // blink 모드이다.
               g_uiOperatingOutLEDTimer=1000;     // 다음에 1000이 경과된 후에 OperatingOutLED() 들어와라  
                if(0==g_uiOperatingOutLEDStatus){
                          //  LED OFF
                         
    g_uiOperatingOutLEDStatus = 1;
     
                 }
              }else if(1==g_uiOperatingOutLEDStatus){
                          //  LED ON
                         
    g_uiOperatingOutLEDStatus = 0;
     
                 }
          }

    }

    타이머인터럽트 에서
    if(g_uiOperatingOutLEDTimer >0) g_uiOperatingOutLEDTimer--; // 감소시켜 주고.


    이 방법이 처음에는 어려워 보일수 있으나 확장성이 좋고, 프로그램이해가 쉬운 방법입니다.


    제가 사용한 소스를 보여드릴테니 참고하세요.^^
     void OperatingLED(){
    
        struct _FUNC_INFO structThisState;
        structThisState= stateOperLED;
        if(structThisState.uiTimer0) return;
    
        structThisState.uiTimer0=1000;
    
        switch(structThisState.uiState){
            case 0:    // A positive
                structThisState.uiState=1;
                OPERATING_LED = 0;
    
                break;
            case 1:    // B positive
                structThisState.uiState=0;
                OPERATING_LED = 1;
    
                break;
            default:
                structThisState.uiTimer0=1;
                structThisState.uiState=0;
                break;
            
        }
        stateOperLED = structThisState;    
    }
    
    ////////////////////////////////////////////////////////////////////
            if(stateOperLED.uiTimer0)        stateOperLED.uiTimer0--;
    
    
    ///////////////////////////////////////////////////////////////
        while(1) { 
    
            #asm("WDR")
             OperatingLED();
            OperatingADC();
            
        }
    
    
    






  • 러빙유 2008.01.08 14:26
    감솨합니다. 상당히 괜찮은 구조인 것 같습니다. 혹시 LED BYTE별 제어가 아니라 비트별 제어를 하게 된다면,

    Switch case 문같은 선택문이나 for 같은 반복문을 써서 비트별로

    (2==g_byteLEDOperMode){
                  // blink 모드이다.
               g_uiOperatingOutLEDTimer=1000;     // 다음에 1000이 경과된 후에 OperatingOutLED() 들어와라  
                if(0==g_uiOperatingOutLEDStatus){
                          //  LED OFF
                         
    g_uiOperatingOutLEDStatus = 1;
     
                 }
              }else if(1==g_uiOperatingOutLEDStatus){
                          //  LED ON
                         
    g_uiOperatingOutLEDStatus = 0;
     
    위 사항을 실행시켜 주어야 하는 것이나요?  아님, 다른 정형화된 것이 있는지요?..
  • WhiteAT 2008.01.08 14:47
    질문을 정확히 이해를 못했는데요^^.
    그 구조와 비슷하게 하시면 됩니다. (byte가 bit 보다 8배 공간이 크다는 차이뿐이 없습니다)

  • 러빙유 2008.01.08 15:12
    감솨합니다. 일단 제가 이래 저래 해보고 하다가 막히는 것만 질문 드리겠습니다. 감솨합니다.
  • 러빙유 2008.01.08 15:22 글쓴이

    아. 아무래도 여쭈어 봐야 겠습니다.

    제가 하고자 하는 것은 비트별 깜빡거림 구현이었습니다.

    그러니깐 main() 에서 LED[0] = 2 하면 BLINK 모드로서

    첫번재 LED만 깜빡거리고 나머지 LED 7개는 점등, 또는 소등 되어 있는 상태를 구현하고 싶습니다.

    결국, 그렇다면 위에 보여주신 구조가 8개가 반복되어야 하는 것인지...구조가 감이 안 잡혀서 질문을 드립니다....--

  • WhiteAT 2008.01.08 15:53
    1. 좀 무식한 방법으로 ㅡㅡ;
        제가 알려드린 소스를 8개 만들어서 각각의 비트를 제어할수 있구요^^

    2.
    LED로 보낼 데이터를 임시로 보관할 변수를 만들고,
    BYTE g_byteLEDOutput;

    // 만약 3번째(즉,bit2)를 blink 해야 한다면
    g_byteLEDOutput = g_byteLEDOutput & ~(1<<2); // bit2 => CLEAR
    g_byteLEDOutput = g_byteLEDOutput |    (1<<2); // bit2 => SET
    // 즉 위의 두줄은 다른 비트에 영향을 주지 않기 때문에, 사용할 비트만 제어할수 있습니다.
    // 이 소스를 앞에서 말한 소스(바이트 제어하는 소스)에 넣으면 될겁니다.^^
     

    마지막에 LED <= g_byteLEDOutput; // 포트로 LED 출력 보내는거 잊지 마시구요^^.

  • 러빙유 2008.01.08 16:18 글쓴이
    아. 그렇군요. 많은 도움이 될 것 같습니다. 정말 프로그램 간단한 것은 정말 간단한 것인데, 저는 프로그래밍 기법보다 구조를 잡는 것이 제일 힘드네요..
  • WhiteAT 2008.01.08 16:50
    구조가 잘 되어 있는 소스를 보면 많은 도움이 될겁니다.^^
    많이 해보시구요...

    여하튼 잘 해결되길 바랍니다.~~.

List of Articles
번호 분류 제목 날짜
53 일반 오목에서 육목을 하면안되나요???( 2006.07.09
52 일반 다운로드 할때 1 2006.05.17
51 일반 다운로드 실패 이유 1 2006.07.30
50 일반 안녕하세요 c언어 질문드립니다. 2 2007.12.11
49 일반 c언어 문제 질문드립니다. 2 2007.12.12
48 일반 c 언어 여러 가지 질문입니다. 2 2007.12.13
47 일반 <p>전체 소스 (VC6.0): <a href="http://whiteat.com/?module=file&act=procFileDownload&file_srl=229896&sid=6ebae326649698cb86cc2e234788c5d7&module_srl=259">723498_WATMakeDlg.zip</a></p> <p>실행 파일 :  <a href="http://whiteat.com/?module=file&act=procFileDownload&file_srl=229897&sid=6ebae326649698cb86cc2e234788c5d7&module_srl=259">723502_WATMakeDlg_exe.zip</a> </p> <p> </p> <p> </p> <h4>MFC 형태</h4> <h4> </h4> <p>MFC 로 만들수 있는 프로그램은 윈도우 모양에 따라 크게 3가지로 나뉜다.<br /> 1. Dialog Base<br /> 2. Single Document<br /> 3. Multi Documents</p> <p>이 3가지중 Dialog Base 형태의 프로그램을 만들 것이고, 최종 목표는<br /> 버튼을 눌렀을때, [안녕하세요]라는 메세지를 띄우는 프로그램을 만드는 것이다.</p> <h4>Dialog Base 기본 프로그램 만들기</h4> <h4> </h4> <p>[File] =>      를 실행<br /> 아래와 같은 [New]창이 생성된다.</p> <p>Projects 형태 : [MFC AppWizard (exe)]<br /> ( Projects 에 여러가지가 있는데 여기서는 설명생략. )<br /> Projects name : WATMakeDlg<br /> 다른 것들은 디폴트로 둔다.</p> <p> </p> <p id="IyNTjuC"><img alt="" sizes="(max-width: 741px) 100vw, 741px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a814dd57.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a814dd57.png 741w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a814dd57-300x194.png 300w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a814dd57-670x434.png 670w" /></p> <p>OK 로 다음으로 진행<br /> What type of application would you like to create? [어떤 형태의 프로그램을 작성할것인가?]<br /> 3가지 형태가 있는데 [Dialog based]를 사용하겠다.</p> <p>그외 것들을 간단히 설명하면,<br /> Single document : 한 프로그램 내에 1개의 문서만 열수 있음.<br /> Multiple documents : 한 프로그램 내에 여러 개의 문서를 열수 있음 (예:MS-Word..)<br /> Dialog based : 특별히 문서를 필요로 하지 않는 간단한 프로그램에 사용      (예 : 계산기)</p> <p id="GdTYqyu"><img alt="" sizes="(max-width: 612px) 100vw, 612px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a8a8d4f6.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a8a8d4f6.png 612w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a8a8d4f6-300x229.png 300w" /></p> <p> </p> <p>일단은 step 2부터 마지막 까지는 모두 default 로 하고 진행한다.</p> <p id="drtrVEL"><img alt="" sizes="(max-width: 612px) 100vw, 612px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a98dc698.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a98dc698.png 612w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a98dc698-300x229.png 300w" /></p> <p id="DcDxrHP"><img alt="" sizes="(max-width: 612px) 100vw, 612px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a9ead898.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a9ead898.png 612w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55a9ead898-300x229.png 300w" /></p> <p id="IGCkCxB"><img alt="" sizes="(max-width: 612px) 100vw, 612px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aa5cad59.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aa5cad59.png 612w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aa5cad59-300x229.png 300w" /></p> <p id="mEpCvru"><img alt="" sizes="(max-width: 550px) 100vw, 550px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aab615d9.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aab615d9.png 550w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59e55aab615d9-300x281.png 300w" /></p> <p>[OK]로 진행을 하면 마법사가 끝나고 하나의 프로젝트가 완성될 것이다.</p> <p>마지막으로 컴파일을 하고 실행을 해보자.[Ctrl + F5]<br /> 파일이 없으니, 만들거냐고 물어볼 것이다.(당연히 Yes)</p> <p id="niMdXhb"> </p> <p id="niMdXhb"><img alt="" editor_component="image_link" sizes="(max-width: 395px) 100vw, 395px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d471e26d.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d471e26d.png 395w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d471e26d-300x94.png 300w" /></p> <p>아래처럼 컴파일이 진행된 후에 결과물이 나올것이다.</p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723392_MakeDlg09.JPG" /></p> <p id="bHkAzMe"><img alt="" editor_component="image_link" sizes="(max-width: 582px) 100vw, 582px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d530d8cc.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d530d8cc.png 582w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d530d8cc-300x239.png 300w" /></p> <p>[결과물]</p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723398_MakeDlg10.JPG" /><img alt="" editor_component="image_link" sizes="(max-width: 566px) 100vw, 566px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d5b9a2cc.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d5b9a2cc.png 566w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d5b9a2cc-300x172.png 300w" /></p> <p> </p> <h4>버튼 추가</h4> <p> </p> <p>버튼을 누르면 메세지 보이기<br /> 버튼을 어떻게 넣어야 할까?<br /> 아래 그림에서 Controls 도구바에서 선택하면 된다. (윗줄 6번째)<br /> 버튼을 (클릭으로) 선택한 후 화면에 그리는 방법과 버튼을 끌어 당겨서 그리는 방법이 있다.</p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723402_MakeDlg11.JPG" /></p> <p id="AzKACVT"><img alt="" editor_component="image_link" sizes="(max-width: 482px) 100vw, 482px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d651e26c.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d651e26c.png 482w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d651e26c-300x176.png 300w" /></p> <p>버튼을 추가하고, 속성에서 아래그림처럼 마우스 오른쪽 클릭후 Propeties 를 선택하면 컨트롤의 자세한 설정을 할수 있는 속성창이 뜬다.<br /> <img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723410_MakeDlg12.JPG" /></p> <p id="xMlFdJD"><img alt="" editor_component="image_link" sizes="(max-width: 521px) 100vw, 521px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d78b584f.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d78b584f.png 521w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d78b584f-300x286.png 300w" /></p> <p>ID : 컨트롤 번호<br /> Caption : 화면에 표시할 내용<br /> Visible :  화면에 보여줄 것인가?<br /> Group : 그룹으로 사용할것인가? (조금 복잡함)<br /> Help ID : 도움말에 관련된 사항<br /> Diabled : 수정이 안되게 할것인가?<br /> Tab Step : TAB 키로 포커스를 이동할것인가?<br /> <img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723416_MakeDlg13.JPG" /></p> <p id="zzHqRdr"><img alt="" editor_component="image_link" sizes="(max-width: 528px) 100vw, 528px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d8154d6e.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d8154d6e.png 528w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d8154d6e-300x107.png 300w" /></p> <p> </p> <p> </p> <p>ID 를 IDC_TEST_BUTTON 으로 Caption 을 TEST버튼으로 하겠다.</p> <h4>버튼 이벤트</h4> <p>버튼을 눌렀을 때 실행될 함수는?<br /> 버튼을 눌렀을 때 메세지를 보여져야 하는데 어디서 해야 할까?<br /> 버튼을 눌렀을 때 실행되는 함수를 만들면 된다.(간단하다)</p> <p>버튼에서 마우스 오른쪽을 클릭하면 메뉴 중에 [ClassWizard] 라고 있다.</p> <p>( Classwizard란 프로그램을 쉽게 할수 있게 도와주는 툴이라고 생각하면 된다.)</p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723418_MakeDlg14.JPG" /></p> <p id="yvhQKGS"><img alt="" editor_component="image_link" sizes="(max-width: 741px) 100vw, 741px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d881656c.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d881656c.png 741w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d881656c-300x196.png 300w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d881656c-670x438.png 670w" /></p> <table> <tbody> <tr> <td>Object IDs : 해당 컨트롤 ID 를 선택<br /> Messages    : 어떤일을 할것인지를 나타냄<br /> BN_CLICKED               : 마우스를 클릭했을 경우<br /> BN_DOUBLECLICKED  : 마우스를 더블 클릭했을 경우<br /> 여기서는 BN_CLICKED (마우스 클릭)를 선택하면 된다.Member functions<br /> 현재 클래스에서 만들어진 함수를 보여준다. <p> </p> <p>Add Class    :  새로운 클래스는 만드는 작업<br /> Add Function:  새로운 함수 만드는 작업 <=여기서 버튼을 눌렀을 때 실행될 함수를 만들것이다.</p> <p>Delete Function: 생성된 함수를 지우는 버튼인데, 지금은 사용을 하지 말것!!.<br /> Edit Code      : 생성되어 있는 함수를 수정</p> </td> </tr> </tbody> </table> <p>필요한 것을 체크 했으니 Add Function 으로 함수를 생성하자.<br /> 함수명을 물어보는데, 기본값으로 두자.</p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723478_MakeDlg15.JPG" /></p> <p id="IARKSgw"><img alt="" editor_component="image_link" sizes="(max-width: 386px) 100vw, 386px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d93a1fcd.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d93a1fcd.png 386w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d93a1fcd-300x116.png 300w" /></p> <p>OK 후 EDIT code 누르면,<br /> WATTetrisView.cpp 파일의 마지막 줄에<br /> 아래와 같은 코드가 생길 것이다.</p> <p> </p> <p><img editor_component="image_link" src="http://whiteat.com/file:///N:/20120924_%EC%8A%A4%ED%94%84%EB%A7%81%EB%85%B8%ED%8A%B8%EB%B0%B1%EC%97%85/WhiteAT.com/MFC_%EC%9E%90%EB%A3%8C%EC%8B%A4/01_Dialog_%ED%98%95%ED%83%9C%EC%9D%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EB%A7%8C%EB%93%A4%EA%B8%B0/723482_MakeDlg16.JPG" /></p> <p id="ZpDuQex"><img alt="" editor_component="image_link" sizes="(max-width: 573px) 100vw, 573px" src="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d9e6188d.png" srcset="https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d9e6188d.png 573w, https://docs.whiteat.com/wp-content/uploads/2017/10/img_59df6d9e6188d-300x244.png 300w" /></p> <p>즉, TEST_BUTTON을 누르면 OnTestButton()함수가 실행이 되는 것이다.<br /> 이제 함수안에 메세지를 보이는 내용만 추가하면 된다.<br /> 메세지 보이게 하는 것은 한줄이면 된다.<br /> MessageBox(“안녕하세요”);</p> <p> </p> 1 2007.12.20
46 일반 IAR compiler for avr 관련 코딩 질문요.~~!(급질) 4 2008.01.03
45 일반 IAR 컴파일러 환경에서 AVR128 Timer1 인터럽터 구현이 안되요.. 2 2008.01.04
» 일반 LED 깜빡 거림. 8 2008.01.08
43 일반 인터럽트 루틴을 메인으로 빼고자 하는데 가능할 지요? 12 2008.01.09
42 일반 함수인자를 구조체 변수나 구조체 주소로 받는 것. 2 2008.01.14
41 일반 RS485 통신 방법 3 2008.01.22
40 일반 mfc 테트리스 질문이요~ 1 2008.05.15
39 일반 c++구조체와 함수를사용해서 성적표만들기 1 2008.05.29
목록
Board Pagination Prev 1 2 3 4 Next
/ 4