logo
한국어 Select Language
FF 포럼
포럼지기에게 한 마디
공지사항
뉴스 EZ보드 통합 메뉴얼
FA-VUS 개발환경 !강추! 타켓보드 부팅-HyperTerminal 타켓보드 부팅-Tutty 타켓보드 부팅-minicom Windows환경-타겟 Linux 구동 Linux환경-타겟 Linux 구동 개발 시스템 구축 유형 페도라 설치 CentOS 설치 크로스 컴파일러 설치 TFTP 환경 구축 NFS 파일 시스템 구축 삼바 서버 구축 부트로더 부트로더 쓰기 커널 이미지 제작 및 설치 램디스크 이미지 제작 및 설치
임베디드 제품 사용기 오늘의 영어 휴게실 Appliance
강좌 & 팁
강좌 & 팁 EZ-보드 그래픽 & 멀티미디어 네트워크 프로그래밍 디바이스 드라이버 ImJa 솔루션 임베디드 FLEX 안드로이드 iOS 개발 FAIDE 하드웨어 C/C++ go언어 GNU C 레퍼런스 메뉴얼 ARM 루아 응용 프로젝트 이클립스 지그비 개발자 노트 권장도서 FPGA
VIVADO DSP HSIO Logic Zynq
함수설명
C 라이브러리 함수 커널 API 그래픽 라이브러리 - gxLib
자료실
자료실 FALINUX SDK ARM PC-V210 S3C6410
G100-S3C6410 S100-S3C6410 C221-S3C6410 N200-S3C6410 EZ-S3C6410
S5PV210
G100-S5PV210 S100-S5PV210 N200-S5PV210 C221-S5PV210
EZ-S3C2440 EZ-PXA270 EZ-X5 EZ-S2410 Auto Package
도와주세요
FAQ 도와주세요

  • 회원가입
  • ID/PW 찾기
 
  1. FAQ

  2. 도와주세요


