首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
linux通过 dev mem控制GPIO高低电平
2024-11-02
Linux 下操作GPIO(两种方法,驱动和mmap)(转载)
目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据ioctl命令进行GPIO寄存器的读写,并把结果回送到应用层.这里提供一点程序片断供大家参考: int init_module(void){ printk(KERN_ALERT "ioctl load.\r\n"); register_chrdev(254,"ioreg"
Beaglebone Black–GPIO 高低电平控制 LED 灯
上一篇,运用 Linux 的 sysfs,控制本机上的 LED 灯,usr0 至 usr3,这次用 GPIO 控制外部的电路,点亮 LED 灯. 这次的全部材料: BBB 一台 购买 BBB 自带的 USB 数据线 面包板一块 470Ω 三枚(至少一枚) 白.红.黄.绿 LED 灯各一个(至少一个) 公对公杜邦线 4 条(至少两条) 面包板供电模块 3.3v (可选) 纸卡一张(可选) 万用表(可选) 点亮白灯 首先,据书上以及其他师兄建议,用面包板测试成功才拿 BBB 开刀.这次也不是什么复杂
arm下用shell控制gpio
创建脚本gpio.sh #!/bin/sh PIN=$ VALUE=$ if test -d /sys/class/gpio/gpio$PIN/ then echo $VALUE > /sys/class/gpio/gpio$PIN/value else echo $PIN > /sys/class/gpio/export echo out > /sys/class/gpio/gpio$PIN/direction echo $VALUE > /sys/class/gpio/gpio
linux下对/sys/class/gpio中的gpio的控制 (转)
在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的.其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式. 首先,看看系统中有没有“/sys/class/gpio”这个文件夹.如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —> /sys/class/gpio/… (sysfs interface). /sys/cl
Android(Linux)控制GPIO方法二
前文<Android(Linux)控制GPIO的方法及实时性分析>主要使用Linux shell命令控制GPIO,该方法可在调试过程中快速确定GPIO硬件是否有问题,即对应的GPIO是否受控.实际项目中,一般需要对GPIO做特殊控制,如车载导航系统开机就给GPS模块上电,或在daemon程序中控制GPIO给一个脉冲以Reset蓝牙模块等,就不便用shell 命令来控制,而需要另想办法. http://elinux.org/RPi_GPIO_Code_Samples#sysfs介绍了如何在C代码
Android(Linux)控制GPIO的方法及实时性分析
Linux下控制GPIO的方法有N种,详细请参考<RPi GPIO Code Samples>,文中用十多种语言演示了如何控制GPIO,非常全面详尽.因此,这里不再多做赘述,仅把调试过程中整理的脚本贴上并做简单的分析.特别说明,Linux必须有root权限!!!否则会出现/system/bin/sh: can't create /sys/class/gpio/export: Permission denied等错误. @echo off echo adb root adb root >%
[DM8168]Linux下控制GPIO控制12864液晶屏(ST7565控制器)
首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动函数: /* * fileName: st7565_driver.c * just for LCD12864 driver * GP1_14(46) -> D6(SCK) * GP1_15(47) -> D7(SDA) * GP1_27(59) -> RST * GP1_28(60) -> RS */ #include <linux/device.h> #include <linux/fs.h&g
[DM8168]Linux下控制GPIO实现LED流水灯
首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: /* * fileName: led_gpio.c * just for LED GPIO test * GP1_14 -> HDD * GP1_15 -> REC * GP1_27 -> NC * GP1_28 -> IR */ #include <linux/device.h> #include <linux/fs.h> #include <linux/module.h&g
利用mmap /dev/mem 读写Linux内存
转载:http://blog.csdn.net/zhanglei4214/article/details/6653568 使用 hexedit /dev/mem 可以显示所有物理内存中的信息. 运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作. 以下是我写的一个sample #include<stdio.h> #include<unistd.h> #include<sys/mman.h> #include<sys/types.
通过linux核映射驱动访问GPIO
1. HPS GPIO原理 1.功能方块图 linux内核是通过Linux内核memory-mapped device驱动访问GPIO控制器的寄存器而控制HPS端用户的LED和KEY的.memory-mapped device驱动允许应用程序访问系统所有外设寄存器物理地址空间,包括GPIO控制器物理地址.GPIO 控制器的行为通过器寄存器来控制.应用程序通过内存映射设备驱动访问GPIO1控制器的寄存器.工程方块图如下: 2.GPIO接口图 HPS 提供了三个通用 I/O(GPIO)接口模块. 下
linux下通过sysfs操作GPIO
linux下通过sysfs操作GPIO 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的.其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式. 首先,看看系统中有没有“/sys/class/gpio”这个文件夹.如果没有请在编译内核的时候加入 Device Drivers-> GPIO Support-> /sys/class/gpio/… (sysfs interface)./sy
4412 GPIO读 和 ioremap控制GPIO寄存器
一.配置GPIO读 在视频14的基础上做 1.利用拨码开关来实现GPIO输入 所以AP_SLEEP对应GPC0_3,然后在drivers/gpio/gpio-exynos4.c中对应EXYNOS4_GPC0(0) XEINT6→GPX0_6→EXYNOS4_GPX0(6) 读寄存器手册分析流程: 设置寄存器为输入 GPC0CON 读寄存器值 GPC0DAT 不上拉,不下拉 GPC0PUD 2.GPIO的输入需要哪些函数,从arch\arm\plat-samsung\gpio-config.c中找
EasyARM i.mx287学习笔记——通过modbus tcp控制GPIO
0 前言 本文使用freemodbus协议栈,在EasyARM i.mx287上实现了modbus tcp从机. 在该从机中定义了线圈寄存器.当中线圈寄存器地址较低的4位和EasyARM的P2.4至P2.5关联,通过modbus指令可控制GPIO的输出.本文改动自freemodbus 演示样例LINUXTCP.经过简单的改动也可用于其它Linux开发板. [相关博文] [EasyARM i.mx28学习笔记--文件IO方式操作GPIO] [EasyARM i.mx
开辟sys节点用户层直接操作物理地址(比/dev/mem方便)
在调试驱动程序时, 经常要设置主控器寄存器参数或者运行时读取寄存器值debug问题, 每次修改驱动读取寄存器值都要编译一次驱动再insmod, 十分不方便, 哪怕驱动提供一个节点 如dev/mem给应用程序读取, 还要编写应用程序open(), mmap(), read(), write() 听着都头大, 我在/sys开辟vedic目录, 里面放着各种方便debug的节点, 其中就有个可以直接操作物理地址的节点“mem”, 在用户空间直接echo操作物理地址, 包括寄存器和内存地址, 非常方
rk3128 通过串口控制 GPIO
2019-04-24 关键字: rk平台控制GPIO功能.rk串口控制引脚电平 本篇文章介绍了如何通过串口来控制 RK3128.RK3288 平台的 GPIO . 我们可以很便捷地通过串口命令来控制 RK 的 CPU 芯片的 GPIO. 首先通过串口进入到以下目录,注意要提升我们的权限到 root cd /sys/class/gpio 通常在这个目录至少能看到 export 和 unexport 两个文件,笔者的开发板这个目录有如下文件 shell@rk312x:/sys/class/gpio
/dev/mem直接操作硬件寄存器
/******************************************************************************* * /dev/mem直接操作硬件寄存器 * 说明: * 在和左栋讨论如何处理iomux的时候,可以直接通过操作/dev/mem进行iomux的pin映射. * * 2017-9-27 深圳 龙华樟坑村 曾剑锋 ****************************************************************
树莓派基于scratch2控制GPIO
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/raspberry_scratch2_gpio_control.md 感觉这方面的资料最好优先google英文的,中文博客上竟然连scratch2用的哪套GPIO的编号都找半天- 树莓派的apt仓库里有三个scratch版本,其中scratch为稳定版,scratch2和scratch3还在测试仓库,改成了基于跨平台技术electron的开发.我在树莓派3b上sc
视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯
前言 dotnet core 在3.0时代已经发展得很好. 尤其是在跨平台方面更已经是达到了很实用的阶段. 作为 dotnet 程序员, 应该对 Linux 有充分的了解, 也可以在业余时间玩玩硬件, 做个小创客 实际上网上很多教程都良莠不齐. 本人以前看各种资料的时候,都走了很多没有意义的弯路. 这次教学就是想让玩跨界的网友能在最短时间内上手. 本文配套视频地址是 https://www.bilibili.com/video/BV1Ap4y1y7Bh/ 树莓派是什么? 如图: 树莓派它首先是一
Android(Java)控制GPIO的方法及耗时分析
前面两篇分别介绍了通过脚本和C代码读写/sys/class/gpio以控制GPIO.实际项目调试时经常还需要在Java代码里控制GPIO,其实现与C代码类似,唯一不同是Android权限.本文重点介绍Android6.0权限的配置并对在Java层控制GPIO的耗时做简单分析. 以高通平台为例,权限配置主要修改HLOS/device/qcom/sepolicy/common目录下的file.te.file_contexts和system_app.te三个文件. file.te修改如下, # GPI
<实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师
linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经把自己的隐私保护的很好,漏洞总是有的,侧面的攻击往往是难以防守的.所以大家跟我一起学习一下基础的权限控制,在后面也会有更多关于权限控制的知识点分享出来.谢谢各位的关注和支持! 开班第九天: 今天的课程大纲: linux系统中文件目录的基本权限控制 如何来修改默认的生成权限 三种特殊的权限(s,s,
linux tmp75 /dev/i2c-* 获取数据 demo
/********************************************************************** * linux tmp75 /dev/i2c-* 获取数据 demo * 说明: * 之前尝试过一次用这种方式来读EEPROM,结果以失败告终,也没找到原因, * 今天定位到问题是由于I2C_SLAVE.I2C_SLAVE_FORCE导致的,之前一直尝试 * I2C_SLAVE,今天定位到问题是I2C总线忙,改成用I2C_SLAVE_FORCE就解决.
热门专题
win10 Git clone 默认位置
vs2010提示错误Cs0009
git强制merge
ueditor光标位置
vue history 子路由刷新404
maven实战 文字版
mybatis 数字条件
sql server中查看计划里面执行了哪些存储过程
am335x sd卡下载uboot
python用字典写一个三级菜单
echart 拓扑图
zbrush反转遮罩
ogg 查询sequence
plsql每次打开都要等半个多小时
sqlserver truncate table 有外键
unity backbuffer 原理
win10家庭版的密钥可以激活专业版吗
磁盘占用100% 无数据
apache 加大缓存
Android 图片重叠