|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
GPIO 驱动实验教程
J- a& j& y# Q, C! }4 D0 N+ C' o( x: t2 g* e
0 n3 S; q6 U: y9 h; F9 i
8 G9 a- y* Y- _1 `第一节 GPIO 配置实例 --- 照相机的闪光灯控制% }+ Y$ }. a# r c B# z
gpio 引脚通常可以配置成输入和输出功能。作为输入功能,一般在 linux 系统里面是以中断的方式来使用;如果作为输出功能一般主要用来提供一个高低电平信号。本文主要介绍 输出功能。
3 m9 c; B5 T: W9 u' @; l8 J. I rk3128 开发板已经引出了多个 gpio,分别用于照相机的 flash 灯, 蜂鸣器,gps 供电引脚,本章主要以 GPIO2_C7(FLASH)为例子讲解,其他只要是涉及到 GPIO 的输出功能都应该大同小异。下图来源于文档 3128_sdk_a02_20170325.pdf 中第 17 页和第 19 页。! ^4 y* \& m4 k' t0 p
1 N# |* @' N# k1 q
; D; J. ~, A" ^5 d V/ T
图1
. y4 j' Q1 `1 Y9 F4 [) G( E( Y 图示绿框位置表示将要配置的 gpio 在电路图中的位置---Camera 侧1 |/ y T, T- v4 w4 L6 r& ]
& m: e/ _/ e1 ?- A
6 s2 ^" q1 C: ~* J. ?- T图2$ s/ L3 g/ o. _8 b$ ^$ \7 H
gpio 在电路图中的位置---CPU 侧
4 C3 [8 q& t* b! n8 N第二节 rk3128 开发板 gpio 在 DTS 中的配置
1 j7 m4 b, B% } rk3128 驱 动 配 置 使 用 的 是 Device Tree 的 方 式 , 所 以 在 kernel 路径 $(dir)\rk3128-source\kernel\arch\ARM\boot\dts 中 rk3128-study.dts 描述了我们整个系统的驱动配置,flash gpio 的配置如下所示:
2 W% c( |( t) C) i2 |; ?' e, D
1 o& k1 U, J8 \( V
, X: c' g( Q* |! M4 e/ r& {代码1
o! z8 h) \$ W9 Z! x$ a* _0 I( j第三节 实验步骤" v$ K' z4 g7 g. E' E3 q- O
输入命令8 o( c2 |1 v# a/ L+ ]6 x
echo 1 > /sys/class/exgpio/gpio_flash_en echo 0 > /sys/class/exgpio/gpio_flash_en
1 c# Z, l; n6 g. I' H; l第四节 实验现象
" X4 ]3 D6 x* p1 [0 a flash 灯会亮/灭
$ T5 O6 ]8 ]! A. v. R9 O
/ O* p. \0 S1 ]( V8 N" F) y3 x1 R8 E
1 o* X9 O, I3 y2 S' v, `1 m. t! F, j' T" g, @
/ E8 [0 z* g1 h, {文件下载请点击:
2、GPIO驱动实验教程.pdf
(452.78 KB, 下载次数: 0)
% N. y$ `4 d! ~# g
: E; }. c: k) q/ c( X' r5 R% |
|
|