⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 button.c

📁 这是ep9302单板计算机的按键驱动源代码程序。希望大家喜欢。
💻 C
字号:
// filename button.c// connect a button to DIO pin 1 and ground// blinks green and red led on the 9302 board when button is pressed//// compile arm-linux-gcc -o button button.c//#include<unistd.h>#include<sys/types.h>#include<sys/mman.h>#include<stdio.h>#include<fcntl.h>#include<string.h>int main(int argc, char **argv){   volatile unsigned int *PEDR, *PEDDR, *PBDR, *PBDDR, *GPIOBDB;   int i;   unsigned char state;   unsigned char *start;   int fd = open("/dev/mem", O_RDWR);   start = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x80840000);   PBDR = (unsigned int *)(start + 0x04);     // port b   PBDDR = (unsigned int *)(start + 0x14);    // port b direction register   PEDR = (unsigned int *)(start + 0x20);     // port e data   PEDDR = (unsigned int *)(start + 0x24);    // port e direction register   GPIOBDB = (unsigned int *)(start + 0xC4);  // debounce on port b   *PBDDR = 0xf0;			      // upper nibble output, lower nibble input   *PEDDR = 0xff;                             // all output (just 2 bits)   *GPIOBDB = 0x01;			      // enable debounce on bit 0      state = *PBDR;                             // read initial state   while (state & 0x01) {                     // wait until button goes low      state = *PBDR;                          // remember bit 0 is pulled up with 4.7k ohm   }      // blink 5 times, sleep 1 second so it's visible   for (i = 0; i < 5; i++) {      *PEDR = 0xff;      sleep(1);      *PEDR = 0x00;      sleep(1);   }   close(fd);   return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -