本文为在用龙芯1c做3D打印机过程中的笔记。龙芯1c做的3d打印机简称“龙印”
和GPIO作为输出一样,作为输入也经常用到。比如3d打印机中需要读取行程开关的状态来判断滑车是否已经接触到限位块了,还有比如按键的状态,按键是被按下了,还是弹起了等等。
linux源码中已经封装了gpio的接口,驱动中只需调用就行。当然也可以根据1c的芯片手册自己封装或者重新实现。感兴趣的可以看看“arch\mips\loongson\ls1x\gpio.c”
不多说了,上源码
驱动源文件“ls1c_test_gpio_input.c”
/*
* drivers\misc\ls1c_test_gpio_input.c
* 把龙芯1c的GPIO设为输入,并读取io的值
*/arch\mips\loongson\ls1x
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/miscdevice.h>
#include <linux/gpio.h>
#include <linux/ls1c_3dprinter_motor.h>
#include <linux/delay.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/time.h>
#include <linux/errno.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include &l