草庐IT

GPIO-Hog

全部标签

Linux 用户空间 GPIO 中断使用 sysfs

我想在使用sysfs的用户空间上使用GPIO中断。我使用这些命令:[root@at91]:gpio109>echo109>export[root@at91]:gpio109>cdgpio109/[root@at91]:gpio109>ll-rw-r--r--1root04096Jan100:17directiondrwxr-xr-x2root00Jan100:17powerlrwxrwxrwx1root00Jan100:17subsystem->../../gpio-rw-r--r--1root04096Jan100:17uevent-rw-r--r--1root04096Jan100

Linux GPIO C API

我有一block运行3.2内核的powerpc板。使用sysfs访问gpio按预期工作,例如>echo242>/sys/class/gpio/export>cat/sys/class/gpio/gpio242/value>1没有API可以直接从用户空间访问gpio引脚吗?我必须处理基于文本的sysfs接口(interface)吗?我搜索类似的东西:gpio_set(intno,intval);谢谢克劳斯 最佳答案 编辑:不推荐使用sysfs直接访问GPIO,新方法是通过libgpiod编程sysfs是您可以在最近的内核中操作GPIO

c - Raspberry PI、GPIO 带 SYSFS 的上拉/下拉电阻

刚开始我想声明我知道Python和其他用于在RaspberryPI上操作GPIO的高级实现。我也一直在使用WiringPICAPI,并且在RaspbianJessie上遇到了我在RaspbianWheezy上没有的问题,即使我没有更改任何一行代码。此外,WiringPICAPI开发人员表示他没有立即支持RaspbianJessie的计划,所以我有点像没有桨的小溪。出于这个原因,我一直在阅读以下关于使用sysfs访问RaspberryPIGPIO的教程(以及其他教程),因为这似乎是一种在不使用WiringPI且不编写我自己的情况下解决GPIO的方法GPIO库:http://www.her

linux - 从内核模块向用户空间通知 gpio 中断

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我有一个代码可以检测内核模块中的GPIO中断。现在,我正在寻找一种机制来在检测到来自内核模块的gpio中断时通知用户空间。任何示例/代码片段与不同选项相比具有某些优势/劣势?感谢您的回复。

linux - 为什么树莓派驱动中有 `gpio_request`而不是 `request_region`?

在LDD3一书中,如果一个驱动程序想要控制CPU的管脚,它应该调用request_region()函数来声明端口的使用。然而,当我想在我的RaspberryPi上实现一个简单的驱动程序模块时,我在thisexample中找到了它。端口请求通过gpio_request()函数实现。为什么以及何时我们需要使用gpio_request()而不是request_region()?并且,这两个函数的目的有何不同。顺便说一句:我一页一页地搜索了LDD3,但我找不到关于GPIO的任何线索...为什么没有任何关于的介绍GPIO?是2.6内核版本的问题吗? 最佳答案

ruby - 使用 select 进行 GPIO 监控

我正在尝试监控一个GPIO引脚,根据Linux文档,我应该能够通过使用监控/sys/class/gpio/gpio##/value文件来做到这一点>选择:"value"...readsaseither0(low)or1(high).IftheGPIOisconfiguredasanoutput,thisvaluemaybewritten;anynonzerovalueistreatedashigh.Ifthepincanbeconfiguredasinterrupt-generatinginterruptandifithasbeenconfiguredtogenerateinterru

linux - 虚拟 GPIO 仿真

是否存在用于编程需求的虚拟GPIO驱动程序?我必须在我的LinuxPC上开发一个软件,然后在一些带有物理GPIO的嵌入式系统(C.H.I.P.、OpenWRT等等......)上试用它?谢谢! 最佳答案 该解决方案自内核4.10起作为GPIO模型驱动程序存在并可用。一些引用资料:https://github.com/torvalds/linux/blob/v4.10/tools/testing/selftests/gpio/gpio-mockup.shhttps://github.com/torvalds/linux/blob/ma

c - 如何检测 Linux 板上 GPIO 的引脚变化

我在基于ARM的Linux板(imx233CPU)上使用3.12内核。我的目的是检测GPIO的引脚变化(1到0)。我可以不断调用下面的函数读取引脚值(在while(1)循环中)intGPIO_read_value(intpin){intgpio_value=0;charpath[35]={'\0'};FILE*fp;sprintf(path,"/sys/class/gpio/gpio%d/value",pin);if((fp=fopen(path,"rb+"))==NULL){//echoin>direction//error}fscanf(fp,"%d",&gpio_value);f

c++ - 在 linux/sys/class/gpio 中写入文件的错误

我现在遇到了我在Linux系统上见过的最奇怪的错误,似乎只有两种可能的解释-要么附加sudo使文件立即写入或者附加sudo会在执行语句时产生短暂的延迟或者我不知道我的程序发生了什么好吧,让我给你一些背景知识。我目前正在编写一个用于raspberrypigpio操作的c++程序。据我所知,程序中没有明显的错误,因为它成功地与sudo一起工作并且也成功地延迟了。所以这里是rpi的gpio是如何工作的-Firstyou'vetoexportone,toreserveitformanipulation,itwillcreateanewdirectoryasgpio+numberwithseve

linux - 如何知道 Linux 中特定引脚的中断/GPIO 编号

我正在做一个项目,我需要在其中处理Linux中的中断。我使用的电路板是ARM9Board基于三星的s3c6410MCU(arm11处理器),具有以下I/O接口(interface):如图所示,我有用于外部中断的EINTx引脚和作为GPIO引脚的GPxx引脚,我不介意使用它们中的任何一个,但我没有它们的编号!对于EINTx引脚:当我打电话intrequest_irq(unsignedintirq,void(*handler)(int,structpt_regs*),unsignedlongflags,constchar*device);我需要中断号作为函数的第一个参数传递给它,那么我怎样