var jiathis_config = {data_track_clickback:true};
  • GPIO管脚的操作

    日期:2010-12-03 | 分类:嵌入式

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/freakrobot-logs/86716780.html

     

    用ADS编写的程序收发成功了,我想可以进行下一步内核模块的编写了。

     

    MCP2510需要挂在SPI总线上,目前我先使用GPIO拉高拉低电平来模拟SPI总线的行为。因此在编写内核模块的时候需要调用内核的API来对GPIO管脚来进行操作。

    文档在 Documentation/arm/Samsung-S3C24XX/GPIO.txt 里面

     

    1. 头文件:

    对于S3C2440的管脚在arch/arm/mach-s3c2410/include/mach/regs-gpio.h 里面有全部的定义,编程时引入#include

    对于S3C2440管脚的操作函数在arch/arm/mach-s3c2410/include/mach/hardware.h 里面有 #include

     

    2. 配置管脚

    void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function);

    s3c2410_gpio_getcfg(unsigned int pin);

    void s3c2410_gpio_pullup(unsigned int pin, unsigned int to);

     

    3. 设置管脚状态

    unsigned int s3c2410_gpio_getpin(unsigned int pin);

    void s3c2410_gpio_setpin(unsigned int pin, unsigned int to);

     

    4. 使用writel, readl,l表示long,要引入

    头文件#include

     

     

    因为GPXCON GPXDAT都是32位的,所以用writel/readl比较方便

    分享到:

评论啦