최근 글

  • [특판][성Y인Y용Y품][...
  • 요즘 잘 나가는,,,
  • 요즘은 vmware 말고 ...
  • [docker] buildx 를 ...
  • buildroot 사용 관련
  • GPIO 제어 방법 문의 [1]
  • 임베디드 리눅스 개발...
  • make wandboard_quad ...
  • LCD 초기화 코드 좀 ... [1]
  • 임베디드 리눅스 커널...

최근 댓글

  • 오래 전에 해결법을 터득해서 ...
  • 비트 코인으로 작업하는 것은 ...
  • 10년차 임베 엔지니어 입니다. ...
  • 임베디드쪽이라면 SOC 쪽 displ...
  • 그렇군요 제가 질문이 잘못됬었...
  • 취준생으로서 포트폴리오를 만...
  • 제가 현재 취업준비생입니다. ...
  • 에프에이리눅스 보드는 아래 링...
  • 전체
  • 일반
  • X5
  • S2410
  • ESP-NS
  • S3C2440
  • EP9312
  • 구매
  • 기타

GPIO 제어가 이상하네요.ㅜ.ㅜ.

2008.07.23 02:26

GGus 조회 수:8332

음...이제 GPIO 제어좀 해보려고 했더니.... 이게 또 말썽이네요...ㅜ.ㅜ

상황을 알려드리겠습니다.

제가 8핀을 제어하기위해서...

먼저 테스트를 위해

디버깅용 GPIO2~6 과 사용할 GPIO 24~31 을 OUTPUT으로 하여 신호 확인하려고 했습니다.
그런데 문제가
GPIO2~6과 GPIO24~27은 제어가 되는데... 1~16까지 카운터 하는것 출력
GPIO28~31은 깜깜 무소식이네요.ㅜ.ㅜ.
잉..!! 어떻게 해야할까요??


중요 부분 소스만 올릴께요
1. gpio.h
2. gpio.c
3. test.c


1. gpio.h   : define 부분

// GPIO 출력
#define GPIO_LED_1  2 // GPIO2
#define GPIO_LED_2  3 // GPIO3
#define GPIO_LED_3  4 // GPIO4
#define GPIO_LED_4  5 // GPIO5

//  GGUS  //

#define IN 0
#define OUT 1


#define GPIO_OUT_0  24
#define GPIO_OUT_1  25
#define GPIO_OUT_2  26
#define GPIO_OUT_3  27
#define GPIO_SEL  28
#define GPIO_IN_0  29
#define GPIO_IN_1  30
#define GPIO_IN_2  31

#define MASK_GPIO_OUT_0  ( OUT << GPIO_OUT_0 )
#define MASK_GPIO_OUT_1  ( OUT << GPIO_OUT_1 )
#define MASK_GPIO_OUT_2  ( OUT << GPIO_OUT_2 )
#define MASK_GPIO_OUT_3  ( OUT << GPIO_OUT_3 )

#define MASK_GPIO_SEL  ( OUT << GPIO_SEL )
#define MASK_GPIO_IN_0  ( OUT << GPIO_IN_0 )
#define MASK_GPIO_IN_1  ( OUT << GPIO_IN_1 )
#define MASK_GPIO_IN_2  ( OUT << GPIO_IN_2 )


//  GPIO 24~31을 OUTPUT으로 설정함
#define GPIO_ADD_MASK  (MASK_GPIO_OUT_0|MASK_GPIO_OUT_1|MASK_GPIO_OUT_2|MASK_GPIO_OUT_3|MASK_GPIO_SEL|MASK_GPIO_IN_0|MASK_GPIO_IN_1|MASK_GPIO_IN_2)

//  GGUS  //

// GPIO 출력 마스크
#define MASK_GPIO_LED_1  ( OUT << GPIO_LED_1 )
#define MASK_GPIO_LED_2  ( OUT << GPIO_LED_2 )
#define MASK_GPIO_LED_3  ( OUT << GPIO_LED_3 )
#define MASK_GPIO_LED_4  ( OUT << GPIO_LED_4 )


#define GPIO_OUTPUT_MASK ( MASK_GPIO_LED_1 | MASK_GPIO_LED_2 | MASK_GPIO_LED_3 | MASK_GPIO_LED_4 )
#define GPIO_INPUT_MASK  ( MASK_GPIO_LED_1 | MASK_GPIO_LED_2 | MASK_GPIO_LED_3 | MASK_GPIO_LED_4 )




참고로 GPDR0를 초기화 하면서  셋팅해놓고 더이상 안건들면 되더라고요..
그래서 출력부분에서 GPDR0 셋팅부분을 주석 처리했습니다.

2. gpio.c : 출력부분
ssize_t gpio_write(struct file *filp, const unsigned long *buf, size_t count, loff_t *f_pos)
{
 const unsigned int *gpiodata = buf;
 unsigned int data1,data2=0;
 get_user( data1, gpiodata );
 get_user( data2, gpiodata+1);
 //printk("%8x\n\r",data1);
 //printk("%8x\n\r",data2);
 int type=1;

 switch(type)
 {
  case 0:
   gpio_out_clear( data1);
   break;
  case 1:
   gpio_out_set( data1);
   break;
 }// 사용된 길이만큼 돌려 준다.

 return count;
}

int gpio_out_set( unsigned int data )
{
 //GPDR0 |= (  );
 
 //GPDR0 |= ( GPIO_ADD_MASK|GPIO_OUTPUT_MASK );
 //GPSR은 출력 SET 레지스터
 //GPSR0 |= ( GPIO_ADD_MASK);
 //GPDR0 |= ( GPIO_ADD_MASK|GPIO_OUTPUT_MASK );
 int a;
 a=(GPIO_ADD_MASK|GPIO_OUTPUT_MASK);
 printk("%8x\n\r",a);
 printk("%8x\n\r",data);
 GPCR0 |= (GPIO_ADD_MASK|GPIO_OUTPUT_MASK);
 
 GPSR0 |= (data);
}

3. test.c

for( lp = 0; lp < 16; lp++ )
 {
  buff[0] = lp<<2|lp<<24|lp<<28;       // 실제 출력할 데이터
  buff[1] = lp<<10 |lp<<24;
  //buff[1] = lp+8 ;
  write( dev, buff, 2);   // LED로 출력한다.
 
왜그럴까요????

4핀만 제어 안되는 증상...확인바랍니다...

이 게시물을
  • Twitter
  • Facebook
  • Delicious
목록

댓글 3

  • GGus

    2008.07.23 02:35

    글올리고 PIN  확인했는데 문제가 있네요

    제가 PI 보드랑 같이 이용하는데

    그 GPIO가 모두 AC97 쪽으로 연결되었네요..쩝... 이거 문제라고 봐야겠네요...

    그러면 여기서 질문있습니다.. 제가 사용할수있는 범용  GPIO는 없는건가요???

    현제 PI 보드 이용하고

    PI 보드에선 AUDIO, USB 사용중입니다...

    댓글

  • 동수에요^^

    2008.07.23 02:47

    ^^

    댓글

  • 장형기

    2008.07.23 06:34

    안녕하세요..

    기본 EZ-X5 보드에서 양쪽 80Pin에 나와 있는 GPIO가 범용으로 사용가능하지만 EZ-PI보드에서 몇가지 GPIO를 사용하고 있습니다.
    EZ-PI보드에서 사용하는것과 EZ-X5 보드에서 사용하는것을 제외한 사용가능한 GPIO는 다음과 같습니다.

    1. 디버깅용으로 사용된 GP2~GP6

    2. GP0, GP1, GP10, GP11, GP16, GP17, GP19, GP23 ~ GP27. GP81 ~ GP84

    그럼 좋은 하루 되세요.

    댓글 수정 삭제

목록
번호 제목 글쓴이 날짜 조회 수
공지 포럼의 메뉴가 보이지 않아요! 장길석 2014.02.06 957662
공지 [중요 공지]제품 사용 및 기술 문의는 전화 상담을 받지 않습니다. 장길석 2012.11.09 1408552
공지 답글에 대한 공지 사항. falinux 2006.11.20 2424046
15341 [특판][성Y인Y용Y품][비아][시알][여성흥분제] 전부 1+1 vv8282.top 지금 확인해보세요~! dde33 2026.10.15 2
15340 요즘 잘 나가는,,, dde33 2026.09.12 845
15339 buildroot 사용 관련 로즈마리 2021.02.01 38166
15338 GPIO 제어 방법 문의 [1] 단순최고 2021.01.25 51084
15337 임베디드 리눅스 개발 보드 추천 nam 2019.12.06 48864
15336 make wandboard_quad 실행시 문제 gasi 2019.08.27 47085
15335 LCD 초기화 코드 좀 봐주세요 [1] 김용수 2019.07.12 63137
15334 임베디드 리눅스 커널 소스에 관해 질문드립니다 ! ekthatkxkd 2019.06.28 43728
15333 numpy,scipy 를 arm-linux-XXXX 로 크로스컴파일 하여 올릴수 있나요? 초보자 2019.06.24 49288
15332 I2C - deal with arbitration loss 오류가 궁금합니다. [1] S1eepingBeauty 2018.12.10 56771
15331 구형 EM-PXA270 보드 혹시 보유하시분 연락 주시면 감사드릴께요. file 존 2018.11.24 42753
15330 리눅스 GPIO 관련 센서의 단선 또는 고장유무 판별법이 궁금합니다. [2] S1eepingBeauty 2018.11.12 55126
15329 임베디드 리눅스에서 c 언어 디버깅 궁금합니다. [1] 존 2018.09.14 47072
15328 부팅 시간 문의 [1] nam 2018.06.29 45795
15327 localport? port? 검은고래 2018.06.29 39961
15326 fork()의 thread 멈추는 현상 [4] HwangRoy 2018.05.09 58616
15325 임베디드 리눅스 습득용 보드 판매하시나요? 임베디드초급자 2018.04.27 39719
15324 (도와주세요)네트워크 디바이스 드라이버 수정문제입니다. [1] Chanmini 2018.03.04 43601
15323 Ez x5 구합니다!! khobaik 2018.01.26 38317
15322 실행중 symbol not found 를 발생시키는 u-boot 본적 있으신가요 ? sayyouandme 2017.12.17 57349
첫 페이지 1 2 3 4 5 6 7 8 9 10 끝 페이지
쓰기
태그
부탁드립니다. ^^
  • 글을 작성하시려면 회원으로 가입하시고 로그인 하셔야 합니다.
  • 회원 가입은 주민등록번호가 필요 없으며, 메일 주소만 있으면 간단하게 가입하실 수 있습니다.
  • 본 포럼에 등록된 모든 글의 저작권은 작성하신 분께 있으며, 저작자의 허락 없이 다른 곳에 펌이나 도용하시면 안 됩니다.
  • 또한, 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 이메일 주소 및 자료 수집되는 것을 거부하며,
  • 이를 위반 시 정보통신망 법에 의해 형사 처벌됨을 유념하시기 바랍니다.
  • FF 포럼
  • 강좌 & 팁
  • 함수설명
  • 자료실
  • 도와주세요