Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5035] Re:제가 학교에서 80196란 것을 공부하다가 받은 과제인데요.
남병철.레조 [lezo] 1807 읽음    2005-05-04 08:45
하드웨어쪽은 편식?을 해서 잘 모르지만 --;
한번 수정해 보겠습니다...
뭔가 신호를 변경하는것 같은데... 암튼.. 어떤건지도 설명해 주셨으면.. ㅎㅎ
(시간나면 취미로 하드웨어제어 정도는 하고 싶은데... 자세한 설명과 함께 자주 질문해 주세용 ㅎㅎ
--; 전 대답 못해드릴수도 있지만; )


#pragma code /80c196kc 지정
#pragma model(kc)
#include <80c196.h>

/*8255 어드레스 선언*/
#define B_IOPPI_A       0x9800
#define B_IOPPI_B       0x9801
#define B_IOPPI_C       0x9802
#define B_IOPPI_CW   0x9803

/*포인터 선언*/
unsigned char   *IOPPI_A;
unsigned char   *IOPPI_B;
unsigned char   *IOPPI_C;
unsigned char   *IOPPI_CW;
void Delay(); //시간지연
void main(void)
{
                /*포인터 지정*/
    IOPPI_A = (unsigned char*)B_IOPPI_A;
    IOPPI_B = (unsigned char*)B_IOPPI_B;
    IOPPI_C = (unsigned char*)B_IOPPI_C;
    IOPPI_CW = (unsigned char*)B_IOPPI_CW;
    *IOPPI_CW = (unsigned char*)0x82;
    while(1)        /* 무한 반복 */
    {
        *IOPPI_A = 0xaa;
        Delay(10000);
        *IOPPI_A = 0x55;
        Delay(10000);
    }
}
void Delay(unsigned int cnt)
                 {
                  for( int i = 0; i < cnt; i++ );
                 }
}





대책없는타키씨 님이 쓰신 글 :
: #pragma code /80c196kc 지정
: #pragma model(kc)
: #include <80c196.h>
:
: /*8255 어드레스 선언*/
: #define B_IOPPI_A     (unsigned char)0x9800
: #define B_IOPPI_B     (unsigned char)0x9801
: #define B_IOPPI_C     (unsigned char)0x9802
: #define B_IOPPI_CW (unsigned char)0x9803
:
: /*포인터 선언*/
: unsigned char   *IOPPI_A;
: unsigned char   *IOPPI_B;
: unsigned char   *IOPPI_C;
: unsigned char   *IOPPI_CW;
: void Delay(); //시간지연
: void main(void)
: {
:                 /*포인터 지정*/
:     IOPPI_A = B_IOPPI_A;
:     IOPPI_B = B_IOPPI_B;
:     IOPPI_C = B_IOPPI_C;
:     IOPPI_CW = B_IOPPI_CW;
:     *IOPPI_CW = 0x82;   
:     while(1)        /* 무한 반복 */
:     {
:         *IOPPI_A = 0xaa;
:         Delay(10000);
:         *IOPPI_A = 0x55;
:         Delay(10000);
:     }
: }
: void Delay(unsigned int cnt)
:                  {
:     while(cnt++);
:                  }
: }
: -----------------------------------------------------
: 이건 원문인데요. 오류를 몇 개 찾으라고 하네요. 제가 어느 정도 수정은 했습니다.
: 주석도 달아야 하는데 몇 개 밖에 몰라서 몇 개만 달았구요.
: 나머지는 나름대로는 원본에서 수정을 했는데.... 혹시 오류난 것이 있으면 지적 좀 해주세요.
: 제가 <80c196.h>란 파일이 없다고 뜨네요..[터보 c를 돌려보니..]
: -------------------------------------------------------
: #pragma code
: #pragma model(kc)
: #include <80c196.h>
:
: #define B_IOPPI_A     (unsigned char*)0x9800
: #define B_IOPPI_B     (unsigned char*)0x9801
: #define B_IOPPI_C     (unsigned char*)0x9802
: #define B_IOPPI_CW     (unsigned char*)0x9803
:
: unsigned char   *IOPPI_A;
: unsigned char   *IOPPI_B;
: unsigned char   *IOPPI_C;
: unsigned char   *IOPPI_CW;
:
: void main(void)
: {
:     IOPPI_A = B_IOPPI_A;
:     IOPPI_B = B_IOPPI_B;
:     IOPPI_C = B_IOPPI_C;
:     IOPPI_CW = B_IOPPI_CW;
:        
:     *IOPPI_CW = 0x82;
:     while(1)    {
:         *IOPPI_A = 0xaa;
:     }
: }
: 그리고 이건 자세한 주석을 달라는 것... 위에 것과 별다른 차이가 없는 것으로 생각해요.
: unsigned char buf를 이용해서 문구를 만들라고 했는데.
: 제 생각인데.... [unsigned char]부분에 그냥 뒤에 [buf]만 대입하면 되지 않나요?

+ -

관련 글 리스트
5028 제가 학교에서 80196란 것을 공부하다가 받은 과제인데요. 대책없는타키씨 1759 2005/04/26
5035     Re:제가 학교에서 80196란 것을 공부하다가 받은 과제인데요. 남병철.레조 1807 2005/05/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.