[Armadillo:00761] GPIO の出力が変化しない

高田 健一 email@hidden
2005年 12月 23日 (金) 15:48:56 JST


高田です。

Armadillo-9本体のDebianにgccをインストールすることで
Armadillo上でのコンパイルができるようになりました。
森島様ありがとうございました。

現在GPIOを操作するプログラムを組んでいるのですが、ポート
の
出力が変化せず途方に暮れております。

下記がそのソースになります。最後まで実行されるのですが
CON4のGND-ピン5間の電圧が3.3Vから変化しません。
原因のわかる方がいらっしゃいましたらご教授いただけないで
しょうか?

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <limits.h>
#include <sys/mman.h>

#define MAP_SIZE  0x20
#define START_ADD 0xFF840000

struct GPIO_STRUCT
{
 unsigned int PADR;
 unsigned int PBDR;
 unsigned int PCDR;
 unsigned int PDDR;
 unsigned int PADDR;
 unsigned int PBDDR;
 unsigned int PCDDR;
 unsigned int PDDDR;
};

int main(void)
{
 int fd;
 unsigned char *madr;
 struct GPIO_STRUCT *port;

 fd = open("/dev/mem", O_RDWR);
 madr = mmap(0, MAP_SIZE, PROT_WRITE | PROT_READ,
MAP_SHARED, fd, START_ADD);
  
 port = (struct GPIO_STRUCT *)madr;
 
 port->PADDR |= 0xF0;

 // Lレベルにするテスト
 port->PADR &= 0xFFFFFF0F;

 // 入力まち
 getchar();

 // Hレベルにするテスト
 port->PADR |= 0xF0;

 munmap(madr, MAP_SIZE);
 close(fd);

 return(0);
}



--------------------------------------
STOP HIV/AIDS.
Yahoo! JAPAN Redribbon Campaign 2005
http://pr.mail.yahoo.co.jp/redribbon/



armadillo メーリングリストの案内