[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 メーリングリストの案内