国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
立即注冊(cè)
登錄
電子工程網(wǎng)
新聞
新品
文章
下載
視頻
工具
論壇
研討會(huì)
空間
穿prada的008的個(gè)人空間
http://www.qingdxww.cn/space-uid-108322.html
[收藏]
[復(fù)制]
[RSS]
空間首頁(yè)
博客
主題
留言板
個(gè)人資料
論壇
BBS
我的空間
好友
帖子
收藏
道具
勛章
任務(wù)
博客
【Rayeager PX2】PX2上使用GPIO口的例程
已有 1792 次閱讀
2015-7-8 17:29
|
GPIO
之前樓主在論壇中已經(jīng)分享了簡(jiǎn)單驅(qū)動(dòng)的編寫,現(xiàn)在樓主再來教剛接觸板子的新手們?nèi)绾我谜{(diào)用GPIO,不過這里樓主并沒有將GPIO口的函數(shù)封裝成庫(kù),然后在eclipse上調(diào)用,樓主這邊的例子,只是簡(jiǎn)單的用adb工具進(jìn)入板中,然后用一個(gè)測(cè)試程序使用端口,有興趣想要在安卓界面調(diào)用端口的,可以參考樓主之前寫的那編jni調(diào)用的帖子。
首先我們依舊來簡(jiǎn)單地說下步驟,
1.在/kernel/drivers下建個(gè)文件夾,自己創(chuàng)建并添加Kconfig和makefile,內(nèi)容如下,
gpio_K.png
(51.34 KB, 下載次數(shù): 0)
下載附件
5 天前
上傳
2.在該目錄下寫個(gè)gpio驅(qū)動(dòng),內(nèi)容在最后
3.返回drivers目錄,在目錄下修改Kconfig和makefile,修改內(nèi)容如下
4.進(jìn)入內(nèi)核,打開已寫好的驅(qū)動(dòng)。
驅(qū)動(dòng)內(nèi)容如下,
/***********************************************************************************
* driver for GPIO
*
**********************************************************************************/
#include <linux/miscdevice.h>
#include <linux/input.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <linux/module.h>
#include <linux/init.h>
#include <mach/gpio.h>
#include <linux/gpio.h>
#define DEVICE_NAME "rkpx2_GPIO" //定義設(shè)備名
#define RKPX2_GPIO_MAJOR 101 //定義設(shè)備號(hào)
static struct class *dev_class//定義設(shè)備結(jié)構(gòu)體
static int gpio_open(struct inode *inode, struct file *file)
{
int i
int err
i=0
err = gpio_request(RK30_PIN4_PD1, "GPIO4_D1")//申請(qǐng)端口gpio4_1,成功返回0,失敗返回負(fù)的錯(cuò)誤值
if(err)
{
printk(KERN_ERR "RK_PX2 failed to request GPIO4_D1 \n")
return err
}//若申請(qǐng)失敗,則報(bào)錯(cuò),然后推出,
err = gpio_request(RK30_PIN4_PD2, "GPIO4_D2")//申請(qǐng)端口gpio4_2,成功返回0,失敗返回負(fù)的錯(cuò)誤值
if(err)
{
printk(KERN_ERR "RK_PX2 failed to request GPIO4_D2 \n")
return err
}
err = gpio_request(RK30_PIN4_PD3, "GPIO4_D3")//申請(qǐng)端口gpio4_3,成功返回0,失敗返回負(fù)的錯(cuò)誤值
if(err)
{
printk(KERN_ERR "RK_PX2 failed to request GPIO4_D3 \n")
return err
}
err = gpio_request(RK30_PIN4_PD4, "GPIO4_D4")//申請(qǐng)端口gpio4_4,成功返回0,失敗返回負(fù)的錯(cuò)誤值
if(err)
{
printk(KERN_ERR "RK_PX2 failed to request GPIO4_D4 \n")
return err
}
printk(KERN_INFO "RK_PX2 GPIO opened 4 !\n")
gpio_direction_output(RK30_PIN4_PD1,1)//決定GPIO的方向,為輸出
gpio_direction_output(RK30_PIN4_PD2,1)
gpio_direction_output(RK30_PIN4_PD3,1)
gpio_direction_output(RK30_PIN4_PD4,1)
return 0
}
static int gpio_close(struct inode *inode, struct file *file)
{
gpio_free(RK30_PIN4_PD1)
gpio_free(RK30_PIN4_PD2)
gpio_free(RK30_PIN4_PD3)
gpio_free(RK30_PIN4_PD4) //釋放端口,
printk(KERN_INFO "RK_PX2 GPIO driver successfully close\n")
return 0
}
static int gpio_read(struct file *file, char *buffer, size_t size, loff_t *pos) //從內(nèi)核中讀取GPIO引腳的值
{
int ret
char key_buf[4]
if (gpio_get_value(RK30_PIN4_PD1)==0){
key_buf[0]=0
}else{
key_buf[0]=1
}
if (gpio_get_value(RK30_PIN4_PD2)==0){
key_buf[1]=0
}else{
key_buf[1]=1
}
if (gpio_get_value(RK30_PIN4_PD3)==0){
key_buf[2]=0
}else{
路過
雞蛋
鮮花
握手
雷人
收藏
邀請(qǐng)
舉報(bào)
全部
作者的其他最新博客
•
解決Popmetal板上I2C掛載額驅(qū)動(dòng)不正常,含陀螺儀、重力傳感器
•
RK3288開發(fā)板PopMetal上的GPIO驅(qū)動(dòng)實(shí)例
•
PX2關(guān)于Adb工具的使用
•
PX2關(guān)于Adb工具的使用
•
PX2分享Android預(yù)設(shè)桌面定制與電量圖標(biāo)修改以及版本更改
•
yeelink在PX2上的運(yùn)用(遠(yuǎn)程控制)
評(píng)論 (
0
個(gè)評(píng)論)
您需要登錄后才可以評(píng)論
登錄
|
立即注冊(cè)
評(píng)論
穿prada的008
加為好友
給我留言
打個(gè)招呼
發(fā)送消息
關(guān)于我們
-
服務(wù)條款
-
使用指南
-
站點(diǎn)地圖
-
友情鏈接
-
聯(lián)系我們
電子工程網(wǎng)
© 版權(quán)所有
京ICP備16069177號(hào)
| 京公網(wǎng)安備11010502021702
返回頂部
主站蜘蛛池模板:
手机看片日韩国产
|
亚洲人欧洲日韩
|
日本不卡一区视频
|
九月丁香十月婷婷在线观看
|
青青草国产三级精品三级
|
免费高清精品国偷自产在线
|
久草视频免费
|
绿巨人香蕉草莓丝瓜茄子番茄在线
|
五月婷婷视频
|
欧美极品在线视频
|
精品精品国产高清a毛片牛牛
|
欧美日本一区亚洲欧美一区
|
天天综合色天天综合网
|
日本在线观看中文字幕
|
午夜视频在线观看www中文
|
欧洲欧洲黄页网址免费
|
青青青青爽视频在线播放
|
日本欧美另类
|
欧美人乱大交xxxxx
|
日韩在线播放一区
|
在线精品亚洲欧洲第一页
|
亚洲va久久久久综合
|
aⅴ视频在线免播放观看
|
久久精品夜夜春
|
国产日韩欧美视频在线
|
日本免费在线视频
|
欧美精品国产日韩综合在线
|
欧美成人精品三级网站
|
噜噜噜在线
|
欧美日韩精选
|
日韩欧美一区二区三区免费观看
|
久久笫一福利免费导航
|
精品久久久久久久久久香蕉
|
麻豆国产一区
|
国产成人综合久久精品尤物
|
国产日本欧美在线观看
|
欧美人与动牲高清
|
青青草精品在线
|
奶茶视频影院播放
|
久久久久88色偷偷
|
www视频在线观看天堂
|