NODKA诺达佳ARM整机

整机项目


GPIO

<p>[TOC]</p> <h2>GPIO的使用</h2> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c1c098bbdd74a75cf3a6ffee24c55bea&amp;amp;file=file.png" alt="" /></p> <h3>1、接口定义</h3> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=716d6589bbef6ca21497f810fbaa0a6b&amp;amp;file=file.png" alt="" /></p> <h3>2、GPIO的导出</h3> <ul> <li>方式1:打开内置的APP:终端模拟器</li> <li>方式2:使用adb调试登录后台</li> <li>方式3:使用DEBUG串口调试</li> </ul> <p>gpio 的控制节点在目录:<code>/sys/class/gpio/</code></p> <p>导出节点命令:</p> <pre><code class="language-shell">//获取超级权限 console: $ su //导出单个gpio console: # echo 41 &amp;gt;/sys/class/gpio/export //使用 for 循环导出多个 IO 节点: console:cd /sys/class/gpio console:/sys/class/gpio # for i in {41,32,42,33,43,34,44,35,20,21};do echo $i &amp;gt;export;done </code></pre> <h3>3、DO测试:</h3> <p><code>开关位于NPN时</code></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=76828ed40853f07cef3c902f47c0af78&amp;amp;file=file.png" alt="" /></p> <p>①6DO的value=0时(默认),6DO与DOGND不导通</p> <p>②赋值6DO的value=1时,6DO与DOGND导通</p> <p> </p> <p><code>开关位于PNP时,源型:输出电流流向负载</code></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=1925fe18ac3125c298a327688eaa1569&amp;amp;file=file.png" alt="" /></p> <p>6DO的value=0时(默认),6DO与DOGND电压为0</p> <p>赋值6DO的value=1时,6DO与DOGND电压为+24V</p> <h3>4、DI测试</h3> <p><code>开关位于干接点时</code></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a0e427092fb7e051d43d66a1f4014a68&amp;amp;file=file.png" alt="" /></p> <p>6DI与DIGND断开时(有24V电压),6DI的value=1</p> <p>6DI与DIGND短接时,6DI的value=0</p> <p> </p> <p><code>开关位于湿接点时</code></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=6cee36616213ad32f7b6462c8204e487&amp;amp;file=file.png" alt="" /></p> <p>6DI,DIGND低电平或者无电源输入时,6DI的value=1</p> <p>6DI,DIGND高电平输入时(+24V),6DI的value=0</p> <p>注意:不可随意切换干湿接点开关,先确认好接线类型或测试手法,再确定好开关位置,最后上电</p> <h3>5、IO控制方法</h3> <ul> <li>单个节点控制,以 gpio95 为例:</li> </ul> <pre><code class="language-shell">//设置 gpio41 为输出方向: echo out &amp;gt;/sys/class/gpio/gpio41/direction //设置 gpio41 输出低电平: echo 0 &amp;gt;/sys/class/gpio/gpio41/value //设置 gpio41 输出高电平: echo 1 &amp;gt;/sys/class/gpio/gpio41/value //IO为输出方向时:使用电压表测量pin脚3(gpio41)对pin脚1的电压是否可控:低电平为0v,高电平为3.3v //设置 gpio41 为输入: echo in &amp;gt;/sys/class/gpio/gpio41/direction </code></pre> <ul> <li>多个节点控制,以 J_GPIO 上10个IO为例:</li> </ul> <pre><code class="language-shell">//进入gpio目录 cd /sys/class/gpio //导出所有节点 for i in {41,32,42,33,43,34,44,35,20,21}; do echo $i &amp;gt;export; done //设置全部io为输出 for i in {41,32,42,33,43,34,44,35,20,21}; do echo out &amp;gt;gpio$i/direction; done //全部输出高 for i in {41,32,42,33,43,34,44,35,20,21}; do echo 1 &amp;gt;gpio$i/value; done //全部输出低 for i in {41,32,42,33,43,34,44,35,20,21}; do echo 0 &amp;gt;gpio$i/value; done </code></pre>

页面列表

ITEM_HTML