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

📄 key.c

📁 周立功magic2200实验箱linux增补例子。包括(GPIO zlg7290 webserver adc spi signaltime等等)
💻 C
字号:
/****************************************************************************************************** GPIO input testing program.** Press KEY1, BEEP beeping and stop if released.****************************************************************************************************/#define IN_TGPIO#include "config.h"#define KEY1    20    //P0.20 connected to KEY1#define BEEP     7     //P0.7  controles BEEPvoid delayms(uint32 delay){    uint32 i;    for( ; delay>0; delay--)        for(i=0; i<5000; i++);}    int main(){    int fd;    uint32 pin = KEY1;       fd = open("/dev/P0", O_RDONLY);    if(fd == -1)    {        printf("\nCan't open P0!\n");        return -1;    }    printf("\nTest GPIO input(KEY), P0.20--KEY1\nPress KEY1, BEEP beeping and stop if released.\n");    // set IO Direction     ioctl(fd, GPIO_SET_PIN_IN, KEY1);    ioctl(fd, GPIO_SET_PIN_OUT, BEEP);         while(1)    {        pin = KEY1;        ioctl(fd, GPIO_READ_PIN, &pin);        while(pin != 0)         {// have no key ,continue read pin            ioctl(fd, GPIO_SET_PIN, BEEP);            pin = KEY1;            ioctl(fd, GPIO_READ_PIN, &pin);        }        // have key, delay        delayms(10);    // delay        // after delay, read pin again         pin = KEY1;        ioctl(fd, GPIO_READ_PIN, &pin);        while(pin == 0) // if key released,go on read pin        {// remain 0, key pressed,             ioctl(fd, GPIO_CLR_PIN, BEEP);            pin = KEY1;            ioctl(fd, GPIO_READ_PIN, &pin);        }    }//    close(fd);    return 0;}/********************************************************************************************************* **                            End Of File********************************************************************************************************/

⌨️ 快捷键说明

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